From e6a59c0292d9821ac48e00b2148e5ba1ec38d7c4 Mon Sep 17 00:00:00 2001 From: Marcin Pachur <37148802+pm4rcin@users.noreply.github.com> Date: Thu, 7 Apr 2022 16:06:29 +0200 Subject: [PATCH 1/3] Delete omnisharp.useGlobalMono setting from README. --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index a8e146b4a..3d27f9292 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,6 @@ To use the .NET 6 build, set `omnisharp.useModernNet` to `true` in your VS Code The .NET 3.1.4xx SDKs require version 16.7 of MSBuild. -For MacOS and Linux users who have Mono installed, this means you will need to set `omnisharp.useGlobalMono` to `never` until a version of Mono ships with MSBuild 16.7. - You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. ### Note about using .NET 5 SDKs @@ -42,8 +40,6 @@ The .NET 5 SDK requires version 16.8 of MSBuild. For Windows users who have Visual Studio installed, this means you will need to be on the latest Visual Studio 16.8 Preview. -For MacOS and Linux users who have Mono installed, this means you will need to set `omnisharp.useGlobalMono` to `never` until a version of Mono ships with MSBuild 16.8. - You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. ### Note about using .NET 6 SDKs @@ -52,8 +48,6 @@ The .NET 6 SDK requires version 16.10 of MSBuild. For Windows users who have Visual Studio installed, this means you will need to have Visual Studio 16.11 or newer installed. -For MacOS and Linux users who have Mono installed, this means you will need to set `omnisharp.useGlobalMono` to `never` until a version of Mono ships with MSBuild 16.10. - You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. ### What's new in 1.24.2 From 8938448ad0bb19944e30ddfadbc72b79bfaaa713 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Thu, 19 May 2022 21:49:40 -0700 Subject: [PATCH 2/3] Update OmniSharp to 1.39.0 --- .vscode/launch.json | 10 +- CHANGELOG.md | 34 ++++- README.md | 28 +++++ package-lock.json | 2 +- package.json | 173 +++++++++++++++++--------- src/observers/OptionChangeObserver.ts | 3 + src/omnisharp/options.ts | 10 ++ src/omnisharp/server.ts | 12 ++ src/platform.ts | 53 +++++--- tasks/offlinePackagingTasks.ts | 2 + test/unitTests/Fakes/FakeOptions.ts | 3 + 11 files changed, 237 insertions(+), 93 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 648c92151..3809b1a3d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,7 +9,6 @@ "args": [ "--extensionDevelopmentPath=${workspaceRoot}" ], - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/dist/*.js" @@ -52,7 +51,6 @@ "CODE_EXTENSIONS_PATH": "${workspaceRoot}", "OSVC_SUITE": "featureTests" }, - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/out/test/**/*.js" @@ -77,7 +75,6 @@ "CODE_EXTENSIONS_PATH": "${workspaceRoot}", "OSVC_SUITE": "singleCsproj" }, - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/dist/*.js" @@ -121,7 +118,6 @@ "CODE_EXTENSIONS_PATH": "${workspaceRoot}", "OSVC_SUITE": "slnWithCsproj" }, - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/dist/*.js" @@ -146,7 +142,6 @@ "CODE_EXTENSIONS_PATH": "${workspaceRoot}", "OSVC_SUITE": "slnFilterWithCsproj" }, - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/dist/*.js" @@ -171,7 +166,6 @@ "CODE_EXTENSIONS_PATH": "${workspaceRoot}", "OSVC_SUITE": "slnWithGenerator" }, - "stopOnEntry": false, "sourceMaps": true, "outFiles": [ "${workspaceRoot}/dist/*.js" @@ -188,8 +182,8 @@ "updatePackageDependencies" ], "env": { - "NEW_DEPS_URLS": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x64-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x86-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-arm64-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x64-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x86-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-arm64-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x64-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-arm64-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-x64-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-arm64-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x64-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x86-net6.0-1.38.2.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-arm64-net6.0-1.38.2.zip", - "NEW_DEPS_VERSION": "1.38.2" + "NEW_DEPS_URLS": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x64-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x86-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-arm64-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x64-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x86-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-arm64-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-musl-x64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-musl-arm64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-arm64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-x64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-arm64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x64-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x86-net6.0-1.39.0.zip,https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-arm64-net6.0-1.39.0.zip", + "NEW_DEPS_VERSION": "1.39.0" }, "cwd": "${workspaceFolder}" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 585898837..ae606aa98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -## Known Issues in 1.24.4 +## Known Issues in 1.25.0 -* For Mono-based development (e.g. Unity) that requires full .NET framework, you need to set `"omnisharp.useGlobalMono": "always"`. The current value of "auto" will remain "never" until Mono [upgrades their bundled MSBuild version](https://github.com/mono/mono/issues/20250). +* For Mono-based development (e.g. Unity) that requires full .NET framework, you need to set `"omnisharp.useModernNet": false`. * After selecting a solution filter (*.slnf) from the project selector, the solution's name will be displayed in the status bar instead of the filter's. * Known limitations with the preview Razor (cshtml) language service to be addressed in a future release: * Not all platforms ship with the Razor LSP, such as Linux arm64. @@ -12,7 +12,35 @@ * Renaming symbol fails within a file that had recently been renamed without saving changes. * As a workaround, make an edit within the file before using Rename Symbol. -## 1.24.4 +## 1.25.0 +* Make SDK build of OmniSharp the default ([#5120](https://github.com/OmniSharp/omnisharp-vscode/issues/5120), PR: [#5176](https://github.com/OmniSharp/omnisharp-vscode/pull/5176)) +* Add auto complete name to class, interface, enum, struct etc. snippets (PR: [#5198](https://github.com/OmniSharp/omnisharp-vscode/pull/5198)) +* Add a fallback for ps in remoteProcessPickerScript ([#4096](https://github.com/OmniSharp/omnisharp-vscode/issues/4096), PR: [#5207](https://github.com/OmniSharp/omnisharp-vscode/pull/5207)) +* Clear nullability warnings in server/omnisharp.ts (PR: [#5199](https://github.com/OmniSharp/omnisharp-vscode/pull/5199)) +* Fix nullability for autoStart preferredPath (PR: [#5192](https://github.com/OmniSharp/omnisharp-vscode/pull/5192)) +* coreclr debug configuration should support input variables for envFile ([#5102](https://github.com/OmniSharp/omnisharp-vscode/issues/5102), PR: [#5189](https://github.com/OmniSharp/omnisharp-vscode/pull/5189)) +* Fix small spelling mistake (PR: [#5215](https://github.com/OmniSharp/omnisharp-vscode/pull/5215)) +* Low-hanging nullable fruit (PR: [#5186](https://github.com/OmniSharp/omnisharp-vscode/pull/5186)) +* Fix .net6 OmniSharp acquisition on Linux arm64 (PR: [#5172](https://github.com/OmniSharp/omnisharp-vscode/pull/5172)) +* Remove project.json reference in debugger.md (PR: [#5210](https://github.com/OmniSharp/omnisharp-vscode/pull/5210)) +* Update debugger to 1.24.5 (PR: [#5211](https://github.com/OmniSharp/omnisharp-vscode/pull/5211)) + * Fixes [#5083](https://github.com/OmniSharp/omnisharp-vscode/issues/5083) +* Update OmniSharp to 1.39.0 (PR: [#5219](https://github.com/OmniSharp/omnisharp-vscode/pull/5219)) + * Update Roslyn to 4.3.0-2.22267.5 (PR: [omnisharp-roslyn#2401](https://github.com/OmniSharp/omnisharp-roslyn/pull/2401)) + * Fixed run script for Mono ([#5181](https://github.com/OmniSharp/omnisharp-vscode/issues/5181), [#5179](https://github.com/OmniSharp/omnisharp-vscode/issues/5179), PR: [omnisharp-roslyn##2398](https://github.com/OmniSharp/omnisharp-roslyn/pull/2398)) + * Fall back to /usr/lib/os-release if /etc/os-release doesn't exist (PR: [omnisharp-roslyn##2380](https://github.com/OmniSharp/omnisharp-roslyn/pull/2380)) + * Added support for linux-musl-x64 and linux-musl-arm64 ([omnisharp-roslyn##2366](https://github.com/OmniSharp/omnisharp-roslyn/issues/2366), PR: [omnisharp-roslyn##2395](https://github.com/OmniSharp/omnisharp-roslyn/pull/2395)) + * Enable GoToDefinition for symbols in metadata documents ([#4818](https://github.com/OmniSharp/omnisharp-vscode/issues/4818), PR: [omnisharp-roslyn##2390](https://github.com/OmniSharp/omnisharp-roslyn/pull/2390)) + * Use human readable doc in lsp's signature help ([omnisharp-roslyn##2372](https://github.com/OmniSharp/omnisharp-roslyn/issues/2372), PR: [omnisharp-roslyn##2392](https://github.com/OmniSharp/omnisharp-roslyn/pull/2392)) + * Add TextEdits support to InlayHints (PR: [omnisharp-roslyn##2385](https://github.com/OmniSharp/omnisharp-roslyn/pull/2385)) + * Fix Equals of AutoCompleteResponse and simplify some code (PR: [omnisharp-roslyn##2362](https://github.com/OmniSharp/omnisharp-roslyn/pull/2362)) + * Support O# running on .NET 7 SDKs (PR: [omnisharp-roslyn##2377](https://github.com/OmniSharp/omnisharp-roslyn/pull/2377)) + * Provide constructor accepting hostServices (PR: [omnisharp-roslyn##2373](https://github.com/OmniSharp/omnisharp-roslyn/pull/2373)) + * Typo fix ([omnisharp-roslyn##2374](https://github.com/OmniSharp/omnisharp-roslyn/pull/2374)) + * Update to latest .NET SDKs (PR: [omnisharp-roslyn##2378](https://github.com/OmniSharp/omnisharp-roslyn/pull/2378)) + * Remove MSBuild and Mono from release packages ([omnisharp-roslyn##2339](https://github.com/OmniSharp/omnisharp-roslyn/issues/2339), PR: [omnisharp-roslyn##2360](https://github.com/OmniSharp/omnisharp-roslyn/pull/2360)) + +## 1.24.4 (Apr 11th, 2022) * Remove inlayHints from diff view (PR: [#5151](https://github.com/OmniSharp/omnisharp-vscode/pull/5151)) * Quote arguments containing spaces when launching OmniSharp ([#5150](https://github.com/OmniSharp/omnisharp-vscode/issues/5150), PR: [#5154](https://github.com/OmniSharp/omnisharp-vscode/pull/5154)) diff --git a/README.md b/README.md index 40f00ce67..3a0d89604 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,34 @@ For MacOS and Linux users who have Mono installed, this means you will need to s You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. +## What's new in 1.25.0 +* Make SDK build of OmniSharp the default ([#5120](https://github.com/OmniSharp/omnisharp-vscode/issues/5120), PR: [#5176](https://github.com/OmniSharp/omnisharp-vscode/pull/5176)) +* Add auto complete name to class, interface, enum, struct etc. snippets (PR: [#5198](https://github.com/OmniSharp/omnisharp-vscode/pull/5198)) +* Add a fallback for ps in remoteProcessPickerScript ([#4096](https://github.com/OmniSharp/omnisharp-vscode/issues/4096), PR: [#5207](https://github.com/OmniSharp/omnisharp-vscode/pull/5207)) +* Clear nullability warnings in server/omnisharp.ts (PR: [#5199](https://github.com/OmniSharp/omnisharp-vscode/pull/5199)) +* Fix nullability for autoStart preferredPath (PR: [#5192](https://github.com/OmniSharp/omnisharp-vscode/pull/5192)) +* coreclr debug configuration should support input variables for envFile ([#5102](https://github.com/OmniSharp/omnisharp-vscode/issues/5102), PR: [#5189](https://github.com/OmniSharp/omnisharp-vscode/pull/5189)) +* Fix small spelling mistake (PR: [#5215](https://github.com/OmniSharp/omnisharp-vscode/pull/5215)) +* Low-hanging nullable fruit (PR: [#5186](https://github.com/OmniSharp/omnisharp-vscode/pull/5186)) +* Fix .net6 OmniSharp acquisition on Linux arm64 (PR: [#5172](https://github.com/OmniSharp/omnisharp-vscode/pull/5172)) +* Remove project.json reference in debugger.md (PR: [#5210](https://github.com/OmniSharp/omnisharp-vscode/pull/5210)) +* Update debugger to 1.24.5 (PR: [#5211](https://github.com/OmniSharp/omnisharp-vscode/pull/5211)) + * Fixes [#5083](https://github.com/OmniSharp/omnisharp-vscode/issues/5083) +* Update OmniSharp to 1.39.0 (PR: [#5219](https://github.com/OmniSharp/omnisharp-vscode/pull/5219)) + * Update Roslyn to 4.3.0-2.22267.5 (PR: [omnisharp-roslyn#2401](https://github.com/OmniSharp/omnisharp-roslyn/pull/2401)) + * Fixed run script for Mono ([#5181](https://github.com/OmniSharp/omnisharp-vscode/issues/5181), [#5179](https://github.com/OmniSharp/omnisharp-vscode/issues/5179), PR: [omnisharp-roslyn##2398](https://github.com/OmniSharp/omnisharp-roslyn/pull/2398)) + * Fall back to /usr/lib/os-release if /etc/os-release doesn't exist (PR: [omnisharp-roslyn##2380](https://github.com/OmniSharp/omnisharp-roslyn/pull/2380)) + * Added support for linux-musl-x64 and linux-musl-arm64 ([omnisharp-roslyn##2366](https://github.com/OmniSharp/omnisharp-roslyn/issues/2366), PR: [omnisharp-roslyn##2395](https://github.com/OmniSharp/omnisharp-roslyn/pull/2395)) + * Enable GoToDefinition for symbols in metadata documents ([#4818](https://github.com/OmniSharp/omnisharp-vscode/issues/4818), PR: [omnisharp-roslyn##2390](https://github.com/OmniSharp/omnisharp-roslyn/pull/2390)) + * Use human readable doc in lsp's signature help ([omnisharp-roslyn##2372](https://github.com/OmniSharp/omnisharp-roslyn/issues/2372), PR: [omnisharp-roslyn##2392](https://github.com/OmniSharp/omnisharp-roslyn/pull/2392)) + * Add TextEdits support to InlayHints (PR: [omnisharp-roslyn##2385](https://github.com/OmniSharp/omnisharp-roslyn/pull/2385)) + * Fix Equals of AutoCompleteResponse and simplify some code (PR: [omnisharp-roslyn##2362](https://github.com/OmniSharp/omnisharp-roslyn/pull/2362)) + * Support O# running on .NET 7 SDKs (PR: [omnisharp-roslyn##2377](https://github.com/OmniSharp/omnisharp-roslyn/pull/2377)) + * Provide constructor accepting hostServices (PR: [omnisharp-roslyn##2373](https://github.com/OmniSharp/omnisharp-roslyn/pull/2373)) + * Typo fix ([omnisharp-roslyn##2374](https://github.com/OmniSharp/omnisharp-roslyn/pull/2374)) + * Update to latest .NET SDKs (PR: [omnisharp-roslyn##2378](https://github.com/OmniSharp/omnisharp-roslyn/pull/2378)) + * Remove MSBuild and Mono from release packages ([omnisharp-roslyn##2339](https://github.com/OmniSharp/omnisharp-roslyn/issues/2339), PR: [omnisharp-roslyn##2360](https://github.com/OmniSharp/omnisharp-roslyn/pull/2360)) + ## What's new in 1.24.4 * Remove inlayHints from diff view (PR: [#5151](https://github.com/OmniSharp/omnisharp-vscode/pull/5151)) * Quote arguments containing spaces when launching OmniSharp ([#5150](https://github.com/OmniSharp/omnisharp-vscode/issues/5150), PR: [#5154](https://github.com/OmniSharp/omnisharp-vscode/pull/5154)) diff --git a/package-lock.json b/package-lock.json index 2c708ca95..c86a00699 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "csharp", - "version": "1.24.5", + "version": "1.25.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 3629f0c27..7d90922d9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "csharp", "publisher": "ms-dotnettools", - "version": "1.24.5", + "version": "1.25.0", "description": "C# for Visual Studio Code (powered by OmniSharp).", "displayName": "C#", "author": "Microsoft Corporation", @@ -35,7 +35,7 @@ } }, "defaults": { - "omniSharp": "1.38.2", + "omniSharp": "1.39.0", "razor": "6.0.0-preview.5.21358.6" }, "main": "./dist/extension", @@ -129,104 +129,104 @@ { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 4.7.2 / x86)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x86-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x86-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "win32" ], "architectures": [ "x86" ], - "installTestPath": "./.omnisharp/1.38.2/OmniSharp.exe", + "installTestPath": "./.omnisharp/1.39.0/OmniSharp.exe", "platformId": "win-x86", "isFramework": true, - "integrity": "B2E414B2A7155B2A484DB182B69223B0AEF9EB1F8E1CB6155C6C5E9D07A78CF8" + "integrity": "11B6D742CAFC416F204338926CA59812BA8A7F24B1AF50D366A91502A8898CFE" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 6 / x86)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x86-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x86-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "win32" ], "architectures": [ "x86" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "win-x86", "isFramework": false, - "integrity": "EAA8D28669049E68E458CC7224C2B9069F575CEA51B8B36D4F4D51C7532D0419" + "integrity": "46175E9DFE469875883FFD9B592833AB953E5C57737FCFA0867F24C8FE08CC7A" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 4.7.2 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x64-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x64-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "win32" ], "architectures": [ "x86_64" ], - "installTestPath": "./.omnisharp/1.38.2/OmniSharp.exe", + "installTestPath": "./.omnisharp/1.39.0/OmniSharp.exe", "platformId": "win-x64", "isFramework": true, - "integrity": "1F94980CA0FAB7B6AE17195FBB9FC0A677EA4BB96A376CF68B32A0D59650522D" + "integrity": "28B7D3B88CA2FA8AEB90F7277CC32BFBEF4085B28F78CC6FB441BBAB4401F0D5" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-x64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-x64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "win32" ], "architectures": [ "x86_64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "win-x64", "isFramework": false, - "integrity": "88B82CC9D7D1E8757F3DE457833FE29BACCEA35EE16C8790513BF0129316ECC4" + "integrity": "6ADDC11D92937F2300B83B7C880BC9EB474AEB8AAE21D95D06D6E4C103E99277" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 4.7.2 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-arm64-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-arm64-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "win32" ], "architectures": [ "arm64" ], - "installTestPath": "./.omnisharp/1.38.2/OmniSharp.exe", + "installTestPath": "./.omnisharp/1.39.0/OmniSharp.exe", "platformId": "win-arm64", "isFramework": true, - "integrity": "ECA2B07CBAEACF1D1E755ECCAF57459F0DD36A30C176251D18146440A0852E9B" + "integrity": "030D645DC7E53369D096A49969BB693C3CE16AD79ECD9CC38BBA322341302719" }, { "id": "OmniSharp", "description": "OmniSharp for Windows (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-win-arm64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-win-arm64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "win32" ], "architectures": [ "arm64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "win-arm64", "isFramework": false, - "integrity": "ACAEA0B0EDD5ABDC23196AC7C4C928005C6FF97D829CA96515842C87C30C27AE" + "integrity": "78AF6CEA4DA8E515F06720A79F216BAC39F9E12E3BD511A8DA27C82CB08E305D" }, { "id": "OmniSharp", "description": "OmniSharp for OSX (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "darwin" ], @@ -234,48 +234,48 @@ "./mono.osx", "./run" ], - "installTestPath": "./.omnisharp/1.38.2/run", + "installTestPath": "./.omnisharp/1.39.0/run", "platformId": "osx", "isFramework": true, - "integrity": "9C934684359FC1488803075B549D9B57F8E41129B61C344DA7CF202C4918FEB6" + "integrity": "F22124FB0A150979DA121C03B404CC5D97C20ADABBFA1B40B1E2004CA09B0562" }, { "id": "OmniSharp", "description": "OmniSharp for OSX (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-x64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-x64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "darwin" ], "architectures": [ "x86_64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "osx-x64", "isFramework": false, - "integrity": "F32B94A4601E532C7380AEBE9498B20793EDC538671BFF516C2EED4CBAE84DAF" + "integrity": "1B291E632FE007BF746AD595549A692917A36DC22FB2031810E1898AB05A843D" }, { "id": "OmniSharp", "description": "OmniSharp for OSX (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-osx-arm64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-osx-arm64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "darwin" ], "architectures": [ "arm64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "osx-arm64", "isFramework": false, - "integrity": "58BA4910DFE978B5D873BAA062123C0FEDEB2E89A685F22825355C54E9BF7D90" + "integrity": "D31EF1985BE2B98D54B4AAD918DAEA64EE8E1847E9D49375BFCAA2F9F3AFDC56" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (Mono / x86)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x86-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x86-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "linux" ], @@ -287,16 +287,16 @@ "./mono.linux-x86", "./run" ], - "installTestPath": "./.omnisharp/1.38.2/run", + "installTestPath": "./.omnisharp/1.39.0/run", "platformId": "linux-x86", "isFramework": true, - "integrity": "3F230B3C6DB0D48B5E4D51C45BB52F6B568AD1CC8CEEA7D50128123C17A77CD1" + "integrity": "1A5CDA93CE5ECDE29B3CCF66EC78C1046993FD2D7EA4C445BB57377DCA637DFC" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (Mono / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x64-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x64-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "linux" ], @@ -307,32 +307,32 @@ "./mono.linux-x86_64", "./run" ], - "installTestPath": "./.omnisharp/1.38.2/run", + "installTestPath": "./.omnisharp/1.39.0/run", "platformId": "linux-x64", "isFramework": true, - "integrity": "F29A5E1E2A8EAAED8DF8AD37F838453986B8650E453EFCE56506AD8CC132EBE1" + "integrity": "929C5810507BF8C580B60C252D289EBE343729CC7E0CBB9B6DC629CFD1EF4F7D" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (.NET 6 / x64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-x64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-x64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "linux" ], "architectures": [ "x86_64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "linux-x64", "isFramework": false, - "integrity": "1F778F40FB54C4B11CB6CDFAB30266DAF2F327133685576BC8BD9D6EF2439C1F" + "integrity": "18B2C915DCCF36D981679DDCF4376D93D8610C0731E780E77D8C0FF065C9631E" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (Framework / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-arm64-1.38.2.zip", - "installPath": ".omnisharp/1.38.2", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-arm64-1.39.0.zip", + "installPath": ".omnisharp/1.39.0", "platforms": [ "linux" ], @@ -343,26 +343,58 @@ "./mono.linux-arm64", "./run" ], - "installTestPath": "./.omnisharp/1.38.2/run", + "installTestPath": "./.omnisharp/1.39.0/run", "platformId": "linux-arm64", "isFramework": true, - "integrity": "156D92F6C9F8381BCEE2C6C77F92C4B79C5E33AC6E7F7F61935FABD75F7AAFBD" + "integrity": "F36520159401CBC4B8E3EDC9A90777E7A9201715F77A1414145457C5F7D82878" }, { "id": "OmniSharp", "description": "OmniSharp for Linux (.NET 6 / arm64)", - "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.38.2/omnisharp-linux-arm64-net6.0-1.38.2.zip", - "installPath": ".omnisharp/1.38.2-net6.0", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-arm64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", "platforms": [ "linux" ], "architectures": [ "arm64" ], - "installTestPath": "./.omnisharp/1.38.2-net6.0/OmniSharp.dll", + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", "platformId": "linux-arm64", "isFramework": false, - "integrity": "28AB43CC4BDD3FFE805E44A723A80235E8150E055056E44A0D772AD7BECAB045" + "integrity": "24E22A77DA869D528AEE9481CFE724EA8F02C11D63B68F9B080851A25509356D" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / x64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-musl-x64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "x86_64" + ], + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", + "platformId": "alpine-x64", + "isFramework": false, + "integrity": "F723910A50F448584CB4C479CBD88C6F385BE8F088B70A941E4F7A2732EC92A8" + }, + { + "id": "OmniSharp", + "description": "OmniSharp for Linux musl (.NET 6 / arm64)", + "url": "https://roslynomnisharp.blob.core.windows.net/releases/1.39.0/omnisharp-linux-musl-arm64-net6.0-1.39.0.zip", + "installPath": ".omnisharp/1.39.0-net6.0", + "platforms": [ + "linux-musl" + ], + "architectures": [ + "arm64" + ], + "installTestPath": "./.omnisharp/1.39.0-net6.0/OmniSharp.dll", + "platformId": "alpine-arm64", + "isFramework": false, + "integrity": "CB7596A3610EFCBAFF48882F937C66144C47D3632AE284810F47F5859A12C934" }, { "id": "Debugger", @@ -453,7 +485,8 @@ "url": "https://vsdebugger.azureedge.net/coreclr-debug-1-24-5/coreclr-debug-linux-arm64.zip", "installPath": ".debugger", "platforms": [ - "linux" + "linux", + "linux-musl" ], "architectures": [ "arm64" @@ -471,7 +504,8 @@ "url": "https://vsdebugger.azureedge.net/coreclr-debug-1-24-5/coreclr-debug-linux-x64.zip", "installPath": ".debugger", "platforms": [ - "linux" + "linux", + "linux-musl" ], "architectures": [ "x86_64" @@ -514,7 +548,8 @@ "url": "https://download.visualstudio.microsoft.com/download/pr/b8678010-2cd7-4201-a5e7-ba57920607d5/b846e9c7d7afdba54a72fae1dcb6c42c/razorlanguageserver-linux-x64-6.0.0-preview.5.21358.6.zip", "installPath": ".razor", "platforms": [ - "linux" + "linux", + "linux-musl" ], "architectures": [ "x86_64" @@ -926,6 +961,22 @@ "title": "Use .NET 6 build of OmniSharp", "description": "Use OmniSharp build for .NET 6. This version _does not_ support non-SDK-style .NET Framework projects, including Unity. SDK-style Framework, .NET Core, and .NET 5+ projects should see significant performance improvements." }, + "omnisharp.sdkPath": { + "type": "string", + "scope": "window", + "description": "Specifies the path to a .NET SDK installation to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: \"/home/username/dotnet/sdks/6.0.300\"." + }, + "omnisharp.sdkVersion": { + "type": "string", + "scope": "window", + "description": "Specifies the version of the .NET SDK to use for project loading instead of the highest version installed. Applies when \"useModernNet\" is set to true. Example: \"6.0.300\"." + }, + "omnisharp.sdkIncludePrereleases": { + "type": "boolean", + "scope": "window", + "default": true, + "description": "Specifies whether to include preview versions of the .NET SDK when determining which version to use for project loading. Applies when \"useModernNet\" is set to true." + }, "omnisharp.monoPath": { "type": "string", "scope": "machine", diff --git a/src/observers/OptionChangeObserver.ts b/src/observers/OptionChangeObserver.ts index 9b7caa118..3d86af458 100644 --- a/src/observers/OptionChangeObserver.ts +++ b/src/observers/OptionChangeObserver.ts @@ -23,6 +23,9 @@ const omniSharpOptions: ReadonlyArray = [ "organizeImportsOnFormat", "enableAsyncCompletion", "useModernNet", + "sdkPath", + "sdkVersion", + "sdkIncludePrereleases", "analyzeOpenDocumentsOnly", "enableRoslynAnalyzers", "inlayHintsEnableForParameters", diff --git a/src/omnisharp/options.ts b/src/omnisharp/options.ts index 06cf0e478..6204896c9 100644 --- a/src/omnisharp/options.ts +++ b/src/omnisharp/options.ts @@ -47,6 +47,9 @@ export class Options { public inlayHintsForImplicitVariableTypes: boolean, public inlayHintsForLambdaParameterTypes: boolean, public inlayHintsForImplicitObjectCreation: boolean, + public sdkPath: string, + public sdkVersion: string, + public sdkIncludePrereleases: boolean, public razorPluginPath: string, public defaultLaunchSolution: string, public monoPath: string, @@ -69,6 +72,10 @@ export class Options { const path = Options.readPathOption(csharpConfig, omnisharpConfig); const useModernNet = omnisharpConfig.get("useModernNet", true); + const sdkPath = omnisharpConfig.get('sdkPath', ''); + const sdkVersion = omnisharpConfig.get('sdkVersion', ''); + const sdkIncludePrereleases = omnisharpConfig.get('sdkIncludePrereleases', true); + // VS Code coerces unset string settings to the empty string. // Thus, to avoid dealing with the empty string AND undefined, // explicitly pass in the empty string as the fallback if the setting @@ -182,6 +189,9 @@ export class Options { inlayHintsForImplicitVariableTypes, inlayHintsForLambdaParameterTypes, inlayHintsForImplicitObjectCreation, + sdkPath, + sdkVersion, + sdkIncludePrereleases, razorPluginPath, defaultLaunchSolution, monoPath, diff --git a/src/omnisharp/server.ts b/src/omnisharp/server.ts index db32db004..8c54289d4 100644 --- a/src/omnisharp/server.ts +++ b/src/omnisharp/server.ts @@ -399,6 +399,18 @@ export class OmniSharpServer { args.push('RoslynExtensionsOptions:EnableAsyncCompletion=true'); } + if (options.sdkPath.length > 0) { + args.push(`Sdk:Path='${options.sdkPath}'`); + } + + if (options.sdkVersion.length > 0) { + args.push(`Sdk:Version='${options.sdkVersion}'`); + } + + if (options.sdkIncludePrereleases) { + args.push(`Sdk:IncludePrereleases=true`); + } + if (options.inlayHintsEnableForParameters === true) { args.push(`RoslynExtensionsOptions:InlayHintsOptions:EnableForParameters=${options.inlayHintsEnableForParameters.toString()}`); args.push(`RoslynExtensionsOptions:InlayHintsOptions:ForLiteralParameters=${options.inlayHintsForLiteralParameters.toString()}`); diff --git a/src/platform.ts b/src/platform.ts index 59eae240f..e8896eb52 100644 --- a/src/platform.ts +++ b/src/platform.ts @@ -41,9 +41,9 @@ export class LinuxDistribution { */ public toTelemetryString(): string { const allowedList = [ - 'antergos', 'arch', 'centos', 'debian', 'deepin', 'elementary', 'fedora', - 'galliumos', 'gentoo', 'kali', 'linuxmint', 'manjoro', 'neon', 'opensuse', - 'parrot', 'rhel', 'ubuntu', 'zorin' + 'alpine', 'antergos', 'arch', 'centos', 'debian', 'deepin', 'elementary', + 'fedora', 'galliumos', 'gentoo', 'kali', 'linuxmint', 'manjoro', 'neon', + 'opensuse', 'parrot', 'rhel', 'ubuntu', 'zorin' ]; if (this.name === unknown || allowedList.indexOf(this.name) >= 0) { @@ -130,7 +130,7 @@ export class PlatformInformation { } public isLinux(): boolean { - return this.platform === 'linux'; + return this.platform.startsWith('linux'); } public toString(): string { @@ -156,7 +156,7 @@ export class PlatformInformation { } public static async GetCurrent(): Promise { - let platform = os.platform(); + let platform: string = os.platform(); let architecturePromise: Promise; let distributionPromise: Promise; @@ -172,6 +172,10 @@ export class PlatformInformation { break; case 'linux': + if (await this.GetIsMusl()) { + // Update platform so we can distuguish between linux and linux-musl. + platform = "linux-musl"; + } architecturePromise = PlatformInformation.GetUnixArchitecture(); distributionPromise = LinuxDistribution.GetCurrent(); break; @@ -199,22 +203,31 @@ export class PlatformInformation { }); } - private static async GetUnixArchitecture(): Promise { - return util.execChildProcess('uname -m') - .then(architecture => { - if (architecture) { - architecture = architecture.trim(); - - switch (architecture) { - case "aarch64": - return "arm64"; - default: - return architecture; - } - } + private static async GetUnixArchitecture(): Promise { + let architecture = await util.execChildProcess('uname -m'); - return null; - }); + if (architecture) { + architecture = architecture.trim(); + + switch (architecture) { + case "aarch64": + return "arm64"; + default: + return architecture; + } + } + + return undefined; + } + + private static async GetIsMusl() { + let output; + try { + output = await util.execChildProcess('ldd --version'); + } catch (err) { + output = err.message; + } + return output.indexOf('musl') > -1; } public isValidPlatformForMono(): boolean { diff --git a/tasks/offlinePackagingTasks.ts b/tasks/offlinePackagingTasks.ts index 86cd34134..3c68ea38b 100644 --- a/tasks/offlinePackagingTasks.ts +++ b/tasks/offlinePackagingTasks.ts @@ -31,6 +31,8 @@ export const offlinePackages = [ { platformInfo: new PlatformInformation('win32', 'arm64'), id: "win32-arm64", isFramework: includeFrameworkOmniSharp }, { platformInfo: new PlatformInformation('linux', 'x86_64'), id: "linux-x64", isFramework: includeFrameworkOmniSharp }, { platformInfo: new PlatformInformation('linux', 'arm64'), id: "linux-arm64", isFramework: includeFrameworkOmniSharp }, + { platformInfo: new PlatformInformation('linux-musl', 'x86_64'), id: "alpine-x64", isFramework: includeFrameworkOmniSharp }, + { platformInfo: new PlatformInformation('linux-musl', 'arm64'), id: "alpine-arm64", isFramework: includeFrameworkOmniSharp }, { platformInfo: new PlatformInformation('darwin', 'x86_64'), id: "darwin-x64", isFramework: includeFrameworkOmniSharp }, { platformInfo: new PlatformInformation('darwin', 'arm64'), id: "darwin-arm64", isFramework: includeFrameworkOmniSharp }, ]; diff --git a/test/unitTests/Fakes/FakeOptions.ts b/test/unitTests/Fakes/FakeOptions.ts index 222ce14d0..2c3c1ba92 100644 --- a/test/unitTests/Fakes/FakeOptions.ts +++ b/test/unitTests/Fakes/FakeOptions.ts @@ -47,6 +47,9 @@ export function getEmptyOptions(): Options { /* inlayHintsForImplicitVariableTypes */false, /* inlayHintsForLambdaParameterTypes */false, /* inlayHintsForImplicitObjectCreation */false, + /* sdkPath */"", + /* sdkVersion */"", + /* sdkIncludePrereleases */false, /* razorPluginPath */"", /* defaultLaunchSolution */"", /* monoPath */"", From 6b75602f1fa0a2475de16cb2f737f4c4b1685bde Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Thu, 19 May 2022 22:01:35 -0700 Subject: [PATCH 3/3] Update readme announcements --- README.md | 58 +++++-------------------------------------------------- 1 file changed, 5 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index cae836c31..339406ee9 100644 --- a/README.md +++ b/README.md @@ -16,39 +16,13 @@ The C# extension is powered by [OmniSharp](https://github.com/OmniSharp/omnishar ## Announcements -### Planned removal of the included Mono & MSBuild Tools +### The C# extension no longer ships with an included Mono & MSBuild Tools -In the future .NET Framework builds of OmniSharp will not ship with Mono or the MSBuild tooling (See announcement [omnisharp-roslyn#2339](https://github.com/OmniSharp/omnisharp-roslyn/issues/2339)). To ensure that the C# extension remains usable out of the box for .NET SDK projects, we will be changing the default value of `omnisharp.useModernNet` to `true`. +.NET Framework builds of OmniSharp no longer ship with Mono or the MSBuild tooling (See announcement [omnisharp-roslyn#2339](https://github.com/OmniSharp/omnisharp-roslyn/issues/2339)). To ensure that the C# extension remains usable out of the box for .NET SDK projects, we have changed the default value of `omnisharp.useModernNet` to `true`. -See issue [#5120](https://github.com/OmniSharp/omnisharp-vscode/issues/5120) for more details. - -### Using .NET 6 builds of OmniSharp - -Starting with C# extension version 1.24.0, there is now an option to use build of OmniSharp that runs on the .NET 6 SDK. This build requires that the .NET 6 SDK be installed and does not use Visual Studio MSBuild tools or Mono. It only supports newer SDK-style projects that are buildable with `dotnet build`. Unity projects and other Full Framework projects are not supported. - -To use the .NET 6 build, set `omnisharp.useModernNet` to `true` in your VS Code settings and restart OmniSharp. - -### Note about using .NET Core 3.1.4xx SDKs - -The .NET 3.1.4xx SDKs require version 16.7 of MSBuild. - -You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. - -### Note about using .NET 5 SDKs - -The .NET 5 SDK requires version 16.8 of MSBuild. - -For Windows users who have Visual Studio installed, this means you will need to be on the latest Visual Studio 16.8 Preview. +If you still need Unity or .NET Framework support, you can set `omnisharp.useModernNet` to `false` in your VS Code settings and restart OmniSharp. -You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. - -### Note about using .NET 6 SDKs - -The .NET 6 SDK requires version 16.10 of MSBuild. - -For Windows users who have Visual Studio installed, this means you will need to have Visual Studio 16.11 or newer installed. - -You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See instructions above. +See issue [#5120](https://github.com/OmniSharp/omnisharp-vscode/issues/5120) for more details. ## What's new in 1.25.0 * Make SDK build of OmniSharp the default ([#5120](https://github.com/OmniSharp/omnisharp-vscode/issues/5120), PR: [#5176](https://github.com/OmniSharp/omnisharp-vscode/pull/5176)) @@ -104,22 +78,6 @@ You can also use the .NET 6 build of OmniSharp which runs on the .NET 6 SDK. See * Support inlay hints (PR: [omnisharp-roslyn#2357](https://github.com/OmniSharp/omnisharp-roslyn/pull/2357)) * Update build tools to match .NET SDK 6.0.201 ([omnisharp-roslyn#2363](https://github.com/OmniSharp/omnisharp-roslyn/pull/2363)) -## What's new in 1.24.1 -* Only semantically highlight documents from uri.scheme 'file' (PR: [#5059](https://github.com/OmniSharp/omnisharp-vscode/pull/5059)) -* Filter packages to install by framework before attempting install ([#5032](https://github.com/OmniSharp/omnisharp-vscode/issues/5032), PR: [#5041](https://github.com/OmniSharp/omnisharp-vscode/pull/5041)) -* Update Razor's TextMate to latest. (PR: [#5012](https://github.com/OmniSharp/omnisharp-vscode/pull/5012)) -* Upgrade OmniSharp to 1.38.1: - * Reuse Roslyn's analyzer assembly loader (PR: [omnisharp-roslyn#2236](https://github.com/OmniSharp/omnisharp-roslyn/pull/2236)) - * Pass Completion, Rename and Block Structure options directly instead of updating the Workspace (PR: [omnisharp-roslyn#2306](https://github.com/OmniSharp/omnisharp-roslyn/pull/2306)) - * Update included build tool to match the current 6.0.200 sdk (PR: [omnisharp-roslyn#2329](https://github.com/OmniSharp/omnisharp-roslyn/pull/2329)) - * Fix concurrency issue in CSharpDiagnosticWorker (PR: [omnisharp-roslyn#2333](https://github.com/OmniSharp/omnisharp-roslyn/pull/2333)) - * run analyzers on multiple threads if allowed to (PR: [omnisharp-roslyn#2285](https://github.com/OmniSharp/omnisharp-roslyn/pull/2285)) - * Add MSBuild project to solution and apply the change to Roslyn workspace as a unit (PR: [omnisharp-roslyn#2314](https://github.com/OmniSharp/omnisharp-roslyn/pull/2314)) - * Updated to Roslyn 4.0.1 (PR: [omnisharp-roslyn#2323](https://github.com/OmniSharp/omnisharp-roslyn/pull/2323)) - * Enable OmniSharp.Cake tests for .NET 6 (PR: [omnisharp-roslyn#2307](https://github.com/OmniSharp/omnisharp-roslyn/pull/2307)) - * Handle completions with trailing whitespace on previous lines (PR: [omnisharp-roslyn#2319](https://github.com/OmniSharp/omnisharp-roslyn/pull/2319)) - * Update build bools to match .NET SDK 6.0.200 (PR: [omnisharp-roslyn#2347](https://github.com/OmniSharp/omnisharp-roslyn/pull/2347)) - ### Emmet support in Razor files To enable emmet support, add the following to your settings.json: @@ -130,12 +88,6 @@ To enable emmet support, add the following to your settings.json: } ``` -### Semantic Highlighting - -The C# semantic highlighting support is in preview. To enable, set `editor.semanticHighlighting.enabled` and `csharp.semanticHighlighting.enabled` to `true` in your settings. Semantic highlighting is only provided for code files that are part of the active project. - -To really see the difference, try the new Visual Studio 2019 Light and Dark themes with semantic colors that closely match Visual Studio 2019. - ### Supported Operating Systems for Debugging Currently, the C# debugger officially supports the following operating systems: @@ -163,7 +115,7 @@ First install: To **run and develop** do the following: -* Run `npm i` +* Run `npm ci` * Run `npm run compile` * Open in Visual Studio Code (`code .`) * _Optional:_ run `npm run watch`, make code changes