Skip to content

Commit f026ea8

Browse files
feat. Support version tag (#259)
1 parent bd141a0 commit f026ea8

File tree

12 files changed

+401
-67
lines changed

12 files changed

+401
-67
lines changed

package.json

Lines changed: 56 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -116,74 +116,109 @@
116116
"configuration": {
117117
"title": "Power Query SDK",
118118
"properties": {
119+
"powerquery.sdk.features.autoDetection": {
120+
"scope": "machine-overridable",
121+
"type": "boolean",
122+
"description": "%extension.pqtest.config.features.autoDetection.description%",
123+
"default": true,
124+
"order": 9
125+
},
119126
"powerquery.sdk.project.autoDetection": {
120127
"scope": "machine-overridable",
121128
"type": "boolean",
122129
"description": "%extension.pqtest.config.features.autoDetection.description%",
123130
"default": true,
131+
"order": 10,
124132
"deprecationMessage": "Deprecated: Please use powerquery.sdk.features.autoDetection instead.",
125133
"markdownDeprecationMessage": "**Deprecated**: Please use `#powerquery.sdk.features.autoDetection#` instead."
126134
},
127-
"powerquery.sdk.pqtest.location": {
135+
"powerquery.sdk.features.useServiceHost": {
128136
"scope": "machine-overridable",
137+
"type": "boolean",
138+
"default": false,
139+
"order": 10,
140+
"description": "%extension.pqtest.config.features.useServiceHost%"
141+
},
142+
"powerquery.sdk.defaultExtension": {
143+
"scope": "window",
129144
"type": "string",
130-
"deprecationMessage": "Deprecated: Please use powerquery.sdk.tools.location instead.",
131-
"description": "%extension.pqtest.config.pqtest.location.description%"
145+
"order": 29,
146+
"description": "%extension.pqtest.config.pqtest.extension.description%"
147+
},
148+
"powerquery.sdk.defaultQueryFile": {
149+
"scope": "window",
150+
"type": "string",
151+
"order": 29,
152+
"description": "%extension.pqtest.config.pqtest.queryFile.description%"
132153
},
133154
"powerquery.sdk.pqtest.extension": {
134155
"scope": "window",
135156
"type": "string",
157+
"order": 30,
136158
"deprecationMessage": "Deprecated: Please use powerquery.sdk.defaultExtension instead.",
137159
"description": "%extension.pqtest.config.pqtest.extension.description%"
138160
},
139161
"powerquery.sdk.pqtest.queryFile": {
140162
"scope": "window",
141163
"type": "string",
164+
"order": 30,
142165
"deprecationMessage": "Deprecated: Please use powerquery.sdk.defaultQueryFile instead.",
143166
"description": "%extension.pqtest.config.pqtest.queryFile.description%"
144167
},
145168
"powerquery.sdk.externals.msbuildPath": {
146169
"scope": "machine-overridable",
147170
"type": "string",
171+
"order": 50,
148172
"description": "%extension.pqtest.config.externals.msbuildPath.description%"
149173
},
150174
"powerquery.sdk.externals.nugetPath": {
151175
"scope": "machine-overridable",
152176
"type": "string",
177+
"order": 50,
153178
"description": "%extension.pqtest.config.externals.nugetPath.description%"
154179
},
180+
"powerquery.sdk.externals.versionTag": {
181+
"scope": "machine-overridable",
182+
"type": "string",
183+
"enum": [
184+
"Recommended",
185+
"Latest",
186+
"Custom"
187+
],
188+
"enumDescriptions": [
189+
"%extension.pqtest.config.externals.versionTag.recommended.description%",
190+
"%extension.pqtest.config.externals.versionTag.latest.description%",
191+
"%extension.pqtest.config.externals.versionTag.customized.description%"
192+
],
193+
"description": "%extension.pqtest.config.externals.versionTag.description%",
194+
"default": "Recommended",
195+
"order": 50
196+
},
155197
"powerquery.sdk.externals.nugetFeed": {
156198
"scope": "window",
157199
"type": "string",
200+
"order": 50,
158201
"description": "%extension.pqtest.config.externals.nugetFeed.description%",
159202
"default": ""
160203
},
161204
"powerquery.sdk.tools.location": {
162205
"scope": "machine-overridable",
163206
"type": "string",
207+
"order": 69,
164208
"description": "%extension.pqtest.config.pqtest.location.description%"
165209
},
166-
"powerquery.sdk.defaultExtension": {
167-
"scope": "window",
168-
"type": "string",
169-
"description": "%extension.pqtest.config.pqtest.extension.description%"
170-
},
171-
"powerquery.sdk.defaultQueryFile": {
172-
"scope": "window",
173-
"type": "string",
174-
"description": "%extension.pqtest.config.pqtest.queryFile.description%"
175-
},
176-
"powerquery.sdk.features.autoDetection": {
210+
"powerquery.sdk.pqtest.location": {
177211
"scope": "machine-overridable",
178-
"type": "boolean",
179-
"description": "%extension.pqtest.config.features.autoDetection.description%",
180-
"default": true
212+
"type": "string",
213+
"order": 70,
214+
"deprecationMessage": "Deprecated: Please use powerquery.sdk.tools.location instead.",
215+
"description": "%extension.pqtest.config.pqtest.location.description%"
181216
},
182-
"powerquery.sdk.features.useServiceHost": {
217+
"powerquery.sdk.tools.version": {
183218
"scope": "machine-overridable",
184-
"type": "boolean",
185-
"default": false,
186-
"description": "%extension.pqtest.config.features.useServiceHost%"
219+
"type": "string",
220+
"order": 71,
221+
"description": "%extension.pqtest.config.pqtest.version.description%"
187222
}
188223
}
189224
},

package.nls.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@
1212
"extension.pqtest.config.externals.msbuildPath.description": "Local path to msbuild.exe installation folder.",
1313
"extension.pqtest.config.externals.nugetPath.description": "Local path to nuget.exe installation folder.",
1414
"extension.pqtest.config.externals.nugetFeed.description": "Suggested nuget feed URL.",
15+
"extension.pqtest.config.externals.versionTag.description": "The version tag of the PQ SDK tools to be downloaded.",
16+
"extension.pqtest.config.externals.versionTag.recommended.description": "The stable version",
17+
"extension.pqtest.config.externals.versionTag.latest.description": "The latest version",
18+
"extension.pqtest.config.externals.versionTag.customized.description": "Use a user provided version value",
1519
"extension.pqtest.config.features.autoDetection.description": "When set to false, the SDK does not try to automatically detect connector workspaces and prompt to create a settings file.",
1620
"extension.pqtest.config.features.useServiceHost": "Try the new feature using a reusable engine service host other than the command lines",
1721
"extension.pqtest.config.pqtest.location.description": "Local path to PQTest installation folder.",
22+
"extension.pqtest.config.pqtest.version.description": "The local PQ SDK tools version.",
1823
"extension.pqtest.config.pqtest.extension.description": "Specify connector extension source modules (.mez/.pqm).<br>This option can be specified more than once.",
1924
"extension.pqtest.config.pqtest.queryFile.description": "Query file containing section document or M expression (.m/.pq).",
2025
"extension.pqtest.taskDefinitions.properties.operation.description": "The operation to run",

src/GlobalEventBus.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export const GlobalEvents = Object.freeze({
3535
ConfigDidChangePowerQueryTestLocation: "ConfigDidChangePowerQueryTestLocation" as const,
3636
ConfigDidChangePQTestExtension: "ConfigDidChangePQTestExtension" as const,
3737
ConfigDidChangePQTestQuery: "ConfigDidChangePQTestQuery" as const,
38+
ConfigDidChangeExternalVersionTag: "ConfigDidChangeExternalVersionTag" as const,
39+
ConfigDidChangePqTestVersion: "ConfigDidChangePqTestVersion" as const,
3840
}),
3941
});
4042
type GlobalEventTypes = ExtractEventTypes<typeof GlobalEvents>;
@@ -122,6 +124,18 @@ export class GlobalEventBus extends DisposableEventEmitter<GlobalEventTypes> imp
122124
void vscode.commands.executeCommand("workbench.action.reloadWindow");
123125
}
124126
})();
127+
} else if (
128+
evt.affectsConfiguration(
129+
`${ExtensionConstants.ConfigNames.PowerQuerySdk.name}.${ExtensionConstants.ConfigNames.PowerQuerySdk.properties.externalsVersionTag}`,
130+
)
131+
) {
132+
this.emit(GlobalEvents.VSCodeEvents.ConfigDidChangeExternalVersionTag);
133+
} else if (
134+
evt.affectsConfiguration(
135+
`${ExtensionConstants.ConfigNames.PowerQuerySdk.name}.${ExtensionConstants.ConfigNames.PowerQuerySdk.properties.pqTestVersion}`,
136+
)
137+
) {
138+
this.emit(GlobalEvents.VSCodeEvents.ConfigDidChangePqTestVersion);
125139
}
126140
} else if (evt.affectsConfiguration(ExtensionConstants.ConfigNames.PowerQuery.name)) {
127141
if (

0 commit comments

Comments
 (0)