Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita11b2ae

Browse files
authored
Support both provider ID's for cmake-tools (microsoft#4587)
1 parent1a7e9b9 commita11b2ae

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

‎Extension/src/LanguageServer/client.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import * as logger from '../logger';
2626
import{updateLanguageConfigurations,registerCommands}from'./extension';
2727
import{SettingsTracker,getTracker}from'./settingsTracker';
2828
import{getTestHook,TestHook}from'../testHook';
29-
import{getCustomConfigProviders,CustomConfigurationProviderCollection,CustomConfigurationProvider1}from'../LanguageServer/customProviders';
29+
import{getCustomConfigProviders,CustomConfigurationProviderCollection,CustomConfigurationProvider1,isSameProviderExtensionId}from'../LanguageServer/customProviders';
3030
import{ABTestSettings,getABTestSettings}from'../abTesting';
3131
import*asfsfrom'fs';
3232
import*asosfrom'os';
@@ -1167,7 +1167,7 @@ export class DefaultClient implements Client {
11671167
},
11681168
()=>ask.Value=false);
11691169
}
1170-
}elseif(selectedProvider===provider.extensionId){
1170+
}elseif(isSameProviderExtensionId(selectedProvider,provider.extensionId)){
11711171
onRegistered();
11721172
telemetry.logLanguageServerEvent("customConfigurationProvider",{"providerId":provider.extensionId});
11731173
}elseif(selectedProvider===provider.name){
@@ -1974,7 +1974,7 @@ export class DefaultClient implements Client {
19741974
this.model.activeConfigName.Value=configurations[params.currentConfiguration].name;
19751975
}).then(()=>{
19761976
letnewProvider:string=this.configuration.CurrentConfigurationProvider;
1977-
if(this.configurationProvider!==newProvider){
1977+
if(!isSameProviderExtensionId(newProvider,this.configurationProvider)){
19781978
this.configurationProvider=newProvider;
19791979
this.updateCustomConfigurations();
19801980
this.updateCustomBrowseConfiguration();

‎Extension/src/LanguageServer/customProviders.ts‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ export interface CustomConfigurationProvider1 extends CustomConfigurationProvide
1717
readonlyversion:Version;
1818
}
1919

20+
constoldCmakeToolsExtensionId:string="vector-of-bool.cmake-tools";
21+
constnewCmakeToolsExtensionId:string="ms-vscode.cmake-tools";
22+
2023
/**
2124
* Wraps the incoming CustomConfigurationProvider so that we can treat all of them as if they were the same version (e.g. latest)
2225
*/
@@ -185,6 +188,18 @@ export class CustomConfigurationProviderCollection {
185188
if(this.providers.has(id)){
186189
returnthis.providers.get(id);
187190
}
191+
192+
if(typeofprovider==="string"){
193+
// Consider old and new names for cmake-tools as equivalent
194+
if(provider===newCmakeToolsExtensionId){
195+
id=oldCmakeToolsExtensionId;
196+
}elseif(provider===oldCmakeToolsExtensionId){
197+
id=newCmakeToolsExtensionId;
198+
}
199+
if(this.providers.has(id)){
200+
returnthis.providers.get(id);
201+
}
202+
}
188203
returnnull;
189204
}
190205

@@ -231,3 +246,15 @@ let providerCollection: CustomConfigurationProviderCollection = new CustomConfig
231246
exportfunctiongetCustomConfigProviders():CustomConfigurationProviderCollection{
232247
returnproviderCollection;
233248
}
249+
250+
exportfunctionisSameProviderExtensionId(settingExtensionId:string,providerExtensionId:string):boolean{
251+
if(settingExtensionId===providerExtensionId){
252+
returntrue;
253+
}
254+
// Consider old and new names for cmake-tools as equivalent
255+
if((settingExtensionId===newCmakeToolsExtensionId&&providerExtensionId===oldCmakeToolsExtensionId)
256+
||(settingExtensionId===oldCmakeToolsExtensionId&&providerExtensionId===newCmakeToolsExtensionId)){
257+
returntrue;
258+
}
259+
returnfalse;
260+
}

‎Extension/src/LanguageServer/ui.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import*asvscodefrom'vscode';
88
import{Client}from'./client';
99
import{ReferencesCommandMode,referencesCommandModeToString}from'./references';
10-
import{getCustomConfigProviders,CustomConfigurationProviderCollection}from'./customProviders';
10+
import{getCustomConfigProviders,CustomConfigurationProviderCollection,isSameProviderExtensionId}from'./customProviders';
1111
import*asnlsfrom'vscode-nls';
1212

1313
nls.config({messageFormat:nls.MessageFormat.bundle,bundleFormat:nls.BundleFormat.standalone})();
@@ -195,7 +195,7 @@ export class UI {
195195
letitems:KeyedQuickPickItem[]=[];
196196
providers.forEach(provider=>{
197197
letlabel:string=provider.name;
198-
if(provider.extensionId===currentProvider){
198+
if(isSameProviderExtensionId(currentProvider,provider.extensionId)){
199199
label+=` (${localize("active","active")})`;
200200
}
201201
items.push({label:label,description:"",key:provider.extensionId});

‎Extension/ui/settings.html‎

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

573573
<divclass="section">
574574
<divclass="section-title"data-loc-id="configuration.provider">Configuration provider</div>
575-
<divclass="section-text"data-loc-id="configuration.provider.description">The ID of a VS Code extension that can provide IntelliSense configuration information for source files. For example, use the VS Code extension ID<code>vector-of-bool.cmake-tools</code> to provide configuration information from the CMake Tools extension.</div>
575+
<divclass="section-text"data-loc-id="configuration.provider.description">The ID of a VS Code extension that can provide IntelliSense configuration information for source files. For example, use the VS Code extension ID<code>ms-vscode.cmake-tools</code> to provide configuration information from the CMake Tools extension.</div>
576576
<div>
577577
<inputname="inputValue"id="configurationProvider"style="width: 290px"></input>
578578
</div>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp