Skip to content

Commit 7273f4c

Browse files
[automated] Merge branch 'prerelease' => 'release' (#8684)
2 parents bbd60e6 + 2c30c12 commit 7273f4c

File tree

109 files changed

+2089
-274
lines changed

Some content is hidden

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

109 files changed

+2089
-274
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"vsix/": true
1313
},
1414
"[typescript]": {
15-
"editor.defaultFormatter": "esbenp.prettier-vscode"
15+
"editor.defaultFormatter": "esbenp.prettier-vscode",
16+
"editor.formatOnSave": true
1617
},
1718
"csharp.suppressDotnetRestoreNotification": true,
1819
"typescript.tsdk": "./node_modules/typescript/lib",

CHANGELOG.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,47 @@
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.93.x
7+
* Bump Roslyn to 5.0.0-2.25472.11 (PR: [#8646](https://github.com/dotnet/vscode-csharp/pull/8646))
8+
* Fix handling edits in types nested in reloadable types(PR: [#80360](https://github.com/dotnet/roslyn/pull/80360))
9+
* Remove CS1998 warning entirely and remove dependent C# code fix providers(PR: [#80144](https://github.com/dotnet/roslyn/pull/80144))
10+
* Only restore based on assets file changes if the actual content changed(PR: [#80341](https://github.com/dotnet/roslyn/pull/80341))
11+
* Fix issue where build artifacts were added in source tree (PR: [#80324](https://github.com/dotnet/roslyn/pull/80324))
12+
* Allow clients to send range ending at the line after the last line in the document(PR: [#80310](https://github.com/dotnet/roslyn/pull/80310))
13+
* Don't show Razor diagnostics in Full Solution Analysis(PR: [#80296](https://github.com/dotnet/roslyn/pull/80296))
14+
* Log project context in which document was found(PR: [#80202](https://github.com/dotnet/roslyn/pull/80202))
15+
* Bump Razor to 10.0.0-preview.25472.6 (PR: [#8639](https://github.com/dotnet/vscode-csharp/pull/8639))
16+
* Support view components in Go To Def (PR: [#12222](https://github.com/dotnet/razor/pull/12222))
17+
* Redirect the older named assembly too (PR: [#12239](https://github.com/dotnet/razor/pull/12239))
18+
* Restore "Show Html/C#" VS Code commands (PR: [#12234](https://github.com/dotnet/razor/pull/12234))
19+
20+
# 2.92.x
21+
* Bump Razor to 10.0.0-preview.25464.2 (PR: [#8628](https://github.com/dotnet/vscode-csharp/pull/8628))
22+
* Improve go to definition for mvc tag helpers (PR: [#12216](https://github.com/dotnet/razor/pull/12216))
23+
* Filter CSS024 when caused by C# code in an attribute (PR: [#12209](https://github.com/dotnet/razor/pull/12209))
24+
* Provide more specific information in cohosting failures (PR: [#12193](https://github.com/dotnet/razor/pull/12193))
25+
* Fix renaming file (PR: [#12196](https://github.com/dotnet/razor/pull/12196))
26+
27+
# 2.91.x
28+
* Bump Roslyn to 5.0.0-2.25458.10 (PR: [#8588](https://github.com/dotnet/vscode-csharp/pull/8588))
29+
* Move brace adjustment on enter to on auto insert in LSP(PR: [#80075](https://github.com/dotnet/roslyn/pull/80075))
30+
* Avoid throwing when obsolete overload of GetUpdatesAsync is invoked with empty array(PR: [#80161](https://github.com/dotnet/roslyn/pull/80161))
31+
* Bump patch version of MSBuild packages(PR: [#80156](https://github.com/dotnet/roslyn/pull/80156))
32+
* Include category in Hot Reload log messages(PR: [#80160](https://github.com/dotnet/roslyn/pull/80160))
33+
* Store client's version for open docs (PR: [#80064](https://github.com/dotnet/roslyn/pull/80064))
34+
* Pass global properties and the binary log path via RPC to BuildHost (PR: [#80094](https://github.com/dotnet/roslyn/pull/80094))
35+
* Don't switch runtime / design time solutions if cohosting is on (PR: [#80065](https://github.com/dotnet/roslyn/pull/80065))
36+
* Allow Razor to get task list items for a document (PR: [#80102](https://github.com/dotnet/roslyn/pull/80102))
37+
* Update debugger packages, move to PortableInterop IMetadataImport (PR: [#80063](https://github.com/dotnet/roslyn/pull/80063))
38+
* Fix issue reporting diagnostic in additional file when diagnostic produced by a source generator (PR: [#80071](https://github.com/dotnet/roslyn/pull/80071))
39+
* Bump Razor to 10.0.0-preview.25454.5 (PR: [#8590](https://github.com/dotnet/vscode-csharp/pull/8590))
40+
* Fix extra character insertion during attribute completion in VS Code (PR: [#12177](https://github.com/dotnet/razor/pull/12177))
41+
* Remove UseNewRazorFormattingEngine feature flag (PR: [#12160](https://github.com/dotnet/razor/pull/12160))
42+
* Allow for weird Uris as file paths (PR: [#12155](https://github.com/dotnet/razor/pull/12155))
43+
* Do not create a proxy agent if proxy url is empty string. (PR: [#8580](https://github.com/dotnet/vscode-csharp/pull/8580))
44+
* Use aka.ms link for ARM32 Linux help page (PR: [#8574](https://github.com/dotnet/vscode-csharp/pull/8574))
45+
* Update Debugger to 2.90.0 (PR: [#8572](https://github.com/dotnet/vscode-csharp/pull/8572))
46+
647
# 2.90.x
748
* Register the CSharp context provider with Copilot Chat as well. (PR: [#8565](https://github.com/dotnet/vscode-csharp/pull/8565))
849
* Improve the limited activation experience (PR: [#8564](https://github.com/dotnet/vscode-csharp/pull/8564))
@@ -13,8 +54,8 @@
1354
* Cache diagnostic analyzer computation (PR: [#80045](https://github.com/dotnet/roslyn/pull/80045))
1455
* Generate `init` accessor for required properties inside `readonly struct`s (PR: [#80004](https://github.com/dotnet/roslyn/pull/80004))
1556
* Allow Razor cohosting to work with non-Razor SDK projects (PR: [#79953](https://github.com/dotnet/roslyn/pull/79953))
16-
* Update 'use expr body' to be a purely syntactic analyzer (PR: [#79979](https://github.com/dotnet/roslyn/pull/79979))
17-
* Implement "Simplify property accessor" feature (PR: [#79754](https://github.com/dotnet/roslyn/pull/79754))
57+
* Update 'use expr body' to be a purely syntactic analyzer (PR: [#79979](https://github.com/dotnet/roslyn/pull/79979))
58+
* Implement "Simplify property accessor" feature (PR: [#79754](https://github.com/dotnet/roslyn/pull/79754))
1859
* Allow Razor to hook up the source generator in misc files (PR: [#79891](https://github.com/dotnet/roslyn/pull/79891))
1960
* Bump Razor to 10.0.0-preview.25424.9 (PR: [#8559](https://github.com/dotnet/vscode-csharp/pull/8559))
2061
* Allow Razor cohosting to work with non-Razor SDK projects (PR: [#12118](https://github.com/dotnet/razor/pull/12118))

CONTRIBUTING.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,15 +182,26 @@ To update the version of the roslyn server used by the extension do the followin
182182
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.
183183
5. Build and test the change. If everything looks good, submit a PR.
184184

185+
## Updating the `Roslyn` Copilot Language Server version
186+
187+
In order to pull in the latest version of Roslyn Copilot bits from the VS Conversations repo, follow these steps:
188+
1. Trigger [this pipeline](https://devdiv.visualstudio.com/DevDiv/_build?definitionId=27222) which should automatically publish bits to the storage account and then create an insertion PR like [this](https://github.com/dotnet/vscode-csharp/pull/8597)
189+
2. Build and test the change to ensure the roslyn copilot language server bits are downloaded correctly. You'll see log entries like the below in the Output->C# pane:
190+
```
191+
[info] Installing package 'Language server for Roslyn Copilot integration'
192+
[info] Finished
193+
```
194+
More details for this are [here] (https://devdiv.visualstudio.com/DevDiv/_git/VisualStudio.Conversations?path=/src/Copilot.Roslyn.LanguageServer/README.md)
195+
185196
## Snapping for releases
186197
Extension releases on the marketplace are done from the prerelease and release branches (corresponding to the prerelease or release version of the extension). Code flows from main -> prerelease -> release. Every week we snap main -> prerelease. Monthly, we snap prerelease -> release.
187198

188199
### Snap main -> prerelease
189200
The snap is done via the "Branch snap" github action. To run the snap from main -> prerelease, run the action via "Run workflow" and choose main as the base branch.
190-
![branch snap action](./docs/main_snap.png)
201+
![branch snap action](./docs/images/main_snap.png)
191202

192203
This will generate two PRs that must be merged. One merging the main branch into prerelease, and the other bumps the version in main.
193-
![generated prs](./docs/generated_prs.png)
204+
![generated prs](./docs/images/generated_prs.png)
194205

195206
### Snap prerelease -> release
196207
To snap from prerelease to release, run the same action but use **prerelease** as the workflow branch. This will generate a single PR merging from prerelease to release.
@@ -199,6 +210,6 @@ To snap from prerelease to release, run the same action but use **prerelease** a
199210
The marketplace release is managed by an internal AzDo pipeline. On the pipeline page, hit run pipeline. This will bring up the pipeline parameters to fill out:
200211
1. The branch will **always** be main, no matter if release a build from prerelease or release.
201212
2. Uncheck the "test" option.
202-
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)
203-
4. The pipeline parameters should then look something like the following image. Hit "Run". ![release pipeline parameters image](./docs/release_pipeline_params.png)
213+
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/images/release_pipeline.png)
214+
4. The pipeline parameters should then look something like the following image. Hit "Run". ![release pipeline parameters image](./docs/images/release_pipeline_params.png)
204215
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: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ For help and questions about using this project, please see the [README](https:/
1313
### How to file an issue
1414

1515
We highly recommend using the C# extension's built-in command, `CSharp: Report an issue` (`csharp.reportIssue`) to create a pre-filled issue template. This will include helpful details such as local dotnet installations, installed extensions, and other information.
16-
![csharp.reportIssue command](./docs/report_issue.png)
16+
![csharp.reportIssue command](./docs/images/report_issue.png)
1717

1818
#### Collecting General Logs
1919

@@ -22,8 +22,8 @@ The template has a section to include the `C#` output window logs. These logs ar
2222
1. **Set the Log Level to Trace**:
2323
- Open the `C#` output window (`View` -> `Output`).
2424
- Set the log level to `Trace`.
25-
26-
![c# output window showing trace option](./docs/csharp_trace.png)
25+
26+
![c# output window showing trace option](./docs/images/csharp_trace.png)
2727

2828
2. **Reproduce the Issue**:
2929
- Perform the actions that reproduce the issue.
@@ -57,8 +57,8 @@ For issues with Razor, the Razor Log output window can contain useful informatio
5757
1. **Set the Log Level to Trace**:
5858
- Open the `Razor Logs` output window (`View` -> `Output`).
5959
- Set the log level to `Trace`.
60-
61-
![razor log output window showing trace option](./docs/razor_logs.png)
60+
61+
![razor log output window showing trace option](./docs/images/razor_logs.png)
6262

6363
2. **Reproduce the Issue**:
6464
- Perform the actions that reproduce the issue.
@@ -81,7 +81,7 @@ Missing language features are often caused by a failure to load the project(s) o
8181
- This information is displayed in the bottom-right corner of the VSCode window in the language status section.
8282
- You can pin this item using the pin icon to keep it visible at all times.
8383

84-
![language status bar showing file active project context](./docs/language_status.png)
84+
![language status bar showing file active project context](./docs/images/language_status.png)
8585

8686
3. **Verify the Solution Explorer (C# Dev Kit)**:
8787
- If you are using C# Dev Kit, check the Solution Explorer to ensure the project is displayed with the expected references.
@@ -100,12 +100,12 @@ If you encounter issues with document classification (e.g., incorrect syntax hig
100100
3. Click on the word or section with incorrect colorization to display the token and scope information.
101101
- Take a screenshot of the output and include it in your issue report.
102102

103-
![Inspect Tokens and Scopes Output](./docs/inspect_tokens.png)
103+
![Inspect Tokens and Scopes Output](./docs/images/inspect_tokens.png)
104104

105105
### Diagnostics problems
106106

107107
For issues with diagnostics, please provide values of the background analysis scope options, `dotnet.backgroundAnalysis.analyzerDiagnosticsScope` and `dotnet.backgroundAnalysis.compilerDiagnosticsScope`
108-
![background analysis settings](./docs/background_analysis.png)
108+
![background analysis settings](./docs/images/background_analysis.png)
109109

110110
#### Language server crashing
111111

@@ -124,12 +124,12 @@ When investigating performance issues, we may request a performance trace of the
124124
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.
125125

126126
1. Invoke the record language server trace command
127-
![alt text](docs/recordTraceCommand.png)
127+
![alt text](docs/images/recordTraceCommand.png)
128128
2. Select the folder to save the trace.
129129
3. Accept the default trace arguments, or change them if requested
130-
![alt text](docs/recordTraceArgs.png)
130+
![alt text](docs/images/recordTraceArgs.png)
131131
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
132-
![alt text](docs/recordTraceTerminal.png)
132+
![alt text](docs/images/recordTraceTerminal.png)
133133
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.
134134

135135
## Microsoft Support Policy

azure-pipelines.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,33 @@ pr:
1515
- prerelease
1616
- main
1717
paths:
18+
# Exclude paths and files which do not cause functional changes to the C# extension and do not impact CI.
1819
exclude:
19-
- '*.md'
20-
- 'version.json'
20+
# Changes to these configuration files are not functional changes.
21+
- .azuredevops/*
22+
- .config/*
23+
- .devcontainer/*
2124
- .github/*
25+
- .vscode/*
26+
# The following pipelines are not run for PRs and changes should be validated by a separate run of the pipeline.
27+
- azure-pipelines/dotnet-vscode-csharp-insertion.yml
28+
- azure-pipelines/loc.yml
2229
- azure-pipelines/release.yml
23-
- CHANGELOG.
30+
- azure-pipelines/profiling.yml
31+
- azure-pipelines/publish-roslyn-copilot.yml
32+
# Changes to documentation are not functional changes.
33+
- docs/*
34+
- images/*
35+
- RuntimeLicenses/*
36+
# Changes to language bundles are not functional changes. We still run CI when `l10n/bundle.l10n.json` itself is changed.
2437
- 'l10n/bundle.l10n.*.json'
38+
# Changes to the color themes are not functional changes.
39+
- themes/*
40+
# Changes to documentation are not functional changes.
41+
- '**.md'
42+
- CODEOWNERS
43+
# Changes to the vesion is not a functional change. The extension version is updated by the branch-snap GH action.
44+
- 'version.json'
2545

2646
# Run a scheduled build every night on main to run tests against insiders VSCode.
2747
# The variable testVSCodeVersion is set to insiders based on the build reason.

azure-pipelines/publish-roslyn-copilot.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
trigger: none
22
pr: none
33

4+
variables:
5+
# Variable group contains PAT for bot account.
6+
- group: dotnet-vscode-insertion-variables
7+
48
resources:
59
repositories:
610
- repository: 1ESPipelineTemplates
@@ -29,16 +33,19 @@ extends:
2933
image: 1ESPT-Windows2022
3034
os: windows
3135
templateContext:
32-
type: releaseJob
33-
isProduction: false #change this
36+
isProduction: true
3437
inputs:
3538
- input: pipelineArtifact
3639
pipeline: CI
3740
artifactName: partnerDeployables-Windows
3841
destinationPath: $(Pipeline.Workspace)/artifacts
3942

4043
steps:
41-
- checkout: none
44+
- checkout: self
45+
clean: true
46+
submodules: true
47+
fetchTags: false
48+
fetchDepth: 0
4249

4350
- task: CopyFiles@2
4451
displayName: 'Copy files from Zip folder to staging directory'
@@ -56,3 +63,13 @@ extends:
5663
Destination: "AzureBlob"
5764
storage: "$(AzStorage)"
5865
ContainerName: "$(AzContainerName)"
66+
67+
- pwsh: |
68+
npm install
69+
npm install -g gulp
70+
displayName: 'Install tools'
71+
72+
- pwsh: gulp 'publish roslyn copilot' --userName dotnet-maestro-bot --email [email protected] --stagingDirectory '$(Build.ArtifactStagingDirectory)/staging'
73+
displayName: 'Create component update PR'
74+
env:
75+
GitHubPAT: $(BotAccount-dotnet-maestro-bot-PAT)

debugger.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Your project is now all set. Set a breakpoint or two where you want to stop, cli
6565
If your code was built on a different computer from where you would like to run in there are a few things to keep in mind --
6666

6767
* **Source Maps**: Unless your local source code is at exactly the same path as where the code was originally built you will need to add a [sourceFileMap](https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md#source-file-map) to launch.json.
68-
* **Portable PDBs**: If the code was built on Windows, it might have been built using Windows PDBs instead of portable PDBs, but the C# extension only supports portable PDBs. See the [portable PDB documentation](https://github.com/dotnet/vscode-csharp/wiki/Portable-PDBs#how-to-generate-portable-pdbs) for more information.
68+
* **Portable PDBs**: If the code was built on Windows, it might have been built using Windows PDBs instead of portable PDBs, but the C# extension only supports portable PDBs. See the [portable PDB documentation](./docs/debugger/Portable-PDBs.md#how-to-generate-portable-pdbs) for more information.
6969
* **Debug vs. Release**: It is much easier to debug code which has been compiled in the `Debug` configuration. So unless the issue you are looking at only reproduces with optimizations, it is much better to use Debug bits. If you do need to debug optimized code, you will need to disable [justMyCode](https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md#just-my-code) in launch.json.
7070

7171
#### [Configurating launch.json for C# Debugging](debugger-launchjson.md)
@@ -76,7 +76,7 @@ See the [official documentation](https://code.visualstudio.com/docs/csharp/debug
7676

7777
#### Remote Debugging
7878

79-
The debugger supports remotely launching or attaching to processes. See [Attaching to remote processes](https://github.com/dotnet/vscode-csharp/wiki/Attaching-to-remote-processes) in the wiki for more information.
79+
The debugger supports remotely launching or attaching to processes. See [Attaching to remote processes](./docs/debugger/Attaching-to-remote-processes.md) in the wiki for more information.
8080

8181
#### Exception Settings
8282

0 commit comments

Comments
 (0)