Skip to content

Releases: dotnet/vscode-csharp

v1.23.0

14 Aug 16:17
0b80418

Choose a tag to compare

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

11 Aug 05:05
069d82e

Choose a tag to compare

v1.23.0-beta2 Pre-release
Pre-release
  • All the changes from beta1
  • Move omnisharp vscode to the new hover implementation (#3928)
  • Ignore screen size is bogus errors with ps (#3580, PR: #3961)

v1.23.0-beta1

10 Aug 23:24
45b80c6

Choose a tag to compare

v1.23.0-beta1 Pre-release
Pre-release
  • Fix typo in supressBuildAssetsNotification setting name (#3941, PR: #3942)
  • Introduced a new /quickinfo endpoint 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 EmbeddedLanguageCompletionProvider which enables completions for string literals for DateTime and Regex (omnisharp-roslyn#1871)
  • Improve performance of the textDocument/codeAction request. (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

29 Jul 20:47
ea1d3fd

Choose a tag to compare

v1.22.1

14 Jun 17:46
13bd1ea

Choose a tag to compare

  • Added LSP handler for textDocument/codeAction request. (PR: omnisharp-roslyn/#1795)
  • Expose a custom LSP omnisharp/client/findReferences command via code lens (meant to be handled by LSP client). (PR: #omnisharp-roslyn/1807)
  • Added DirectoryDelete option to FileChangeType allowing 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

27 May 01:54
3c9b95d

Choose a tag to compare

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

v1.21.19-beta3

21 May 05:50
3d39264

Choose a tag to compare

v1.21.19-beta3 Pre-release
Pre-release

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

Changes in Beta 2

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

13 May 18:10
74cb376

Choose a tag to compare

v1.21.19-beta2 Pre-release
Pre-release

Known issues

  • Experimental Semantic Highlighter does not support razor files (.cshtml or .razor)

Changes in Beta 2

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...
Read more

v1.21.19-beta1

11 May 21:24

Choose a tag to compare

v1.21.19-beta1 Pre-release
Pre-release

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...
Read more

v1.21.18

05 May 02:08
552fd18

Choose a tag to compare