Skip to content

Commit dd6c175

Browse files
authored
Merge pull request #7497 from dotnet/merge/main-to-prerelease
[automated] Merge branch 'main' => 'prerelease'
2 parents 154590a + 00212d9 commit dd6c175

Some content is hidden

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

49 files changed

+2570
-240
lines changed

CHANGELOG.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,23 @@
44
- Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876)
55

66
# Latest
7+
* Update Roslyn to 4.12.0-3.24430.2 (PR: [#7496](https://github.com/dotnet/vscode-csharp/pull/7496))
8+
* Bump Razor to 9.0.0-preview.24427.2 (PR: [#7471](https://github.com/dotnet/vscode-csharp/pull/7471))
9+
* Suppress unique ids (#10791) (PR: [#10791](https://github.com/dotnet/razor/pull/10791))
10+
* Self-versioned documents (#10747) (PR: [#10747](https://github.com/dotnet/razor/pull/10747))
11+
* Remove ItemCollection from CodeRenderingContext (#10764) (PR: [#10764](https://github.com/dotnet/razor/pull/10764))
12+
* Moving formatting service to common layer (#10761) (PR: [#10761](https://github.com/dotnet/razor/pull/10761))
13+
* Allow LSP and cohosting to provide specialized methods to get a syntax tree (#10765) (PR: [#10765](https://github.com/dotnet/razor/pull/10765))
14+
* Update NOTICE.txt (#10768) (PR: [#10768](https://github.com/dotnet/razor/pull/10768))
15+
* Allow @@ as a fallback (#10752) (PR: [#10752](https://github.com/dotnet/razor/pull/10752))
16+
* Support component rename from an end tag (#10762) (PR: [#10762](https://github.com/dotnet/razor/pull/10762))
17+
* Bump xamltools to 17.12.35230.10 (PR: [#7493](https://github.com/dotnet/vscode-csharp/pull/7493))
18+
19+
# 2.45.17
720
* Fix check for rzls being present (PR: [#7462](https://github.com/dotnet/vscode-csharp/pull/7462))
821
* Bump Razor to 9.0.0-preview.24418.1 (PR: [#7456](https://github.com/dotnet/vscode-csharp/pull/7456))
922
* Don't add already known documents to the misc files project (#10753) (PR: [#10753](https://github.com/dotnet/razor/pull/10753))
1023
* Remove ItemCollection from TagHelperDescriptorProviderContext (#10720) (PR: [#10720](https://github.com/dotnet/razor/pull/10720))
11-
* Cohost inlay hint support (#10672) (PR: [#10672](https://github.com/dotnet/razor/pull/10672))
1224
* Fix excerpt service to allow for multi line verbatim strings (#10675) (PR: [#10675](https://github.com/dotnet/razor/pull/10675))
1325
* Fix attribute parsing recovery (#10620) (PR: [#10620](https://github.com/dotnet/razor/pull/10620))
1426
* Turn off trailing whitespace triming in strings (#10646) (PR: [#10646](https://github.com/dotnet/razor/pull/10646))
@@ -24,7 +36,7 @@
2436
* Bump xamltools to 17.12.35223.16 (PR: [#7464](https://github.com/dotnet/vscode-csharp/pull/7464))
2537
* Added XAML Hot Reload support for x:FactoryMethod and x:Arguments
2638

27-
# 2.44.x
39+
# 2.44.19
2840
* Bump Roslyn to 4.12.0-2.24416.3 (PR: [#7448](https://github.com/dotnet/vscode-csharp/pull/7448))
2941
* Use EnableCodeStyleSeverity instead of AnalysisLevel to control new diagnostic severity behavior (PR: [#73843](https://github.com/dotnet/roslyn/pull/73843))
3042
* Cleanup LSP error reporting (PR: [#74530](https://github.com/dotnet/roslyn/pull/74530))
@@ -51,7 +63,7 @@
5163
* Task 2187810: [VS Code] Add OnEnter rules to indent tags (PR: [#7426](https://github.com/dotnet/vscode-csharp/pull/7426))
5264
* Fix completion handler bug that causes language server to crash (#7401) (PR: [#7406](https://github.com/dotnet/vscode-csharp/pull/7406))
5365

54-
# 2.41.x
66+
# 2.41.26
5567
* Bump Roslyn to 4.12.0-1.24376.3 (PR: [#7393](https://github.com/dotnet/vscode-csharp/pull/7393))
5668
* Fix race condition in LSP FindAllReferences when linked files were involved.(PR: [#74566](https://github.com/dotnet/roslyn/pull/74566))
5769
* Fix dll load issue when loading Razor projects in VSCode (PR: [#74570](https://github.com/dotnet/roslyn/pull/74570))
@@ -78,7 +90,7 @@
7890
* `dotnet.implementType.insertionBehavior` to `dotnet.typeMembers.memberInsertionLocation`
7991
* `dotnet.implementType.propertyGenerationBehavior` to `dotnet.typeMembers.propertyGenerationBehavior`
8092

81-
# 2.39.x
93+
# 2.39.29
8294
* Add language status bar item displaying project context for open files (PR: [#7321](https://github.com/dotnet/vscode-csharp/pull/7321), PR: [#7333](https://github.com/dotnet/vscode-csharp/pull/7333))
8395
* Add language status bar item for workspace status (C# standalone) (PR: [#7254](https://github.com/dotnet/vscode-csharp/pull/7254), PR: [#7329])https://github.com/dotnet/vscode-csharp/pull/7329))
8496
* Update Razor to 9.0.0-preview.24365.1 (PR: [#7354](https://github.com/dotnet/vscode-csharp/pull/7354))

CONTRIBUTING.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Setting up your local development environment for the vscode-csharp repository i
2222

2323
Before you start, make sure you have the following software installed on your machine:
2424

25-
* Node.js v18 ([v18.17.0 LTS](https://nodejs.org/en/blog/release/v18.17.0)).
25+
* Node.js v18 ([v18.17.0 LTS](https://nodejs.org/en/blog/release/v20.17.0)).
2626
* Note - Building with higher major versions of Node.js is not advised - it may work but we do not test it.
2727
* Npm (The version shipped with node is fine)
2828
* .NET 8.0 SDK (dotnet should be on your path)
@@ -141,6 +141,11 @@ Or, in VSCode settings (`Ctrl+,`):
141141
3. Enable `razor.languageServer.debug`.
142142
4. Set `razor.server.trace` to `Debug`. This gives you more detailed log messages in the output window.
143143

144+
### Updating NPM packages
145+
We use the .NET eng AzDo artifacts feed https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet-public-npm/npm/registry/ with upstreams to the public npm registry.
146+
Auth is required in order to pull new packages from the upstream. This can be done by running `vsts-npm-auth -config .npmrc`.
147+
If you need to renew authorization, you can force it via `vsts-npm-auth -config .npmrc -F`
148+
144149
## Creating VSIX Packages for the Extension
145150

146151
To package this extension, we need to create VSIX Packages. The VSIX packages can be created using the gulp command `gulp vsix:release:package`. This will create all the platform specific VSIXs that you can then install manually in VSCode.

azure-pipelines/install-node.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
steps:
2+
- task: NodeTool@0
3+
displayName: 'Install Node.js 20.x'
4+
inputs:
5+
versionSpec: '20.x'

azure-pipelines/prereqs.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ steps:
1111
# The server package is downloaded from NuGet
1212
- task: NuGetAuthenticate@1
1313

14-
- task: NodeTool@0
15-
displayName: 'Install Node.js 18.x'
16-
inputs:
17-
versionSpec: '18.x'
14+
- template: /azure-pipelines/install-node.yml@self
1815

1916
# Some tests use predefined docker images with a specific version of .NET installed.
2017
# So we avoid installing .NET in those cases.

azure-pipelines/release.yml

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ parameters:
77
default: true
88

99
variables:
10-
# This is expected to provide VisualStudioMarketplacePAT to the release (https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token)
11-
- group: vscode-csharp release secrets
1210
# This is expected to provide pat to tag release.
1311
- group: DncEng-Partners-Tokens
1412

@@ -55,59 +53,63 @@ extends:
5553
buildVersionToDownload: 'specific'
5654
buildId: '$(resources.pipeline.officialBuildCI.runID)'
5755
branchName: '$(resources.pipeline.officialBuildCI.sourceBranch)'
56+
- template: /azure-pipelines/install-node.yml@self
5857
- pwsh: |
59-
npm install --global vsce
58+
npm install --global @vscode/vsce
6059
displayName: 'Install vsce'
61-
- pwsh: |
62-
# Choose whether to upload to prerelease or release based on the artifacts generated by the build pipeline.
63-
$artifactFolder = ""
64-
$uploadPrerelease = $true
65-
if (Test-Path -Path "VSIX_Prerelease") {
66-
$artifactFolder = "VSIX_Prerelease"
67-
$uploadPrerelease = $true
68-
} elseif (Test-Path -Path "VSIX_Release") {
69-
$artifactFolder = "VSIX_Release"
70-
$uploadPrerelease = $false
71-
} else {
72-
throw "No artifacts are downloaded."
73-
}
60+
- task: AzureCLI@2
61+
displayName: '🚀 Publish to Marketplace'
62+
inputs:
63+
azureSubscription: 'VSCode Marketplace Publishing'
64+
scriptType: "pscore"
65+
scriptLocation: 'inlineScript'
66+
workingDirectory: $(Pipeline.Workspace)
67+
inlineScript: |
68+
# Choose whether to upload to prerelease or release based on the artifacts generated by the build pipeline.
69+
$artifactFolder = ""
70+
$uploadPrerelease = $true
71+
if (Test-Path -Path "VSIX_Prerelease") {
72+
$artifactFolder = "VSIX_Prerelease"
73+
$uploadPrerelease = $true
74+
} elseif (Test-Path -Path "VSIX_Release") {
75+
$artifactFolder = "VSIX_Release"
76+
$uploadPrerelease = $false
77+
} else {
78+
throw "No artifacts are downloaded."
79+
}
7480
75-
Write-Host "Uploading artifacts from $artifactFolder with prerelease=$uploadPrerelease"
81+
Write-Host "Uploading artifacts from $artifactFolder with prerelease=$uploadPrerelease"
7682
77-
# Our build pipeline would generated build based on attempt number. Publishing the latest attempt.
78-
$allArtifacts = Get-ChildItem -Path "$artifactFolder*" | Sort-Object -Descending
79-
if ($allArtifacts.Length -eq 0) {
80-
throw "No artifacts in $artifactFolder"
81-
}
83+
# Our build pipeline would generated build based on attempt number. Publishing the latest attempt.
84+
$allArtifacts = Get-ChildItem -Path "$artifactFolder*" | Sort-Object -Descending
85+
if ($allArtifacts.Length -eq 0) {
86+
throw "No artifacts in $artifactFolder"
87+
}
8288
83-
$publishArtifacts = $allArtifacts[0]
84-
Write-Host "All artifacts: $($allArtifacts). Publishing $($publishArtifacts)."
89+
$publishArtifacts = $allArtifacts[0]
90+
Write-Host "All artifacts: $($allArtifacts). Publishing $($publishArtifacts)."
8591
86-
$basePublishArgs = , "publish"
87-
If ( $uploadPrerelease ) {
88-
$basePublishArgs += "--pre-release"
89-
Write-Host "Publish to pre-release channel."
90-
} Else {
91-
Write-Host "Publish to release channel."
92-
}
93-
$basePublishArgs += '--packagePath'
94-
$publishArgs = $basePublishArgs + (Get-ChildItem $publishArtifacts\*.vsix | Sort-Object Name -Descending |% { $_ })
92+
$basePublishArgs = , "publish --azure-credential"
93+
If ( $uploadPrerelease ) {
94+
$basePublishArgs += "--pre-release"
95+
Write-Host "Publish to pre-release channel."
96+
} Else {
97+
Write-Host "Publish to release channel."
98+
}
99+
$basePublishArgs += '--packagePath'
100+
$publishArgs = $basePublishArgs + (Get-ChildItem $publishArtifacts\*.vsix | Sort-Object Name -Descending |% { $_ })
95101
96-
If ("${{ parameters.test }}" -eq "true") {
97-
Write-Host "In test mode, command is printed instead of run."
98-
Write-Host "##[command]vsce $publishArgs"
102+
If ("${{ parameters.test }}" -eq "true") {
103+
Write-Host "In test mode, command is printed instead of run."
104+
Write-Host "##[command]vsce $publishArgs"
99105
100-
Write-Host "🔒 Verify PAT."
101-
vsce verify-pat ms-dotnettools
102-
}
103-
Else {
104-
Write-Host "##[command]vsce $publishArgs"
105-
vsce @publishArgs
106-
}
107-
displayName: 🚀 Publish to Marketplace
108-
workingDirectory: $(Pipeline.Workspace)
109-
env:
110-
VSCE_PAT: $(VSCodeMarketplacePAT)
106+
Write-Host "🔒 Verify PAT."
107+
vsce verify-pat --azure-credential ms-dotnettools
108+
}
109+
Else {
110+
Write-Host "##[command]vsce $publishArgs"
111+
vsce @publishArgs
112+
}
111113
- stage: 'TagRelease'
112114
displayName: 'Tag release of vscode-csharp'
113115
dependsOn: 'PublishStage'
@@ -119,15 +121,12 @@ extends:
119121
image: 1es-ubuntu-2204
120122
os: linux
121123
steps:
122-
- task: NodeTool@0
123-
displayName: 'Install Node.js 18.x'
124-
inputs:
125-
versionSpec: '18.x'
126124
- checkout: self
127125
clean: true
128126
submodules: true
129127
fetchTags: false
130128
fetchDepth: 0
129+
- template: /azure-pipelines/install-node.yml@self
131130
- pwsh: |
132131
git checkout $(resources.pipeline.officialBuildCI.sourceCommit)
133132
displayName: 'Checkout build source branch'

0 commit comments

Comments
 (0)