Releases: dotnet/vscode-csharp
v1.23.0
- Fix typo in supressBuildAssetsNotification setting name (#3941, PR: #3942)
- Introduced a new
/quickinfoendpoint to provide a richer set of information compared to/typeinfo. Consumers are encouraged to use it as their hover provider (omnisharp-roslyn#1808, PR: omnisharp-roslyn#1860 - Added support for Roslyn
EmbeddedLanguageCompletionProviderwhich enables completions for string literals forDateTimeandRegex(omnisharp-roslyn#1871) - Improve performance of the
textDocument/codeActionrequest. (PR: omnisharp-roslyn#1814) - Provide a warning when the discovered MSBuild version is lower than the minimumMSBuildVersion supported by the configured SDK (PR: omnisharp-roslyn#1875)
- Use the real MSBuild product version during discovery (PR: omnisharp-roslyn#1876)
- Fixed debugging in .NET 5 preview SDKs (#3459, PR: omnisharp-roslyn#1862)
- Move omnisharp vscode to the new hover implementation (#3928)
- Ignore screen size is bogus errors with ps (#3580, PR: #3961)
- Fix all providers support (PR: #3440, PR: omnisharp-roslyn#1581)
- Fix MSBuild version mismatch with new SDKs (omnisharp-vscode#3951, PR: #1883)
Note about using .NET Core 3.1.401 or .NET 5 Preview 8 SDKs on Mono platforms
Because of the new minimum MSBuild version requirement of these new SDKs, it will be necessary to use the Mono packaged with the C# extension. You can set "omnisharp.useGlobalMono" to "never" in the VS Code settings to force the use of the included Mono.
v1.23.0-beta2
v1.23.0-beta1
- Fix typo in supressBuildAssetsNotification setting name (#3941, PR: #3942)
- Introduced a new
/quickinfoendpoint to provide a richer set of information compared to/typeinfo. Consumers are encouraged to use it as their hover provider (omnisharp-roslyn#1808, PR: omnisharp-roslyn#1860 - Added support for Roslyn
EmbeddedLanguageCompletionProviderwhich enables completions for string literals forDateTimeandRegex(omnisharp-roslyn#1871) - Improve performance of the
textDocument/codeActionrequest. (PR: omnisharp-roslyn#1814) - Provide a warning when the discovered MSBuild version is lower than the minimumMSBuildVersion supported by the configured SDK (PR: omnisharp-roslyn#1875)
- Use the real MSBuild product version during discovery (PR: omnisharp-roslyn#1876)
- Fixed debugging in .NET 5 preview SDKs (#3459, PR: omnisharp-roslyn#1862)
v1.22.2
- Updated Razor support
- Improved Semantic Highlighting support by fixing some scenarios which might lead to thrown exceptions and incorrect results. dotnet/aspnetcore-tooling#2126
- Fixed support in the case of projects with spaces in path. aspnetcore#23336
- Various performance improvements.
@injectcompletion aspnetcore#22886- Improved behavior in cases where directory is not available. dotnet/aspnetcore-tooling#2008
- Added the
Extract to CodeBehindlight bulb code action. dotnet/aspnetcore-tooling#2039
- Use global MSBuild property when resetting target framework (omnisharp-roslyn/#1738, PR: omnisharp-roslyn/#1846)
- Do not use Visual Studio MSBuild if it doesn't have .NET SDK resolver (omnisharp-roslyn/#1842, omnisharp-roslyn/#1730, PR: omnisharp-roslyn/#1845)
- Only request dotnet info once for the solution or directory (omnisharp-roslyn/#1844, PR: omnisharp-roslyn/#1857)
- Allow client to specify symbol filter for FindSymbols Endpoint. (PR: omnisharp-roslyn/#1823)
- Upgraded to Mono 6.10.0.105, msbuild 16.6 and added missing targets (PR: omnisharp-roslyn/#1854)
- Make "Run/debug tests in context" position a link (#3915)
- Update browser launch regex to support non-default logging frameworks (#3842)
v1.22.1
- Added LSP handler for
textDocument/codeActionrequest. (PR: omnisharp-roslyn/#1795) - Expose a custom LSP
omnisharp/client/findReferencescommand via code lens (meant to be handled by LSP client). (PR: #omnisharp-roslyn/1807) - Added
DirectoryDeleteoption toFileChangeTypeallowing clients to report deleted directories that need to be removed (along all the files) from the workspace (PR: #3829, PR: omnisharp-roslyn/#1821) - Do not crash when plugin assembly cannot be loaded (omnisharp-roslyn/#1307, PR: omnisharp-roslyn/#1827)
- Update browser launch regex to support non-default logging frameworks (#3842)
- Improved support for Codespaces
v1.22.0
If you enable our semantic highlighting support then, be sure to try out our new Visual Studio 2019 Light and Dark themes. TypeScript looks great in it too!
NOTE: For semantic highlighting ensure that editor.semanticHighlighting.enabled and csharp.semanticHighlighting.enabled are set to true.
Changes
- Add setting for enabling go to decompilation (PR: #3774)
- Add experimental Semantic Highlighter
csharp.semanticHighlighting.enabled(#3565, PR: #3667 - Add commands for Run and Debug Tests in Context (PR: #3772, PR: omnisharp-roslyn/#1782)
- Do not add references CodeLens to Dispose methods (#3243, PR: #3780)
- Add Visual Studio 2019 themes with semantic colors (PR: #3790)
- Added support for
WarningsAsErrorsin csproj files (PR: omnisharp-roslyn/#1779) - Added support for
WarningsNotAsErrorsin csproj files (omnisharp-roslyn/#1681, PR: #1784) - Improved MSBuild scoring system (omnisharp-roslyn/#1783, PR: omnisharp-roslyn/#1797)
- Updated OmniSharp.Extensions.LanguageServer to
0.14.2to fix synchronisation (PR: omnisharp-roslyn/#1791) - Add test discovery and NoBuild option to test requests (PR: omnisharp-roslyn/#1719)
- Updated Razor support
- Enable Semantic Highlighting for Razor TagHelpers and Blazor components (aspnetcore#21713)
- Directive and TagHelper Attribute Completions are now committed contextually with
=,:andcommit characters. (aspnetcore#21485) - Removed TagHelper attribute completion snippet support as we felt the typing experience was superior without it.
- Add support for Blazor WebAssembly-specific debug adapter (dotnet/aspnetcore-tooling#1885)
v1.21.19-beta3
If you enable our semantic highlighting support then, be sure to try out our new Visual Studio 2019 Light and Dark themes. TypeScript looks great in it too!
Known issues
- Experimental Semantic Highlighter does not support razor files (.cshtml or .razor)
Changes in Beta 3
- Do not add references CodeLens to Dispose methods (#3243, PR: #3780)
- Add Visual Studio 2019 themes with semantic colors (PR: #3790)
- Added support for
WarningsAsErrorsin csproj files (PR: omnisharp-roslyn/#1779) - Added support for
WarningsNotAsErrorsin csproj files (omnisharp-roslyn/#1681, PR: #1784) - Improved MSBuild scoring system (omnisharp-roslyn/#1783, PR: omnisharp-roslyn/#1797)
Changes in Beta 2
- Add commands for Run and Debug Tests in Context (PR: #3772, PR: omnisharp-roslyn/#1782)
Changes in Beta 1
- Add setting for enabling go to decompilation
omnisharp.enableDecompilationSupport(PR: #3774) - Add experimental Semantic Highlighter
csharp.semanticHighlighting.enabled(#3565, PR: #3667
NOTE: Both settings are defaulted to false. For semantic highlighting ensure that editor.semanticHighlighting.enabled and csharp.semanticHighlighting.enabled are set to true.
v1.21.19-beta2
Known issues
- Experimental Semantic Highlighter does not support razor files (.cshtml or .razor)
Changes in Beta 2
- Add commands for Run and Debug Tests in Context (PR: #3772, PR: omnisharp-roslyn/#1782)
NOTE: These new commands require the latest builds of OmniSharp. You must set "omnisharp.path": "latest" in your settings.json. When 1.21.19 ships it will include a compatible version of OmniSharp.
Changes in Beta 1
- Add setting for enabling go to decompilation
omnisharp.enableDecompilationSupport(PR: #3774) - Add experimental Semantic Highlighter
csharp.semanticHighlighting.enabled(#3565, PR: #3667
NOTE: Both settings are defaulted to false. For semantic highlighting ensure that editor.semanticHighlighting.enabled is also set to true.
Below are some suggested theme tweaks for Semantic Classification if you are used to Visual Studio 2019 enhanced colors and are using the Dark+ or Light+ themes.
VS2019 theme tweaks:
"editor.tokenColorCustomizations": {
"[Default Dark+]": {
"textMateRules": [
{
"scope": "support.other.excluded",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "keyword.preprocessor",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "punctuation",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.namespace",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.variable.field",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "variable.other.property",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "variable.other.constant",
"settings": {
"foreground": "#D4D4D4",
}
},
{
"scope": "variable.other.enummember",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.type.interface",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.enum",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.parameter",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.struct",
"settings": {
"foreground": "#86C691",
}
},
{
"scope": "entity.name.function.extension",
"settings": {
"foreground": "#DCDCAA",
}
},
{
"scope": "comment.documentation",
"settings": {
"foreground": "#608B4E",
}
},
{
"scope": "comment.documentation.attribute",
"settings": {
"foreground": "#C8C8C8",
}
},
{
"scope": "comment.documentation.cdata",
"settings": {
"foreground": "#E9D585",
}
},
{
"scope": "comment.documentation.delimiter",
"settings": {
"foreground": "#808080",
}
},
{
"scope": "comment.documentation.name",
"settings": {
"foreground": "#569CD6",
}
},
{
"scope": "comment.regex",
"settings": {
"foreground": "#57A64A",
}
},
{
"scope": "constant.character.character-class.regexp",
"settings": {
"foreground": "#2EABFE",
}
},
{
"scope": "keyword.control.anchor.regexp",
"settings": {
"foreground": "#F979AE",
}
},
{
"scope": "keyword.operator.quantifier.regexp",
"settings": {
"foreground": "#F979AE",
}
},
{
"scope": "punctuation.definition.group.regexp",
"settings": {
"foreground": "#05C3BA",
}
},
{
"scope": "keyword.operator.or.regexp",
"settings": {
"foreground": "#05C3BA",
}
},
{
"scope": "string.regexp",
"settings": {
"foreground": "#D69D85",
}
},
{
"scope": "constant.character.escape.regexp",
"settings": {
"foreground": "#D69D85",
}
},
{
"scope": "constant.other.escape.regexp",
"settings": {
"foreground": "#FFD68F",
}
},
]
},
"[Default Light+]": {
"textMateRules": [
{
"scope": "support.other.excluded",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "keyword.preprocessor",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "punctuation",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.namespace",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.variable.field",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "variable.other.property",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "variable.other.constant",
"settings": {
"foreground": "#222222",
}
},
{
"scope": "variable.other.enummember",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.type.interface",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.enum",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.parameter",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.struct",
"settings": {
"foreground": "#267f99",
}
},
{
"scope": "entity.name.function.extension",
"settings": {
"foreground": "#795E26",
}
},
{
"scope": "comment.documentation",
"settings": {
"foreground": "#008000",
}
},
{
"scope": "comment.documentatio...v1.21.19-beta1
Known issues
- Experimental Semantic Highlighter does not support razor files (.cshtml or .razor)
Changes
- Add setting for enabling go to decompilation
omnisharp.enableDecompilationSupport(PR: #3774) - Add experimental Semantic Highlighter
csharp.semanticHighlighting.enabled(#3565, PR: #3667
Both settings are defaulted to false.
For semantic highlighting ensure that editor.semanticHighlighting.enabled is also set to true.
Below are some suggested theme tweaks for Semantic Classification if you are used to Visual Studio 2019 enhanced colors and are using the Dark+ or Light+ themes.
VS2019 theme tweaks:
"editor.tokenColorCustomizations": {
"[Default Dark+]": {
"textMateRules": [
{
"scope": "support.other.excluded",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "keyword.preprocessor",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "punctuation",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.namespace",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.variable.field",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "variable.other.property",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "variable.other.constant",
"settings": {
"foreground": "#D4D4D4",
}
},
{
"scope": "variable.other.enummember",
"settings": {
"foreground": "#D4D4D4"
}
},
{
"scope": "entity.name.type.interface",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.enum",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.parameter",
"settings": {
"foreground": "#b8d7a3"
}
},
{
"scope": "entity.name.type.struct",
"settings": {
"foreground": "#86C691",
}
},
{
"scope": "entity.name.function.extension",
"settings": {
"foreground": "#DCDCAA",
}
},
{
"scope": "comment.documentation",
"settings": {
"foreground": "#608B4E",
}
},
{
"scope": "comment.documentation.attribute",
"settings": {
"foreground": "#C8C8C8",
}
},
{
"scope": "comment.documentation.cdata",
"settings": {
"foreground": "#E9D585",
}
},
{
"scope": "comment.documentation.delimiter",
"settings": {
"foreground": "#808080",
}
},
{
"scope": "comment.documentation.name",
"settings": {
"foreground": "#569CD6",
}
},
{
"scope": "comment.regex",
"settings": {
"foreground": "#57A64A",
}
},
{
"scope": "constant.character.character-class.regexp",
"settings": {
"foreground": "#2EABFE",
}
},
{
"scope": "keyword.control.anchor.regexp",
"settings": {
"foreground": "#F979AE",
}
},
{
"scope": "keyword.operator.quantifier.regexp",
"settings": {
"foreground": "#F979AE",
}
},
{
"scope": "punctuation.definition.group.regexp",
"settings": {
"foreground": "#05C3BA",
}
},
{
"scope": "keyword.operator.or.regexp",
"settings": {
"foreground": "#05C3BA",
}
},
{
"scope": "string.regexp",
"settings": {
"foreground": "#D69D85",
}
},
{
"scope": "constant.character.escape.regexp",
"settings": {
"foreground": "#D69D85",
}
},
{
"scope": "constant.other.escape.regexp",
"settings": {
"foreground": "#FFD68F",
}
},
]
},
"[Default Light+]": {
"textMateRules": [
{
"scope": "support.other.excluded",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "keyword.preprocessor",
"settings": {
"foreground": "#808080"
}
},
{
"scope": "punctuation",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.namespace",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.variable.field",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "variable.other.property",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "variable.other.constant",
"settings": {
"foreground": "#222222",
}
},
{
"scope": "variable.other.enummember",
"settings": {
"foreground": "#222222"
}
},
{
"scope": "entity.name.type.interface",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.enum",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.parameter",
"settings": {
"foreground": "#267f99"
}
},
{
"scope": "entity.name.type.struct",
"settings": {
"foreground": "#267f99",
}
},
{
"scope": "entity.name.function.extension",
"settings": {
"foreground": "#795E26",
}
},
{
"scope": "comment.documentation",
"settings": {
"foreground": "#008000",
}
},
{
"scope": "comment.documentation.attribute",
"settings": {
"foreground": "#282828",
}
},
{
"scope": "comment.documentation.cdata",
"settings": {
"foreground": "#808080",
}
},
{
"scope": "comment.documentation.delimiter",
"setti...v1.21.18
- Fadeout unused variable names (#1324, PR: #3733)
- Updated debugger (PR: #3729)
- Fixed not supported exception when trying to decompile a BCL assembly on Mono. For now we do not try to resolve implementation assembly from a ref assembly (PR: omnisharp-roslyn/#1767)
- Added support for generic classes in test runner (#3722, PR: omnisharp-roslyn/#1768)
- Improved autocompletion performance (PR: omnisharp-roslyn/#1761)
- Move to Roslyn's .editorconfig support (omnisharp-roslyn/#1657, PR: omnisharp-roslyn/#1771)
- Fully update CompilationOptions when project files change (PR: omnisharp-roslyn/#1774)