Skip to content

Commit 219b6da

Browse files
committed
upgrade to 'v2.87.31'
2 parents 36265ce + 681c2ab commit 219b6da

Some content is hidden

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

54 files changed

+471
-211
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ out
1515
.razorDevKit/
1616
.razorExtension/
1717
.vscode-test/
18+
.roslynCopilot/
1819
msbuild/signing/signJs/*.log
1920
msbuild/signing/signVsix/*.log
2021
dist/

.vscode/launch.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,33 @@
9292
"preLaunchTask": "packageDev",
9393
"internalConsoleOptions": "openOnSessionStart"
9494
},
95+
{
96+
"name": "[Razor Cohost] Run Current File Integration Test",
97+
"type": "extensionHost",
98+
"request": "launch",
99+
"runtimeExecutable": "${execPath}",
100+
"args": [
101+
// Launch VSCode using a specific profile to ensure that user settings are not used.
102+
// This profile must be imported into vscode before running this launch configuration.
103+
// The profile can be found under /test/csharp-test-profile.
104+
"--profile",
105+
"csharp-test-profile",
106+
"${workspaceRoot}/test/razor/razorIntegrationTests/testAssets/RazorApp/.vscode/RazorApp.code-workspace",
107+
"--extensionDevelopmentPath=${workspaceRoot}",
108+
"--extensionTestsPath=${workspaceRoot}/out/test/razor/razorIntegrationTests",
109+
"--log",
110+
"ms-dotnettools.csharp:trace"
111+
],
112+
"env": {
113+
"CODE_EXTENSIONS_PATH": "${workspaceRoot}",
114+
"TEST_FILE_FILTER": "${file}"
115+
},
116+
"sourceMaps": true,
117+
"outFiles": ["${workspaceRoot}/dist/*.js", "${workspaceRoot}/out/test/**/*.js"],
118+
"resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"],
119+
"preLaunchTask": "packageDev",
120+
"internalConsoleOptions": "openOnSessionStart"
121+
},
95122
{
96123
"name": "[O#] Run Current File Integration Tests",
97124
"type": "extensionHost",
@@ -197,6 +224,15 @@
197224
"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
198225
"args": ["test:integration:razor"],
199226
"cwd": "${workspaceFolder}"
227+
},
228+
{
229+
"type": "node",
230+
"request": "launch",
231+
"name": "Razor Cohost integration tests",
232+
"preLaunchTask": "build",
233+
"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
234+
"args": ["test:integration:razor:cohost"],
235+
"cwd": "${workspaceFolder}"
200236
}
201237
],
202238
"inputs": [

CHANGELOG.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,87 @@
33
- Diagnostics related feature requests and improvements [#5951](https://github.com/dotnet/vscode-csharp/issues/5951)
44
- Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876)
55

6+
# 2.87.x
7+
* Fix acquisition of components with proxies (PR: [#8462](https://github.com/dotnet/vscode-csharp/pull/8462))
8+
* Bump Roslyn to 5.0.0-2.25404.10 (PR: [#8490](https://github.com/dotnet/vscode-csharp/pull/8490))
9+
* Fix file based programs getting stuck in the host workspace (PR: [#79730](https://github.com/dotnet/roslyn/pull/79730))
10+
* Fix exception in additional file diagnostics (PR: [#79501](https://github.com/dotnet/roslyn/pull/79501))
11+
* Simplify stale project handling in hot reload(PR: [#79386](https://github.com/dotnet/roslyn/pull/79386))
12+
* Fix static extension method not showing up on enum type(PR: [#79454](https://github.com/dotnet/roslyn/pull/79454))
13+
* Update 'use auto property' to respect user options around `this.` for property access.(PR: [#79405](https://github.com/dotnet/roslyn/pull/79405))
14+
* Fix make-readonly with spans.(PR: [#79393](https://github.com/dotnet/roslyn/pull/79393))
15+
* Change how trailing trivia is preserved in use-auto-prop(PR: [#79425](https://github.com/dotnet/roslyn/pull/79425))
16+
* Special case a few well-known immutable types in use-auto-prop(PR: [#79422](https://github.com/dotnet/roslyn/pull/79422))
17+
* Preserve comments when switching to auto props(PR: [#79420](https://github.com/dotnet/roslyn/pull/79420))
18+
* Support interpolated string handlers in extension blocks(PR: [#78425](https://github.com/dotnet/roslyn/pull/78425))
19+
* Offer 'implement interface' when inside a type's body(PR: [#79382](https://github.com/dotnet/roslyn/pull/79382))
20+
* EnC support for project level changes(PR: [#79239](https://github.com/dotnet/roslyn/pull/79239))
21+
* Ensure generated types come after top level statements(PR: [#79378](https://github.com/dotnet/roslyn/pull/79378))
22+
* Allow user to still create a new field/prop when offering to initialize an existing prop(PR: [#79376](https://github.com/dotnet/roslyn/pull/79376))
23+
* Fix crash in replace property with methods(PR: [#79358](https://github.com/dotnet/roslyn/pull/79358))
24+
* Fix issue offering to remove nullable cast in a ternary expression(PR: [#79355](https://github.com/dotnet/roslyn/pull/79355))
25+
* Fix 'use var' with spans(PR: [#79348](https://github.com/dotnet/roslyn/pull/79348))
26+
* Fix not offering to remove unnecessary nullable pragmas(PR: [#79356](https://github.com/dotnet/roslyn/pull/79356))
27+
* Fix crash in use-null-prop fixer(PR: [#79340](https://github.com/dotnet/roslyn/pull/79340))
28+
* Update debugger to v2.86.0(PR: [#8424](https://github.com/dotnet/vscode-csharp/pull/8424))
29+
* Bump Razor to 10.0.0-preview.25368.1 (PR: [#8430](https://github.com/dotnet/vscode-csharp/pull/8430))
30+
* Fixing override completion in VSCode when LSP is enabled (PR: [#12039](https://github.com/dotnet/razor/pull/12039))
31+
* [Cohost] Fix rename and unskip test (PR: [#11952](https://github.com/dotnet/razor/pull/11952))
32+
* Ensure unique file paths for non-file Uris (PR: [#12037](https://github.com/dotnet/razor/pull/12037))
33+
* Fix completion of hyphenated items (PR: [#12035](https://github.com/dotnet/razor/pull/12035))
34+
* Allow completion items to add using directives (PR: [#12034](https://github.com/dotnet/razor/pull/12034))
35+
36+
# 2.86.x
37+
* Bump Roslyn to 5.0.0-1.25361.2 (PR: [#8416](https://github.com/dotnet/vscode-csharp/pull/8416))
38+
* Fix issue with diagnostics when renaming a file (case change only) (PR: [#79298](https://github.com/dotnet/roslyn/pull/79298))
39+
* Allow rename to (optionally) process source generated documents(PR: [#78984](https://github.com/dotnet/roslyn/pull/78984))
40+
* Initial support for adding obsolete attributes to primary constructors(PR: [#79271](https://github.com/dotnet/roslyn/pull/79271))
41+
* Allow the Razor extension to report telemetry (and initialize)(PR: [#79254](https://github.com/dotnet/roslyn/pull/79254))
42+
* Use same location for 'use implicit object' as we do for 'use collection expression'.(PR: [#79265](https://github.com/dotnet/roslyn/pull/79265))
43+
* Use the miscellaneous files project name for rich misc projects(PR: [#79267](https://github.com/dotnet/roslyn/pull/79267))
44+
* Razor: Don't double register for document sync(PR: [#79241](https://github.com/dotnet/roslyn/pull/79241))
45+
* Allow LanguageServerProjectSystems to load into more than one workspace(PR: [#78975](https://github.com/dotnet/roslyn/pull/78975))
46+
* Improve diagnostic for ambiguous predefined type(PR: [#79196](https://github.com/dotnet/roslyn/pull/79196))
47+
* Fix renaming constructor via alias(PR: [#79175](https://github.com/dotnet/roslyn/pull/79175))
48+
* Speed up performance of remove-unused-imports fix all(PR: [#79173](https://github.com/dotnet/roslyn/pull/79173))
49+
* Improve performance in metadata-to-project-reference conversion(PR: [#79163](https://github.com/dotnet/roslyn/pull/79163))
50+
* Fix issue where we offered to use a collection expression when teh user didn't have a viable Add method(PR: [#79157](https://github.com/dotnet/roslyn/pull/79157))
51+
* Don't load the razor redirector unless it could actually be a razor assembly(PR: [#79154](https://github.com/dotnet/roslyn/pull/79154))
52+
* Tweak clarity rules for parentheses where ?? is involved(PR: [#79159](https://github.com/dotnet/roslyn/pull/79159))
53+
* Avoid hitting object pool when not needed(PR: [#79158](https://github.com/dotnet/roslyn/pull/79158))
54+
* Merge 'extension operators' into 'main'(PR: [#79151](https://github.com/dotnet/roslyn/pull/79151))
55+
* Extensions: interceptors(PR: [#79010](https://github.com/dotnet/roslyn/pull/79010))
56+
* Small but trivial allocation improvement in FileWatchedReferenceFactory.StopWatchingReference(PR: [#79140](https://github.com/dotnet/roslyn/pull/79140))
57+
* Slight allocation reduction in CommandLineParser.FlattenArgs (PR: [#79139](https://github.com/dotnet/roslyn/pull/79139))
58+
* Fix promptForDevKitDebugConfigurations without CDK installed (PR: [#8390](https://github.com/dotnet/vscode-csharp/pull/8390))
59+
* Remove Razor ForceRuntimeCodeGeneration flag (PR: [#8398](https://github.com/dotnet/vscode-csharp/pull/8398))
60+
* Bump Razor to 10.0.0-preview.25329.6 (PR: [#8413](https://github.com/dotnet/vscode-csharp/pull/8413))
61+
* Use snippet InsertText in directive attributes to insert equals and quotes (PR: [#12010](https://github.com/dotnet/razor/pull/12010))
62+
* Fix edit mapping for Html documents (PR: [#12027](https://github.com/dotnet/razor/pull/12027))
63+
* Don't show HTML snippets in style, script, or html comment blocks (PR: [#12021](https://github.com/dotnet/razor/pull/12021))
64+
* Allow our VS Code extension to report telemetry (through Roslyn) (PR: [#12015](https://github.com/dotnet/razor/pull/12015))
65+
* Hard code ForceRuntimeCodeGeneration feature flag in all cases (PR: [#12007](https://github.com/dotnet/razor/pull/12007))
66+
* Report cohost status in initialize telemetry (PR: [#12001](https://github.com/dotnet/razor/pull/12001))
67+
* Implement "Extract to Foo.razor.css" code action (PR: [#11989](https://github.com/dotnet/razor/pull/11989))
68+
* Filter all html diagnostics out if they're reported in a comment (PR: [#12002](https://github.com/dotnet/razor/pull/12002))
69+
* Analyzer redirector (PR: [#11972](https://github.com/dotnet/razor/pull/11972))
70+
* Partial fix for https://github.com/dotnet/vscode-csharp/issues/7678 (PR: [#11681](https://github.com/dotnet/razor/pull/11681))
71+
* Simplify tag to self-closing code action (PR: [#11802](https://github.com/dotnet/razor/pull/11802))
72+
* Bind directive attribute `event` parameter HTML event completions (PR: [#11804](https://github.com/dotnet/razor/pull/11804))
73+
* Allow Razor completion items on deletion (PR: [#11991](https://github.com/dotnet/razor/pull/11991))
74+
75+
76+
# 2.85.x
77+
* Bump Roslyn to 5.0.0-1.25326.2 (PR: [#8386](https://github.com/dotnet/vscode-csharp/pull/8386))
78+
* Fix nullable oblivious quick info (PR: [#79102](https://github.com/dotnet/roslyn/pull/79102))
79+
* Clear provider on disposal (PR: [#79128](https://github.com/dotnet/roslyn/pull/79128))
80+
* Improve performance of fix all that only changes syntax (PR: [#79108](https://github.com/dotnet/roslyn/pull/79108))
81+
* Convert to regular constructor for partial types (PR: [#79092](https://github.com/dotnet/roslyn/pull/79092))
82+
* Fix roslyn test modifiers in semantic tokens (PR: [#79070](https://github.com/dotnet/roslyn/pull/79070))
83+
* Fix restore for 'dotnet run app.cs' in IDE (PR: [#78990](https://github.com/dotnet/roslyn/pull/78990))
84+
* Bump Razor to 10.0.0-preview.25329.6 (PR: [#8392](https://github.com/dotnet/vscode-csharp/pull/8392))
85+
* Fix formatting issue with code block opening braces (PR: [#11969](https://github.com/dotnet/razor/pull/11969))
86+
687
# 2.84.x
788
* Bump Roslyn to 5.0.0-1.25319.11 (PR: [#8380](https://github.com/dotnet/vscode-csharp/pull/8380))
889
* Preserve trailing directives when converting a Program.Main program to top level statements. (#79062) (PR: [#79062](https://github.com/dotnet/roslyn/pull/79062))

CONTRIBUTING.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,15 @@ Follow these steps to build, run, and test the repository:
3636

3737
#### Building
3838

39+
If you have the ability to run powershell, you can invoke "init.ps1" from the root of the repo. If not, the following steps will get build going for you as well:
40+
3941
1. Run `npm install -g vsts-npm-auth`, then run `vsts-npm-auth -config .npmrc` - This command will configure your credentials for the next command.
4042
a. If you have already authenticated before, but the token expired, you may need to run `vsts-npm-auth -config .npmrc -f` instead.
4143
2. Run `npm i` - This command installs the project dependencies.
4244
3. Run `npm i -g gulp` - This command installs Gulp globally.
4345
4. Run `gulp installDependencies` - This command downloads the various dependencies as specified by the version in the [package.json](package.json) file.
44-
5. Run `code .` - This command opens the project in Visual Studio Code.
46+
47+
You can now run `code .` - This command opens the project in Visual Studio Code.
4548

4649
#### Running
4750

@@ -168,7 +171,7 @@ To package this extension, we need to create VSIX Packages. The VSIX packages ca
168171

169172
## Updating the `Roslyn` Language Server Version
170173

171-
In order to pull in new packages from upstreams into the msft_consumption feed we use for restoring, you will need to be a member of the 'CSharp VS Code Extension contributors' group in the [Azure Devops instance](https://dev.azure.com/azure-public/vside/_settings/teams).
174+
In order to pull in new packages from upstreams into the msft_consumption feed we use for restoring, you will need to be a member of the 'CSharp VS Code Extension contributors' group in the [Azure Devops instance](https://dev.azure.com/azure-public/vside/_settings/teams).
172175

173176
To update the version of the roslyn server used by the extension do the following:
174177
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.
@@ -195,5 +198,5 @@ The marketplace release is managed by an internal AzDo pipeline. On the pipelin
195198
1. The branch will **always** be main, no matter if release a build from prerelease or release.
196199
2. Uncheck the "test" option.
197200
3. In "Resources", choose "dotnet-vscode-csharp [officialBuildCI]", then check only the build that should be released, and then confirm with "Use selected run". Based on the selected build, it will automatically determine if it is prerelease or release. ![release pipeline image](./docs/release_pipeline.png)
198-
4. The pipeline parameters should then look something like the following image. Hit "Run". ![release pipeline parameters image](./docs/release_pipeline_params.png)
201+
4. The pipeline parameters should then look something like the following image. Hit "Run". ![release pipeline parameters image](./docs/release_pipeline_params.png)
199202
5. After a bit, the pipeline will request approval from an authorized approver before it actually uploads to the marketplace. Hit approve and it will continue.

SUPPORT.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ For issues with Razor, the Razor Log output window can contain useful informatio
6868
4. **Reset the Log Level**:
6969
- Once the logs are collected, reset the log level to `Info`.
7070

71-
#### Project Loading Problems
71+
### Project Loading Problems
7272

7373
Missing language features are often caused by a failure to load the project(s) or solution. To diagnose and resolve these issues, follow these steps:
7474

@@ -86,7 +86,7 @@ Missing language features are often caused by a failure to load the project(s) o
8686
- If you are using C# Dev Kit, check the Solution Explorer to ensure the project is displayed with the expected references.
8787
- If the references or structure are not as expected, include the contents of the `Projects` output window in your issue report.
8888

89-
#### Colorization problems
89+
### Colorization problems
9090
If you encounter issues with document classification (e.g., incorrect syntax highlighting or colorization), please provide the following information to help us diagnose the problem:
9191

9292
1. **Theme in Use**:
@@ -101,7 +101,7 @@ If you encounter issues with document classification (e.g., incorrect syntax hig
101101

102102
![Inspect Tokens and Scopes Output](./docs/inspect_tokens.png)
103103

104-
#### Diagnostics problems
104+
### Diagnostics problems
105105

106106
For issues with diagnostics, please provide values of the background analysis scope options, `dotnet.backgroundAnalysis.analyzerDiagnosticsScope` and `dotnet.backgroundAnalysis.compilerDiagnosticsScope`
107107
![background analysis settings](./docs/background_analysis.png)
@@ -116,6 +116,21 @@ If the language server crashes, general logs are often helpful for diagnosing th
116116
> [!WARNING]
117117
> The dump can contain detailed information on the project - generally we will provide an email so that it can be shared privately
118118
119+
#### Recording a language server trace
120+
121+
When investigating performance issues, we may request a performance trace of the language server to diagnose what is causing the problem. These are typically taken via [dotnet-trace](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace) (a cross platform tool to collect performance traces of .NET processes)
122+
123+
The C# extension has a built in command, `csharp.recordLanguageServerTrace` to help with trace collection. This command will install `dotnet-trace` as a global tool and invoke it against the language server.
124+
125+
1. Invoke the record language server trace command
126+
![alt text](docs/recordTraceCommand.png)
127+
2. Select the folder to save the trace.
128+
3. Accept the default trace arguments, or change them if requested
129+
![alt text](docs/recordTraceArgs.png)
130+
4. A new terminal window will open to run the trace collection. While the trace is running, reproduce the peformance issue. When done, hit <Enter> or <Ctrl+C> in the trace window to stop the trace
131+
![alt text](docs/recordTraceTerminal.png)
132+
5. Share the trace. Note that the trace may contain PII, so generally we will provide an email or other confidential way to share the trace with us.
133+
119134
## Microsoft Support Policy
120135

121136
Support for this project is limited to the resources listed above.

azure-pipelines.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pr:
1717
paths:
1818
exclude:
1919
- '*.md'
20+
- 'version.json'
2021
- .github/*
2122
- azure-pipelines/release.yml
2223
- CHANGELOG.

azure-pipelines/test-matrix.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ jobs:
2828
RazorTests:
2929
npmCommand: test:integration:razor
3030
isIntegration: true
31+
RazorCohostTests:
32+
npmCommand: test:integration:razor:cohost
33+
isIntegration: true
3134
pool: ${{ parameters.pool }}
3235
${{ if parameters.containerName }}:
3336
container: ${{ parameters.containerName }}

docs/recordTraceArgs.png

9.45 KB
Loading

docs/recordTraceCommand.png

8.01 KB
Loading

docs/recordTraceTerminal.png

37.4 KB
Loading

0 commit comments

Comments
 (0)