Autocompletion doesn’t work for foreach arguments. Interesting… Is that a known issue? My VSCode sees them as Object apparently. Only gets Equals(), GetHashCode(), etc.
VSCode doesn’t seem to handle the ecs stuff as elegantly as Rider does right now. I use VSCode on my laptop just because running unity + rider bogs it down so much.
@5argon already posted that. It’s omnisharp problem. Rider works fine
Is there anything that can be done about it? (Without switching from VSCode)
Because of this problem I am evaluating Rider now, though I have been with VSCode for many years so this is a hard decision.
I have my evaluation until middle of January to decide for real. Until then I am documenting comparison with VSCode here : Visual Studio Code vs Rider for Unity
Thanks. That’s impressively thorough, a summary would be great when you’re done.
I installed Visual Studio bundled with Unity. It works, but I already miss VS Code.
P.S.
I just wrote multiple paragraphs ranting about how bad fuzzy search is in Visual Studio while testing it, until I realized that it doesn’t have one… Only first letters in CamelCase.
Rider doesn’t have it (EDIT: Fuzzy search) as well, right?
Fuzzy search much better in Rider than in VS
In Rider they call it CamelHumps https://www.jetbrains.com/help/rider/Navigation_and_Search__CamelHumps.html
Alright. So I gutted Visual Studio, it looks fine (I’m really into minimalism). I don’t need any features that are not for typing fast, looking good, and seeing code. I’ll miss multiple cursors with Ctrl+D. But VS also has some advantages like Rider it is linked to Unity, triggers compilation, can automatically rename classes.
It would be best if Unity can look into this. I evaluated Rider but don’t see myself using it over vscode.
It does work with older versions of the c# addon. I don’t know when it broke, but using Version 1.21.5 right now and now it autocompletes again.
@Wobbers I installed to 1.21.5 and restarted vscode, but code completion inside lambda still doesn’t work for me. =( Everything outside the lambda works fine.
Anyone else having success with an older version of C# extension for vscode?
Damn, that’s good news. I installed 1.21.5 and it works now.
Make sure you give it enough time to download dependencies. Check the output console.
EDIT: 1.21.7 works as well. 1.21.8 is where it broke (25 days ago)
Please submit a report to C# plugin devs, it doesn’t let me post there for some reason.
Probably there’s something else going on in my existing project. New project works fine now with 1.21.7.
I created a bug report for omnisharp here: Code completion no longer work for Unity's JobComponentSystem.Entities.ForEach · Issue #3469 · dotnet/vscode-csharp · GitHub
I have to include the Unity steps in there as I don’t know how to reproduce the issue in a pure C# context. If anyone know how to reproduce it without involving Unity libs, please let me know. It’ll be easier for non-Unity folk to work with.
So that’s why I remembered it was working fine sometimes ago… I will try to make a repro dotnet project and add to the issue.
Bravo! Thanks for nailing this one.