Skip to content

Releases: dotnet/vscode-csharp

v2.123.34-prerelease

20 Feb 01:11
6066ddc

Choose a tag to compare

v2.123.34-prerelease Pre-release
Pre-release

This release also includes the unreleased changes from 2.122.x.

2.123.x

  • Improve error reporting UX when server encounters an error (PR: #8982)

  • Update Roslyn to 5.5.0-2.26117.2 (PR: #8982)

    • Improve error handling when the server hits an unrecoverable error (PR: #82376)
    • Remove deprecated IntelliCode starred-completion support from Roslyn Language Server (PR: #82411)
    • Fix GetDeconstructionInfo on converted deconstruction assignment (PR: #82324)
    • Fix crash in simplify linq expression (PR: #82392)
    • Do not suggest using with-element in pre-C# 15 (PR: #82389)
  • Collect Razor logs (PR: #8988)

  • Update Razor to 10.0.0-preview.26115.1 (PR: #9007)

    • Fix one formatting bug, and prevent another from crashing the formatter (PR: #12786)
    • Fix indentation after complete tags (PR: #12784)
    • Handle VS Code newline behaviour (PR: #12773)
    • Fix indentation following self closing tag with lambda attribute (PR: #12727)
    • Fix breakpoint placement for code blocks in the middle of documents (PR: #12741)
    • Fix: Honor html.autoClosingTags setting in VS Code Cohosting (PR: #12735)

    2.122.x

  • Use the package.json to gather all defined settings (PR: #8954)

  • Consolidate duplicate log collection sections in SUPPORT.md (PR: #8974)

  • Add crashDumpPath to settings that trigger restart prompt and standardize restart descriptions (PR: #8973)

  • Add command to collect memory and GC dumps (PR: #8966)

  • Add dotnet.server.environmentVariables setting for custom language server env vars (PR: #8967)

  • Pass the extension host process id to the Roslyn LSP on startup (PR: #8976)

  • Enable and switch to Balanced source generator execution (PR: #8970)

    • Balanced mode improves language server performance by only running source generators on explicit actions like file save, build task execution, or the csharp.rerunSourceGenerators command. This is in contrast to the previous default, Automatic, which ran source generators on every keystroke.
    • The dotnet.server.sourceGeneratorExecution option allows you to switch between Balanced and Automatic source generator execution (requires restart).
  • Update Roslyn to 5.5.0-2.26109.18 (PR: #8976)

    • Adds --clientProcessId option so server can shutdown when the parent does (PR: #82346)
    • Show both property and extension method items with identical name (PR: #82315)
    • Add LSP server support for balanced source generator execution with refresh (PR: #82330)
    • Handle change in enableFileBasedPrograms setting in the editor (PR: #82214)
    • No longer recommend 'this' inside nameof in an attribute (PR: #82299)
    • Fix workspace search always returning no results for first query (PR: #82276)
    • Improve elimination of redundant evaluations during pattern matching operation (PR: #82142)
    • Limit the FileSystemWatchers to one per drive root for DefaultFileChangeWatcher (PR: #82211)
    • Reduce allocations during analysis result creation. (PR: #82139)
    • Set isReferenceAssembly to false if we found the implementation assembly (PR: #82242)
    • Remove console title change from language server Program.cs (PR: #82229)

v2.121.32-prerelease

05 Feb 15:06
40ced30

Choose a tag to compare

v2.121.32-prerelease Pre-release
Pre-release

2.121.x

  • Use the package.json to gather all defined settings (PR: #8954)
  • Capture logs when recording a server trace (PR: #8951)
  • Log settings when capturing logs (PR: #8948)
  • Add captureLogs command which will record C# and C# LSP log activity (PR: #8942)
  • Bump Razor to 10.0.0-preview.26081.1 (PR: #8940)

v2.120.3

05 Feb 20:55
6cfd43a

Choose a tag to compare

2.120.x

  • Update Roslyn to 5.5.0-2.26080.10 (PR: #8941)
    • LSP: Tolerate non-mutating requests where we are unable to determine the language (PR: #81660)
    • Update SQLitePCLRaw to 2.1.6 and remove NETSDK1206 suppressions (PR: #82156)
    • Only report work done progress if the client supports it (PR: #82184)
    • Convert language server project into .NET tool (PR: #82154)
    • Add more details to stale project update warning (PR: #82053)
    • Cleanup server capabilities providers and delete unused LSP providers (PR: #82116)
    • Reduce allocations in LSP completion handling. (PR: #82133)
  • Update xamlTools to 18.4.11427.62 (PR: #8929)
    • Implicit XML namespaces for MAUI feature (PR: AzDO#698019)
    • Fix MAUI TAP initialization issue and improve logging (PR: AzDO#702593)

v2.114.6-prerelease

05 Feb 20:53
cb27c1e

Choose a tag to compare

v2.114.6-prerelease Pre-release
Pre-release

2.114.x

  • Adjust Select Project Context editor menu item location (PR: #8907)
  • Replace vsts-npm-auth with ado-npm-auth in documentation and scripts (PR: #8906)
  • Clarify vsts-npm-auth only required when adding new packages (PR: #8850)
  • Update Razor to 10.0.0-preview.26075.11 (PR: #8914)
    • Add IndentByTwo attribute indent style option for Razor formatting (PR: #12700)
    • Fix ordering logic for folding ranges, to fix expression bodied method folding (PR: #12695)
  • Update Roslyn to 5.4.0-2.26076.6 (PR: #8921)
    • [EnC] Use default encoding stored in the PDB for creating committed document SourceText (PR: #81912)
    • Fix setting checksum algorithm when mapping projects (PR: #82051)
    • Fix race in AbstractFormatEngine.GetChainedFormattingRules (PR: #82079)
    • Fix crash when seeing if code can be converted to collection expressions (PR: #82104)
    • feat: foreach completion (PR: #81850)
    • Use document structure in breadcrumbs, sticky scroll, and outline in VSCode (PR: #81993)
    • Keep comments when converting coalesce expressions (PR: #82062)
    • Adds an analyzer/fixer to inform the user when the compiler silently inserts a fallible explicit cast. (PR: #82039)
    • Don't offer "Use coalesce expression" when if-statement contains directives (PR: #82041)
    • Fix detection of embedded c# code (PR: #82033)
    • Fix issue with 'remove unnecessary suppression' and field/property initializers (PR: #81899)
    • Extensions: RemovedUnusedMembers should analyze symbol usages within extension blocks too (PR: #81996)
    • Don't offer 'use ??' when pointers are involved (PR: #81988)
    • Add 'find references' support for collection-expression-builder methods. (PR: #81770)
    • Support inference in collection expressions (PR: #77534)

v2.113.22-prerelease

22 Jan 03:39
7daced9

Choose a tag to compare

v2.113.22-prerelease Pre-release
Pre-release

2.113.x

  • Add explorer context menu item for changing project context (PR: #8896)
  • Small fixes for project context selector (PR: #8889)
  • Update Razor to 10.0.0-preview.26066.2 (PR: #8894)
    • Ignore case when parsing enum values in settings in VS Code (PR: #12667)

v2.112.45-prerelease

21 Jan 17:48
ab3a21f

Choose a tag to compare

v2.112.45-prerelease Pre-release
Pre-release

2.112.x

  • Add project context refresh support (PR: #8876)
  • Add ability to select a document's project context (PR: #7328)
  • Fix TFM detection for .NET 10+ to enable launch.json generation (PR: #8873)
  • Fix JavaScript highlighting in Razor files after C# control structures without braces (PR: #8865)
  • Update Razor to 10.0.0-preview.26059.2 (PR: #8877)
    • Encode double slash as underscore slash in hint names (PR: #12597)
    • Navigate to a Razor file when GTD/FAR/GTI is run in C# on the class name (PR: #12580)
    • Fix rename of components in the global namespace (PR: #12577)
    • Return a document symbol representing the "Render" method for a Razor file (PR: #12568)
    • Filter our html diagnostics when a tag helper attribute spans multiple lines (PR: #12654)
    • Handle Html indentation ourselves, rather than using the IDE formatter (PR: #12623)
    • Add new option to control attribute indent style (PR: #12625)
    • Fix formatting with adjacent C# templates (PR: #12636)
    • Emit the start of multiline implicit expressions the same as explicit. (PR: #12624)
    • Rename a .razor file when Roslyn renames the component type name (PR: #12606)
    • Rename component tags and type references when a Razor file is renamed (PR: #12561)
    • Handle conflict markers (PR: #12642)
    • Fix cross project span and edit mapping (PR: #12614)
  • Update Roslyn to 5.4.0-2.26062.9 (PR: #7328)
    • Add a notification handler for project context changed. (PR: #81942)
    • Ensure IDE does not use .editorconfig for source generated files (PR: #81911)
    • Send a key across identifying contents of the project context list (PR: #81940)
    • Include Enc diagnostics in Razor requests (PR: #81941)
    • Fix completions after attribute list in lambdas (PR: #81961)
    • Add ProjectContext refresh queue (PR: #81938)
    • Add back async fixers (PR: #81835)
    • Fix crash in convert-if-to-switch (PR: #81724)
    • Add code-folding/structure-guides/sticky-scroll support for extension blocks (PR: #81667)
    • Improve go-to-def in situations where compiler returns multiple candidates. (PR: #81583)
    • Add willRenameFiles support, and an abstraction for extenders to implement (PR: #81549)
    • Support // lang=c# along with // lang=c#-test (PR: #81558)

v2.111.2-prerelease

11 Dec 22:43
24814e2

Choose a tag to compare

v2.111.2-prerelease Pre-release
Pre-release

2.111.x

  • Update extension to run on .NET 10 (PR: #8839)
  • Update Roslyn to 5.3.0-2.25604.5 (PR: #8839)
    • Build our libraries against net10.0 (PR: #81545)
    • Update Roslyn LSP server to .net10 (PR: #81508)
    • Fix InvalidCastException in ConvertForToForEach with tuples (PR: #81531)
  • Update Razor to 10.0.0-preview.25608.3 (PR: #8844)
    • Update C# code when Razor components are renamed (PR: #12534)
    • Ensure formatting can't change string literal contents (PR: #12556)

v2.110.4

11 Dec 03:12
b6088e9

Choose a tag to compare

2.110.x

  • See 2.103.x for full list of changes.

v2.103.33-prerelease

04 Dec 00:56
c9050aa

Choose a tag to compare

v2.103.33-prerelease Pre-release
Pre-release

2.103.x

  • include roslyn event source configs in profiling command (PR: #8808)
  • Revise SUPPORT.md for clarity on sharing information (PR: #8807)
  • Fix indentation after pressing Enter in Razor files (PR: #8809)
  • Remove non-cohosting editor code (PR: #8810)
  • Bump Razor to 10.0.0-preview.25577.1 (PR: #8820)
    • Explicitly handle switch expressions in parser (PR: #12500)
    • Bring back Go to Def, FAR and hover for components via Roslyn (PR: #12501)
    • Don't add newlines at the start of implicit expressions in on type formatting (PR: #12489)
    • Add the RazorCSharp keywords to completion (PR: #12522)
    • Remove non-cohost bits from C# extension (PR: #12518)
  • Update Roslyn to 5.3.0-2.25571.4 (PR: #8813)
    • Fix typing of 'else' causing unwanted indentation of following statement (PR: #81393)
    • Show semantic errors for loose files with top-level statements (PR: #81326)
    • Simplify and fix fading options. (PR: #81346)
    • Colorization for array, pointer, and function pointer type aliases followup (PR: #81363)
    • Fix: Support compound assignments in "Use null propagation" analyzer (PR: #81328)
    • Fix IDE0032: Code fixer adds setter for static properties with instance constructor writes (PR: #81327)
    • Add 'add extension completion' support for modern extensions. (PR: #81239)
  • Add second opt-out flag for file-based programs (PR: #8823)
  • Update Roslyn to 5.3.0-2.25603.1 (PR: #8823)
    • Improve error message for misplaced variable designator in property patterns (PR: #81287)
    • Add EnableFileBasedProgramsWhenAmbiguous flag (PR: #81513)
    • Include extension properties in object initializer completion (PR: #81498)
    • Fix IDE0048 to trigger consistently for is null and is not null in coalesce expressions (PR: #81489)
    • Do not offer to add a using namespace on an alias qualified name. (PR: #81487)
    • Add code refactoring to offer usings for fully qualified names (PR: #81484)
    • Fix RemoveUnusedMembers handling of default parameter reads (PR: #80810)
    • Fix exception in InlineMethodRefactoringProvider for recursive calls (PR: #81469)
    • Fix issue where we weren't offering snippets inline after an expression (PR: #81466)
    • Follow user naming preferences when generating type snippets (PR: #81465)
    • Fix 'use var' with forr/for snippets (PR: #81464)
    • Map edits in LSP rename, like in VS (PR: #81450)
    • Remove more unused bits of Razor EA (PR: #81452)
    • Fix for-snippet not simplifying (PR: #81461)
    • Fix duplicate parameter names in introduce parameter refactoring (PR: #81404)
    • Fade out portion of linq expression that can be simplified (PR: #81419)
    • Improve LSP conformance in MS.CA.LanguageServer (PR: #81174)
    • Improve 'else' indentation in a couple more cases (PR: #81411)

v2.102.30-prerelease

19 Nov 22:15
a4c5841

Choose a tag to compare

v2.102.30-prerelease Pre-release
Pre-release

2.102.x

  • Update Roslyn to 5.3.0-2.25568.9 (PR: #8799)
    • Handle automatic restores on directly on the server (PR: #81233)
    • Only treat a file with directives as an FBP (PR: #81307)
    • Document excerpt for Razor, and fix Find All Refs (PR: #81291)
    • Filter IntelliSense attribute suggestions by AttributeTargets (PR: #81157)
    • Fix IDE0055: Enforce import directive grouping when groups are contiguous, regardless of sorting (PR: #81202)
    • Fix indentation of if statement after else on separate line (PR: #81178)
  • Automatically reload extension when workspace is trusted (PR: #8794)
  • Update to new language client with range semantic tokens refresh (PR: #8783)
  • Bump Razor to 10.0.0-preview.25564.2 (PR: #8790)
    • Revert "Map component start tags to C#, for better GTD, FAR, Hover, etc. (#12287) (PR: #12486)
    • Rename code-behind and scoped CSS file when renaming component (PR: #12480)
    • Better handle parameter attribute directive completion (PR: #12473)