Something about IntelliSense has changed in the 2.0.320 release on 2023-08-02 and it's resulting in wrong behaviours of IntelliSense. Formatting seems to have some issues, and I'm getting some warnings that I don't think I should be getting. What happened? What can I do about this?
1 Answers
The changelog entry for version 2.0.320 states:
We are switching to the new Roslyn language server as the default. We recognize that this version doesn’t have full parity with the OmniSharp version. If you need one of these features before we can get to it, you can switch back to OmniSharp by following these instructions.
Those linked instructions read:
If you don’t want to take advantage of the great Language Server features, you can revert back to using OmniSharp by going to the Extension settings and setting
dotnet.server.useOmnisharp
to true. Next, uninstall or disable C# Dev Kit. Finally, restart VS Code for this to take effect.
At the time of this writing, the description of that setting reads:
Switches to use the Omnisharp server for language features when enabled (requires restart). This option will not be honored with C# Dev Kit installed.
So you can either do that, or wait for wait for feature parity and bug fixes to roll in. The last other option would be to rollback to a prior version of the extension (see VS Code - how to rollback extension/install specific extension version).
You can find a list of known issues in the 2.0.320 release at https://github.com/dotnet/vscode-csharp/blob/main/CHANGELOG.md#known-issues-in-20320, which at the time of this writing reads:
- Diagnostics related feature requests and improvements #5951
- [O# Parity] FixAll support for code fixes and refactorings #5735
- [O# Parity] Nuget restore #5725
- [O# Parity] Support loading non-solution based projects/files #5722
- [O# Parity] Out of proc design time builds / legacy csproj support #5721
- [O# Parity] Run and debug tests in context #5719
- Debug from .csproj and .sln #5876
- ProcessFrameworkReferences task failed unexpectedly #5980
Some other related historical changes: The GitHub repo was moved from OmniSharp/omnisharp-vscode
to dotnet/vscode-csharp
. See also An update on the LSP-powered, Visual Studio Code C# Extension #5708, which describes related changes in more detail.

- 20,030
- 7
- 43
- 238
-
2The actual answer is that Microsoft's VS Code C# extension abandoned the open-source OmniSharp project, replacing it with its own closed source extension. There was [quite a bit of uproar](https://visualstudiomagazine.com/articles/2022/06/16/csharp-vs-code-tool.aspx) about this 1 year ago. OmniSharp can be used by any editor, including Sublime or Emacs and is out of MS control. – Panagiotis Kanavos Aug 07 '23 at 09:38