Skip to content

Commit 929181a

Browse files
authored
Merge pull request #6193 from dibarbet/merge_main
Merge main to release
2 parents e6c352a + 61bc0f7 commit 929181a

File tree

250 files changed

+1891
-866
lines changed

Some content is hidden

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

250 files changed

+1891
-866
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# This is a generated file from vscode-l10n tool, and it always uses 'lf' and line ending. Set it to 'lf' so we don't get warning every time when localization file get changed.
2+
l10n/bundle.l10n.json text eol=lf

.vscode/launch.json

Lines changed: 41 additions & 41 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
First install:
66

7-
* Node.js ([v18.17.0 LTS](https://nodejs.org/de/blog/release/v18.17.0) is recommended).
7+
* Node.js ([v18.17.0 LTS](https://nodejs.org/en/blog/release/v18.17.0) is recommended).
88
* Npm (The version shipped with node is fine)
99
* .NET 7.0 SDK (dotnet should be on your path)
1010

README.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ While it is possible to use the C# extension as a standalone extension, we highl
88
2. Open a folder/workspace that contains a C# project (.csproj) and a C# solution (.sln) and the extension will activate.
99
3. Whether you install C# Dev Kit or just the C# extension, the [.NET Runtime Installer Tool extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-runtime) will be installed as a dependency.
1010

11-
Note: If working on a solution that requires versions prior to .NET 6 or non-solution based projects, install a Full Framework runtime and [MSBuild tooling](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022).
11+
Note: If working on a solution that requires versions prior to .NET 6 or non-solution based projects, install a .NET Framework runtime and [MSBuild tooling](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022).
1212
* Set omnisharp.useModernNet to false and set dotnet.server.useOmnisharp to true
1313
* Uninstall or disable C# Dev Kit
1414
* Windows: .NET Framework along with [MSBuild Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
@@ -29,11 +29,20 @@ For more information you can:
2929
## How to use OmniSharp?
3030
If you don’t want to take advantage of the great Language Server features, you can revert back to using OmniSharp by going to the Extension settings and setting `dotnet.server.useOmnisharp` to true. Next, uninstall or disable C# Dev Kit. Finally, restart VS Code for this to take effect.
3131

32-
3332
## Found a Bug?
34-
To file a new issue to include all the related config information directly from vscode by entering the command pallette with Ctrl+Shift+P (Cmd+Shift+P on macOS) and running CSharp: Report an issue command. This will open a browser window with all the necessary information related to the installed extensions, dotnet version, mono version, etc. Enter all the remaining information and hit submit.
35-
Alternatively you could visit https://github.com/dotnet/vscode-csharp/issues and file a new one.
36-
33+
To file a new issue:
34+
35+
1. Open the Command Palette with Ctrl+Shift+P (Cmd+Shift+P on macOS), type "Open Settings (UI)", and press Enter.
36+
2. Search for "trace" in the search bar. Under "Dotnet > Server: Trace" select "Trace" from the drop down. This will provide more output information.
37+
3. Reload the window by opening the Command Palette with Ctrl+Shift+P (Cmd+Shift+P on macOS), type "Reload Window", and press Enter.
38+
4. Next, check the C# logs in the Output Window by opening it with Ctrl+Shift+U (Cmd+Shift+U on macOS), and select C# from the dropdown.
39+
5. Select and copy all the text in the log, and then report the issue through VS Code.
40+
6. Open the Command Palette with Ctrl+Shift+P (Cmd+Shift+P on macOS), type “CSharp: Report an issue”, and press Enter.
41+
7. This will open a window with all the necessary information related to the C# extension, dotnet version, mono version, etc.
42+
8. Paste the previously copied C# log into the “Steps to Reproduce” field. Please also include a description of what you were doing/attempting to do at the time the problem occurred.
43+
9. Click the “Preview on GitHub” button, and then file the issue.
44+
45+
Alternatively, you could visit https://github.com/dotnet/vscode-csharp/issues and file a new issue there.
3746

3847
## Contributing
3948

azure-pipelines/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ steps:
2222
targetPath: '$(Build.SourcesDirectory)/vsix'
2323
artifactName: 'VSIXs - Attempt $(System.JobAttempt)'
2424

25-
- script: npm run test:artifacts
25+
- script: npm run omnisharptest:artifacts
2626
displayName: 'Run artifacts tests'

azure-pipelines/loc.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1-
trigger: none
1+
trigger:
2+
branches:
3+
include:
4+
- main
5+
26
pr: none
37

8+
# localization result might not be ready when PR triggered the pipeline.
9+
# Run this weekly to make sure everything is localized.
10+
schedules:
11+
- cron: '0 12 * * 0'
12+
displayName: Weekly localization run
13+
always: true
14+
branches:
15+
include:
16+
- main
17+
418
parameters:
519
- name: publishLocalizationFile
620
type: boolean

azure-pipelines/release.yml

Lines changed: 102 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -15,66 +15,110 @@ parameters:
1515
variables:
1616
# This is expected to provide VisualStudioMarketplacePAT to the release (https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token)
1717
- group: vscode-csharp release secrets
18+
# This is expected to provide pat to tag release.
19+
- group: DncEng-Partners-Tokens
1820

19-
jobs:
20-
- job: PublishToMarketplace
21-
pool:
22-
vmImage: ubuntu-latest
23-
steps:
24-
- task: DownloadPipelineArtifact@2
25-
displayName: '📦 Download artifacts from build pipeline.'
26-
inputs:
27-
buildType: 'specific'
28-
project: 'internal'
29-
definition: 1264
30-
buildVersionToDownload: 'specific'
31-
buildId: '$(resources.pipeline.officialBuildCI.runID)'
32-
branchName: '$(resources.pipeline.officialBuildCI.sourceBranch)'
33-
- pwsh: |
34-
npm install --global vsce
35-
displayName: 'Install vsce'
36-
- pwsh: |
37-
# Our build pipeline would generated build based on attempt number. Publishing the latest attempt.
38-
$allArtifacts = Get-ChildItem -Path "VSIXs - Attempt*" | Sort-Object -Descending
39-
if ($allArtifacts.Length -eq 0) {
40-
throw "No Artifacts is downloaded."
41-
}
21+
stages:
22+
- stage: PublishStage
23+
jobs:
24+
- deployment: PublishToMarketplace
25+
displayName: PublishToMarketplace
26+
environment: vscode-csharp-release-approvals
27+
pool:
28+
vmImage: ubuntu-latest
29+
strategy:
30+
runOnce:
31+
deploy:
32+
steps:
33+
- download: 'none'
34+
- task: DownloadPipelineArtifact@2
35+
displayName: '📦 Download artifacts from build pipeline.'
36+
inputs:
37+
buildType: 'specific'
38+
project: 'internal'
39+
definition: 1264
40+
buildVersionToDownload: 'specific'
41+
buildId: '$(resources.pipeline.officialBuildCI.runID)'
42+
branchName: '$(resources.pipeline.officialBuildCI.sourceBranch)'
43+
- pwsh: |
44+
npm install --global vsce
45+
displayName: 'Install vsce'
46+
- pwsh: |
47+
# Our build pipeline would generated build based on attempt number. Publishing the latest attempt.
48+
$allArtifacts = Get-ChildItem -Path "VSIXs - Attempt*" | Sort-Object -Descending
49+
if ($allArtifacts.Length -eq 0) {
50+
throw "No Artifacts is downloaded."
51+
}
4252
43-
$publishArtifacts = $allArtifacts[0]
44-
Write-Host "All artifacts: $($allArtifacts). Publishing $($publishArtifacts)."
53+
$publishArtifacts = $allArtifacts[0]
54+
Write-Host "All artifacts: $($allArtifacts). Publishing $($publishArtifacts)."
4555
46-
$additionalPublishArgs = , "publish"
47-
# Artifacts are published to either pre-release or release based on the build branch, https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions
48-
If ("$(resources.pipeline.officialBuildCI.sourceBranch)" -eq "refs/heads/main") {
49-
$additionalPublishArgs += "--pre-release"
50-
Write-Host "Publish to pre-release channel."
51-
} ElseIf ("$(resources.pipeline.officialBuildCI.sourceBranch)" -eq "refs/heads/release") {
52-
Write-Host "Publish to release channel."
53-
} Else {
54-
throw "Unexpected branch name: $(resources.pipeline.officialBuildCI.sourceBranch)."
55-
}
56-
$additionalPublishArgs += '--packagePath'
56+
$basePublishArgs = , "publish"
57+
# Artifacts are published to either pre-release or release based on the build branch, https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions
58+
If ("$(resources.pipeline.officialBuildCI.sourceBranch)" -eq "refs/heads/main") {
59+
$basePublishArgs += "--pre-release"
60+
Write-Host "Publish to pre-release channel."
61+
} ElseIf ("$(resources.pipeline.officialBuildCI.sourceBranch)" -eq "refs/heads/release") {
62+
Write-Host "Publish to release channel."
63+
} Else {
64+
throw "Unexpected branch name: $(resources.pipeline.officialBuildCI.sourceBranch)."
65+
}
66+
$basePublishArgs += '--packagePath'
5767
58-
$platforms = "arm64", "x64", "ia32"
59-
$allVsixs = Get-ChildItem $publishArtifacts *.vsix
60-
foreach ($vsix in $allVsixs) {
61-
foreach ($plat in $platforms) {
62-
if ($vsix.Name.Contains($plat)) {
63-
$additionalPublishArgs += $vsix
64-
}
65-
}
66-
}
68+
# Publish win32-ia32 last as recommended at https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions
69+
# Since validation is done asynchronously, we further take care to push the win32 variants in the first batch *first*,
70+
# to give them the longest lead time possible before the second batch with just the win32-ia32 vsix is published.
71+
$nonIA32PlatformArgs = $basePublishArgs + (Get-ChildItem $publishArtifacts\*.vsix -Include *x64*, *arm64* | Sort-Object Name -Descending |% { $_ })
72+
$ia32PlatformArgs = $basePublishArgs + (Get-ChildItem $publishArtifacts\*.vsix -Include *ia32* | Sort-Object Name -Descending |% { $_ })
6773
68-
Write-Host "Command run is: vsce $($additionalPublishArgs)."
69-
If ("${{ parameters.test }}" -eq "true") {
70-
Write-Host "In test mode, command is printed instead of run."
71-
Write-Host "🔒 Verify PAT."
72-
vsce verify-pat ms-dotnettools
73-
}
74-
Else {
75-
vsce @additionalPublishArgs
76-
}
77-
displayName: 🚀 Publish to Marketplace
78-
workingDirectory: $(Pipeline.Workspace)
79-
env:
80-
VSCE_PAT: $(VSCodeMarketplacePAT)
74+
If ("${{ parameters.test }}" -eq "true") {
75+
Write-Host "In test mode, command is printed instead of run."
76+
Write-Host "##[command]vsce $nonIA32PlatformArgs"
77+
Write-Host "##[command]vsce $ia32PlatformArgs"
78+
79+
Write-Host "🔒 Verify PAT."
80+
vsce verify-pat ms-dotnettools
81+
}
82+
Else {
83+
Write-Host "##[command]vsce $nonIA32PlatformArgs"
84+
vsce @nonIA32PlatformArgs
85+
Write-Host "##[command]vsce $ia32PlatformArgs"
86+
vsce @ia32PlatformArgs
87+
}
88+
displayName: 🚀 Publish to Marketplace
89+
workingDirectory: $(Pipeline.Workspace)
90+
env:
91+
VSCE_PAT: $(VSCodeMarketplacePAT)
92+
- stage: 'TagRelease'
93+
displayName: 'Tag release of vscode-csharp'
94+
dependsOn: 'PublishStage'
95+
condition: and(succeeded('PublishStage'), eq(variables['resources.pipeline.officialBuildCI.sourceBranch'], 'refs/heads/release'))
96+
jobs:
97+
- job: 'Tag'
98+
pool:
99+
vmImage: ubuntu-latest
100+
steps:
101+
- task: NodeTool@0
102+
displayName: 'Install Node.js 18.x'
103+
inputs:
104+
versionSpec: '18.x'
105+
- checkout: self
106+
clean: true
107+
submodules: true
108+
fetchTags: false
109+
fetchDepth: 0
110+
- pwsh: |
111+
git checkout $(resources.pipeline.officialBuildCI.sourceCommit)
112+
displayName: 'Checkout to release branch'
113+
- pwsh: |
114+
npm ci
115+
npm install
116+
npm install -g gulp
117+
gulp installDependencies
118+
displayName: 'Install dependencies.'
119+
- pwsh: |
120+
# build number is generated by nerdbank git versioning and set to AzureDev
121+
gulp createTags --releaseVersion $(resources.pipeline.officialBuildCI.runName) --releaseCommit $(resources.pipeline.officialBuildCI.sourceCommit) --dryRun ${{ parameters.test }}
122+
env:
123+
GitHubPAT: $(BotAccount-dotnet-bot-content-rw-grained-pat)
124+
displayName: 'Create release tags'

azure-pipelines/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ steps:
1515
Write-Host "Now running tests"
1616
}
1717
18-
npm run test
18+
npm run omnisharptest
1919
displayName: 🧪 Run unit and integration tests
2020

2121
- task: PublishPipelineArtifact@1

gulpfile.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ require('./tasks/testTasks');
1111
require('./tasks/offlinePackagingTasks');
1212
require('./tasks/backcompatTasks');
1313
require('./tasks/localizationTasks');
14+
require('./tasks/createTagsTasks');
1415

1516
// Disable warning about wanting an async function
1617
// tslint:disable-next-line

l10n/bundle.l10n.cs.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"Cannot resolve .NET debug configurations. The server is still initializing or has exited unexpectedly.": "Nelze přeložit konfigurace ladění .NET. Server se stále inicializuje nebo se neočekávaně ukončil.",
1616
"Cannot start collecting Razor logs when {0} is set to {1}. Please set {0} to {2} and then reload your VSCode environment and re-run the report Razor issue command.": "Když je {0} nastavené na {1}, nejde zahájit shromažďování protokolů Razor. Nastavte prosím {0} na {2}, znovu načtěte prostředí VSCode a opakujte příkaz pro nahlášení problémů s Razorem.",
1717
"Cannot stop Razor Language Server as it is already stopped.": "Jazykový server Razor se nedá zastavit, protože už je zastavený.",
18+
"Choose": "Zvolit",
19+
"Choose and set default": "Zvolit a nastavit výchozí",
1820
"Click {0}. This will copy all relevant issue information.": "Klikněte na {0}. Zkopírují se tím všechny relevantní informace o problému.",
1921
"Configuration \"{0}\" in launch.json does not have a {1} argument with {2} for remote process listing.": "Konfigurace „{0}“ v souboru launch.json nemá argument {1} s {2} pro výpis vzdáleného procesu.",
2022
"Copy C#": "Kopírovat kód C#",
@@ -28,6 +30,7 @@
2830
"Couldn't create self-signed certificate. See output for more information.": "Certifikát podepsaný svým držitelem (self-signed certificate) se nepovedlo vytvořit. Další informace najdete ve výstupu.",
2931
"Description of the problem": "Popis problému",
3032
"Disable message in settings": "Zakázat zprávu v nastavení",
33+
"Do not load any": "Nic nenačítat",
3134
"Does not contain .NET Core projects.": "Neobsahuje projekty .NET Core.",
3235
"Don't Ask Again": "Příště už se neptat",
3336
"Enable launching a web browser when ASP.NET Core starts. For more information: {0}": "Povolit spuštění webového prohlížeče při spuštění ASP.NET Core. Další informace: {0}",
@@ -138,6 +141,7 @@
138141
"Yes": "Ano",
139142
"You must first start the data collection before copying.": "Před kopírováním je zapotřebí nejdříve spustit shromažďování dat.",
140143
"You must first start the data collection before stopping.": "Před zastavením je zapotřebí nejdříve spustit shromažďování dat.",
144+
"Your workspace has multiple Visual Studio Solution files; please select one to get full IntelliSense.": "Váš pracovní prostor má více souborů řešení Visual Studio. Vyberte prosím jednu, abyste získali úplnou technologii IntelliSense.",
141145
"[ERROR] The debugger cannot be installed. The debugger requires macOS 10.12 (Sierra) or newer.": "[CHYBA] Ladicí program nelze nainstalovat. Ladicí program vyžaduje macOS 10.12 (Sierra) nebo novější.",
142146
"[ERROR] The debugger cannot be installed. Unknown platform.": "[CHYBA] Ladicí program nelze nainstalovat. Neznámá platforma.",
143147
"[ERROR]: C# Extension failed to install the debugger package.": "[CHYBA]: Rozšíření jazyka C# se nepodařilo nainstalovat balíček ladicího programu.",

0 commit comments

Comments
 (0)