Skip to content

Commit 3cd363f

Browse files
authored
Merge branch 'main' into u/beccam/serverpipe
2 parents 8957f60 + f8fd0c9 commit 3cd363f

File tree

267 files changed

+29752
-1385
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+29752
-1385
lines changed

.vscode/launch.json

Lines changed: 50 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,34 @@
1515
],
1616
"preLaunchTask": "buildDev"
1717
},
18+
{
19+
"name": "Launch Current File slnWithCsproj Integration Tests",
20+
"type": "extensionHost",
21+
"request": "launch",
22+
"runtimeExecutable": "${execPath}",
23+
"args": [
24+
// Create a temp profile that has no extensions / user settings.
25+
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
26+
"--profile-temp",
27+
"${workspaceRoot}/test/integrationTests/testAssets/slnWithCsproj/.vscode/lsp_tools_host_slnWithCsproj.code-workspace",
28+
"--extensionDevelopmentPath=${workspaceRoot}",
29+
"--extensionTestsPath=${workspaceRoot}/out/test/integrationTests",
30+
],
31+
"env": {
32+
"CODE_EXTENSIONS_PATH": "${workspaceRoot}",
33+
"TEST_FILE_FILTER": "${file}"
34+
},
35+
"sourceMaps": true,
36+
"outFiles": [
37+
"${workspaceRoot}/dist/*.js",
38+
"${workspaceRoot}/out/test/**/*.js"
39+
],
40+
"resolveSourceMapLocations": [
41+
"${workspaceFolder}/**",
42+
"!**/node_modules/**"
43+
],
44+
"preLaunchTask": "buildDev"
45+
},
1846
{
1947
"type": "node",
2048
"request": "launch",
@@ -66,7 +94,7 @@
6694
// Create a temp profile that has no extensions / user settings.
6795
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
6896
"--profile-temp",
69-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/singleCsproj",
97+
"${workspaceRoot}/test/integrationTests/testAssets/singleCsproj/.vscode/omnisharp_singleCsproj.code-workspace",
7098
"--extensionDevelopmentPath=${workspaceRoot}",
7199
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
72100
],
@@ -90,7 +118,7 @@
90118
// Create a temp profile that has no extensions / user settings.
91119
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
92120
"--profile-temp",
93-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/BasicRazorApp2_1",
121+
"${workspaceRoot}/test/integrationTests/testAssets/BasicRazorApp2_1",
94122
"--extensionDevelopmentPath=${workspaceRoot}",
95123
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
96124
],
@@ -108,7 +136,7 @@
108136
// Create a temp profile that has no extensions / user settings.
109137
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
110138
"--profile-temp",
111-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnWithCsproj/.vscode/omnisharp_slnWithCsproj.code-workspace",
139+
"${workspaceRoot}/test/integrationTests/testAssets/slnWithCsproj/.vscode/omnisharp_slnWithCsproj.code-workspace",
112140
"--extensionDevelopmentPath=${workspaceRoot}",
113141
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
114142
],
@@ -123,29 +151,6 @@
123151
],
124152
"preLaunchTask": "buildDev"
125153
},
126-
{
127-
"name": "LSP Tools Host: Launch slnWithCsproj Workspace Tests",
128-
"type": "extensionHost",
129-
"request": "launch",
130-
"runtimeExecutable": "${execPath}",
131-
"args": [
132-
// Create a temp profile that has no extensions / user settings.
133-
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
134-
"--profile-temp",
135-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnWithCsproj/.vscode/lsp_tools_host_slnWithCsproj.code-workspace",
136-
"--extensionDevelopmentPath=${workspaceRoot}",
137-
"--extensionTestsPath=${workspaceRoot}/out/test/integrationTests",
138-
],
139-
"env": {
140-
"CODE_EXTENSIONS_PATH": "${workspaceRoot}",
141-
},
142-
"sourceMaps": true,
143-
"outFiles": [
144-
"${workspaceRoot}/dist/*.js",
145-
"${workspaceRoot}/out/test/**/*.js"
146-
],
147-
"preLaunchTask": "buildDev"
148-
},
149154
{
150155
"name": "Omnisharp: Launch singleCsproj Workspace Tests [LSP]",
151156
"type": "extensionHost",
@@ -155,7 +160,7 @@
155160
// Create a temp profile that has no extensions / user settings.
156161
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
157162
"--profile-temp",
158-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnWithCsproj/.vscode/omnisharp_lsp_slnWithCsproj.code-workspace",
163+
"${workspaceRoot}/test/integrationTests/testAssets/singleCsproj/.vscode/omnisharp_lsp_singleCsproj.code-workspace",
159164
"--extensionDevelopmentPath=${workspaceRoot}",
160165
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
161166
],
@@ -179,7 +184,7 @@
179184
// Create a temp profile that has no extensions / user settings.
180185
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
181186
"--profile-temp",
182-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/BasicRazorApp2_1",
187+
"${workspaceRoot}/test/integrationTests/testAssets/BasicRazorApp2_1",
183188
"--extensionDevelopmentPath=${workspaceRoot}",
184189
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
185190
],
@@ -197,7 +202,7 @@
197202
// Create a temp profile that has no extensions / user settings.
198203
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
199204
"--profile-temp",
200-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnWithCsproj/.vscode/omnisharp_lsp_slnWithCsproj.code-workspace",
205+
"${workspaceRoot}/test/integrationTests/testAssets/slnWithCsproj/.vscode/omnisharp_lsp_slnWithCsproj.code-workspace",
201206
"--extensionDevelopmentPath=${workspaceRoot}",
202207
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
203208
],
@@ -221,7 +226,7 @@
221226
// Create a temp profile that has no extensions / user settings.
222227
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
223228
"--profile-temp",
224-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnFilterWithCsproj",
229+
"${workspaceRoot}/test/integrationTests/testAssets/slnFilterWithCsproj",
225230
"--extensionDevelopmentPath=${workspaceRoot}",
226231
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
227232
],
@@ -245,7 +250,7 @@
245250
// Create a temp profile that has no extensions / user settings.
246251
// This allows us to only have the C# extension + the dotnet runtime installer extension dependency.
247252
"--profile-temp",
248-
"${workspaceRoot}/omnisharptest/omnisharpIntegrationTests/testAssets/slnWithGenerator",
253+
"${workspaceRoot}/test/integrationTests/testAssets/slnWithGenerator",
249254
"--extensionDevelopmentPath=${workspaceRoot}",
250255
"--extensionTestsPath=${workspaceRoot}/out/omnisharptest/omnisharpIntegrationTests"
251256
],
@@ -285,11 +290,22 @@
285290
"updatePackageDependencies"
286291
],
287292
"env": {
288-
"NEW_DEPS_URLS": "https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/4aca138f5c6299422e240dcc50689a67/razorlanguageserver-linux-arm64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/eee386c129c18ba1705fe411cb981a20/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/7d1e4e0bf72de43dc272d22de2486633/razorlanguageserver-linux-musl-x64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/b9653cb6c40f965986266f70ae7dab25/razorlanguageserver-linux-x64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/679c6fe63c016298914264c33326f2ea/razorlanguageserver-osx-arm64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/74f8a06bc496f54b37466c382c6744ee/razorlanguageserver-osx-x64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/695b332017bfa81af74787904979fde8/razorlanguageserver-win-arm64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/a48c3e83b44a34ddb295099c55e31e7e/razorlanguageserver-win-x64-7.0.0-preview.23423.3.zip,https://download.visualstudio.microsoft.com/download/pr/0b0d800b-570c-446a-8e29-4130bd68c63b/e188fa3cbd9a5601701d0f8de0705496/razorlanguageserver-win-x86-7.0.0-preview.23423.3.zip",
289-
"NEW_DEPS_VERSION": "7.0.0-preview.23423.3",
293+
"NEW_DEPS_URLS": "https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/af4c33cdb53e85a7de39fb07195e05b2/razorlanguageserver-linux-arm64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/24783517c9a4729efbd7dfd2a97fe5cc/razorlanguageserver-linux-musl-arm64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/e5e12ac99072e02499bef77c2c5034a2/razorlanguageserver-linux-musl-x64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/86a165500517ca828227bfd0f28f7a02/razorlanguageserver-linux-x64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/d61e51f223e6bfeceae821b1cce36bfc/razorlanguageserver-osx-arm64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/b9ee27ddd84b0f4faf82e88589c8584f/razorlanguageserver-osx-x64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/d279c139e3d914fec96dfab50f05f438/razorlanguageserver-win-arm64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/258d3df59cb903ca4bcb9d42b854e28b/razorlanguageserver-win-x64-7.0.0-preview.23456.2.zip,https://download.visualstudio.microsoft.com/download/pr/e5617c98-d08e-43f2-a9bf-a36fec5306b7/d2ffb8978958712807d88ebf38914f47/razorlanguageserver-win-x86-7.0.0-preview.23456.2.zip",
294+
"NEW_DEPS_VERSION": "7.0.0-preview.23456.2",
290295
"NEW_DEPS_ID": "Razor"
291296
},
292297
"cwd": "${workspaceFolder}"
293-
}
298+
},
299+
{
300+
"type": "node",
301+
"request": "launch",
302+
"name": "Generate debugger options schema",
303+
"preLaunchTask": "build",
304+
"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
305+
"args": [
306+
"generateOptionsSchema"
307+
],
308+
"cwd": "${workspaceFolder}"
309+
}
294310
]
295311
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
"omnisharp.autoStart": false,
2121
"editor.formatOnSave": false,
2222
"eslint.lintTask.enable": true,
23-
"dotnet.defaultSolution": "disable"
23+
"dotnet.defaultSolution": "disable",
24+
"jest.autoRun": "off"
2425
}

.vscodeignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ server/**
1515
src/**
1616
tasks/**
1717
test/**
18+
omnisharptest/**
19+
__mocks__/**
20+
jest.config.ts
21+
baseJestConfig.ts
22+
.prettierignore
1823
typings/**
1924
vsix/**
2025
node_modules

CHANGELOG.md

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,41 @@
11
## Known Issues
2-
2+
33
- Diagnostics related feature requests and improvements [#5951](https://github.com/dotnet/vscode-csharp/issues/5951)
44
- [O# Parity] FixAll support for code fixes and refactorings [#5735](https://github.com/dotnet/vscode-csharp/issues/5735)
55
- [O# Parity] Nuget restore [#5725](https://github.com/dotnet/vscode-csharp/issues/5725)
6-
- [O# Parity] Support loading projects/files without a solution file [#5722](https://github.com/dotnet/vscode-csharp/issues/5722)
7-
- [O# Parity] Some csproj projects will not correctly load [#5721](https://github.com/dotnet/vscode-csharp/issues/5721)
6+
- [O# Parity] Projects running on Mono may not load correctly [#5721](https://github.com/dotnet/vscode-csharp/issues/5721)
87
- [O# Parity] Run and debug tests in context [#5719](https://github.com/dotnet/vscode-csharp/issues/5719)
98
- Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876)
109

1110
## Latest
11+
* Update Razor version to 7.0.0-preview.23456.2 (PR: [#6304](https://github.com/dotnet/vscode-csharp/pull/6304))
12+
* Fixes regression where semantic colors for razor components appear as red
13+
* Add support for specifying a .runsettings file when using Roslyn LSP (PR: [#6265](https://github.com/dotnet/vscode-csharp/pull/6265))
14+
* Update Roslyn version (PR: [#6265](https://github.com/dotnet/vscode-csharp/pull/6265))
15+
* Add server support for .runsettings in unit tests (PR: [#69792](https://github.com/dotnet/roslyn/pull/69792))
16+
* Log more information when we're unable to parse a URI (PR: [#69840](https://github.com/dotnet/roslyn/pull/69840))
17+
* Bump ICSharpCode.Decompiler to 8.1.0.745 (PR: [#69772](https://github.com/dotnet/roslyn/pull/69772))
18+
* Fix override completion erroring when framework assemblies are not found (PR: [#69795](https://github.com/dotnet/roslyn/pull/69795))
19+
* Fix override completion when drive letter casing does not match (PR: [#6315](https://github.com/dotnet/vscode-csharp/pull/6315))
20+
* Allow the server path to be specified by the `DOTNET_ROSLYN_SERVER_PATH` environment variable (PR: [#6316](https://github.com/dotnet/vscode-csharp/pull/6316))
21+
22+
## 2.1.10
23+
* Update Roslyn version
24+
* Includes better support for .NET 8 and .NET Framework-targeting projects (PR: [#69616](https://github.com/dotnet/roslyn/pull/69616))
25+
* This should fix a number of reports where projects don't have full IntelliSense. .NET Framework projects on Windows should load without errors. .NET Framework targeting projects on Mac and Linux which would use Mono are still processed as if they are .NET Core projects and may not load correctly; support for Mono is coming in a future update.
26+
* Fix issues where some projects fail to load being unable to find NuGet.Frameworks (PR: [#69824](https://github.com/dotnet/roslyn/pull/69824))
27+
* Update Razor to 7.0.0-preview.23455.5 (PR: [#6291](https://github.com/dotnet/vscode-csharp/pull/6291))
28+
* Fixes issue reading razor.format.enable and other options (PR: [dotnet/razor#9240](https://github.com/dotnet/razor/issues/9240))
29+
* Fix parsing of tasks.json with comments in certain locations (PR: [#6288](https://github.com/dotnet/vscode-csharp/pull/6288))
30+
* Fix Razor browser discovery issues on Mac and Linux `DOTNET_ROSLYN_SERVER_PATH` environment variable (PR: [#6269](https://github.com/dotnet/vscode-csharp/pull/6269))
31+
32+
## 2.0.448
33+
* Update Roslyn version (PR: [#6264](https://github.com/dotnet/vscode-csharp/pull/6264))
34+
* Upgrade MSBuildLocator to fix homebrew dotnet resolution (PR: [#69769](https://github.com/dotnet/roslyn/pull/69769))
35+
* Fix reported ExeName / ExeVersion (PR: [#69771](https://github.com/dotnet/roslyn/pull/69771))
36+
* Add 1.x setting names to migrated settings descriptions (PR: [#6266](https://github.com/dotnet/vscode-csharp/pull/6266))
37+
38+
## 2.0.436
1239
* Update Roslyn version (PR: [#6245](https://github.com/dotnet/vscode-csharp/pull/6245))
1340
* Fix import completion (PR: [#69691](https://github.com/dotnet/roslyn/pull/69691))
1441
* Reduce overhead on semantic token refresh requests (PR: [#69690](https://github.com/dotnet/roslyn/pull/69690))
@@ -36,7 +63,7 @@
3663
* Fix issue resolving .NET 7 runtimes from path (PR: [#6175](https://github.com/dotnet/vscode-csharp/pull/6175))
3764
* Fix URI issue when loading Razor files (PR: [#6168](https://github.com/dotnet/vscode-csharp/pull/6168))
3865
* Bump Razor to 7.0.0-preview.23417.3 (PR: [#6165](https://github.com/dotnet/vscode-csharp/pull/6165))
39-
* Fix various textDocument/foldingRange issues (PR: [#9134](https://github.com/dotnet/razor/pull/9134))
66+
* Fix various textDocument/foldingRange issues (PR: [#9134](https://github.com/dotnet/razor/pull/9134))
4067
* Clarify dotnet path option description (PR: [#6164](https://github.com/dotnet/vscode-csharp/pull/6164))
4168
* Handle multiple dotnet on path and symlinks (PR: [#6152](https://github.com/dotnet/vscode-csharp/pull/6152))
4269
* Localize Roslyn options (PR: [#6136](https://github.com/dotnet/vscode-csharp/pull/6136))

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ VSIXs can be created using the gulp command `gulp vsix:release:package`. This w
4949

5050
To update the version of the roslyn server used by the extension do the following:
5151
1. Find the the Roslyn signed build you want from [here](https://dnceng.visualstudio.com/internal/_build?definitionId=327&_a=summary). Typically the latest successful build of main is fine.
52-
2. In the official build stage, look for the `Publish Assets` step. In there you will see it publishing the `Microsoft.CodeAnalysis.LanguageServer` package with some version, e.g. `4.6.0-3.23158.4`. Take note of that version number.
52+
2. In the official build stage, look for the `Publish Assets` step. In there you will see it publishing the `Microsoft.CodeAnalysis.LanguageServer.neutral` package with some version, e.g. `4.6.0-3.23158.4`. Take note of that version number.
5353
3. In the [package.json](package.json) inside the `defaults` section update the `roslyn` key to point to the version number you found above in step 2.
54-
4. Build and test the change (make sure to run `gulp installDependencies` to get the new version!). If everything looks good, submit a PR.
55-
* Adding new package versions might require authentication, run with the `--interactive` flag to login. You may need to install [azure artifacts nuget credential provider](https://github.com/microsoft/artifacts-credprovider#installation-on-windows) to run interactive authentication.
54+
4. Ensure that version of the package is in the proper feeds by running `gulp updateRoslynVersion`. Note: you may need to install the [Azure Artifacts NuGet Credential Provider](https://github.com/microsoft/artifacts-credprovider#installation-on-windows) to run interactive authentication.
55+
5. Build and test the change. If everything looks good, submit a PR.

azure-pipelines.yml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,23 @@ stages:
3434
displayName: Test
3535
dependsOn: []
3636
jobs:
37-
- job: Test
38-
strategy:
39-
matrix:
40-
linux:
41-
demandsName: 1es-ubuntu-2004-open
42-
windows:
43-
demandsName: 1es-windows-2022-open
44-
pool:
45-
name: NetCore-Public
46-
demands: ImageOverride -equals $(demandsName)
47-
steps:
48-
- template: azure-pipelines/test.yml
37+
- template: azure-pipelines/test.yml
38+
parameters:
39+
jobName: Linux
40+
poolName: NetCore-Public
41+
demandsName: 1es-ubuntu-2004-open
42+
43+
- template: azure-pipelines/test.yml
44+
parameters:
45+
jobName: Windows
46+
poolName: NetCore-Public
47+
demandsName: 1es-windows-2022-open
48+
49+
- template: azure-pipelines/test.yml
50+
parameters:
51+
jobName: MacOS
52+
poolName: Azure Pipelines
53+
vmImageName: macOS-13
4954

5055
- stage: Test_OmniSharp
5156
displayName: Test OmniSharp

0 commit comments

Comments
 (0)