@codingame/monaco-vscode-configuration-service-override 15.0.3 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -8
- package/vscode/src/vs/editor/common/services/textResourceConfigurationService.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +1 -1
- package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +66 -47
- package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +8 -8
- package/vscode/src/vs/workbench/services/configuration/browser/configuration.d.ts +1 -1
- package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +2 -2
- package/vscode/src/vs/workbench/services/configuration/browser/configurationService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +3 -3
- package/vscode/src/vs/workbench/services/configuration/common/configurationCache.d.ts +1 -1
- package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.d.ts +3 -1
- package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +84 -52
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.d.ts +7 -9
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +100 -142
- package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-configuration-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - configuration service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-
|
|
19
|
-
"@codingame/monaco-vscode-
|
|
20
|
-
"@codingame/monaco-vscode-
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-
|
|
23
|
-
"@codingame/monaco-vscode-d987325e-3e05-53aa-b9ff-6f97476f64db-common": "
|
|
24
|
-
"@codingame/monaco-vscode-files-service-override": "
|
|
18
|
+
"@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common": "16.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-422642f2-7e3a-5c1c-9e1e-1d3ef1817346-common": "16.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-68b3311c-eb96-5711-8f72-f5f4b2e31932-common": "16.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common": "16.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-api": "16.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-d987325e-3e05-53aa-b9ff-6f97476f64db-common": "16.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-files-service-override": "16.0.0"
|
|
25
25
|
},
|
|
26
26
|
"main": "index.js",
|
|
27
27
|
"module": "index.js",
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
".": {
|
|
31
31
|
"default": "./index.js"
|
|
32
32
|
},
|
|
33
|
+
"./vscode/*.css": {
|
|
34
|
+
"default": "./vscode/src/*.css"
|
|
35
|
+
},
|
|
33
36
|
"./vscode/*": {
|
|
34
37
|
"types": "./vscode/src/*.d.ts",
|
|
35
38
|
"default": "./vscode/src/*.js"
|
|
@@ -18,7 +18,7 @@ export declare class TextResourceConfigurationService extends Disposable impleme
|
|
|
18
18
|
constructor(configurationService: IConfigurationService, modelService: IModelService, languageService: ILanguageService);
|
|
19
19
|
getValue<T>(resource: URI | undefined, section?: string): T;
|
|
20
20
|
getValue<T>(resource: URI | undefined, at?: IPosition, section?: string): T;
|
|
21
|
-
updateValue(resource: URI, key: string, value: any, configurationTarget?: ConfigurationTarget): Promise<void>;
|
|
21
|
+
updateValue(resource: URI | undefined, key: string, value: any, configurationTarget?: ConfigurationTarget): Promise<void>;
|
|
22
22
|
private deriveConfigurationTarget;
|
|
23
23
|
private _getValue;
|
|
24
24
|
inspect<T>(resource: URI | undefined, position: IPosition | null, section: string): IConfigurationValue<Readonly<T>>;
|
|
@@ -25,7 +25,7 @@ let TextResourceConfigurationService = class TextResourceConfigurationService ex
|
|
|
25
25
|
return this._getValue(resource, null, typeof arg2 === 'string' ? arg2 : undefined);
|
|
26
26
|
}
|
|
27
27
|
updateValue(resource, key, value, configurationTarget) {
|
|
28
|
-
const language = this.getLanguage(resource, null);
|
|
28
|
+
const language = resource ? this.getLanguage(resource, null) : null;
|
|
29
29
|
const configurationValue = this.configurationService.inspect(key, { resource, overrideIdentifier: language });
|
|
30
30
|
if (configurationTarget === undefined) {
|
|
31
31
|
configurationTarget = this.deriveConfigurationTarget(configurationValue, language);
|
|
@@ -5,13 +5,14 @@ import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/regist
|
|
|
5
5
|
import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
6
6
|
import { Extensions as Extensions$1, configurationDefaultsSchemaId, ConfigurationScope, OVERRIDE_PROPERTY_REGEX, validateProperty, parseScope, getAllConfigurationProperties, getDefaultValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
7
7
|
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/jsonschemas/common/jsonContributionRegistry';
|
|
8
|
-
import { tasksSchemaId, launchSchemaId, workspaceSettingsSchemaId } from '@codingame/monaco-vscode-
|
|
8
|
+
import { mcpSchemaId, tasksSchemaId, launchSchemaId, workspaceSettingsSchemaId } from '@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration';
|
|
9
9
|
import { isObject, isUndefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';
|
|
10
10
|
import { ExtensionIdentifierMap } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
11
11
|
import { Extensions as Extensions$2 } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures';
|
|
12
12
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
13
13
|
import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
|
|
14
14
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
15
|
+
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
15
16
|
|
|
16
17
|
const jsonRegistry = ( Registry.as(Extensions.JSONContribution));
|
|
17
18
|
const configurationRegistry = ( Registry.as(Extensions$1.Configuration));
|
|
@@ -21,29 +22,29 @@ const configurationEntrySchema = {
|
|
|
21
22
|
properties: {
|
|
22
23
|
title: {
|
|
23
24
|
description: ( localize(
|
|
24
|
-
|
|
25
|
+
2489,
|
|
25
26
|
'A title for the current category of settings. This label will be rendered in the Settings editor as a subheading. If the title is the same as the extension display name, then the category will be grouped under the main extension heading.'
|
|
26
27
|
)),
|
|
27
28
|
type: 'string'
|
|
28
29
|
},
|
|
29
30
|
order: {
|
|
30
31
|
description: ( localize(
|
|
31
|
-
|
|
32
|
+
2490,
|
|
32
33
|
'When specified, gives the order of this category of settings relative to other categories.'
|
|
33
34
|
)),
|
|
34
35
|
type: 'integer'
|
|
35
36
|
},
|
|
36
37
|
properties: {
|
|
37
|
-
description: ( localize(
|
|
38
|
+
description: ( localize(2491, 'Description of the configuration properties.')),
|
|
38
39
|
type: 'object',
|
|
39
40
|
propertyNames: {
|
|
40
41
|
pattern: '\\S+',
|
|
41
|
-
patternErrorMessage: ( localize(
|
|
42
|
+
patternErrorMessage: ( localize(2492, 'Property should not be empty.')),
|
|
42
43
|
},
|
|
43
44
|
additionalProperties: {
|
|
44
45
|
anyOf: [
|
|
45
46
|
{
|
|
46
|
-
title: ( localize(
|
|
47
|
+
title: ( localize(2493, 'Schema of the configuration property.')),
|
|
47
48
|
$ref: 'http://json-schema.org/draft-07/schema#'
|
|
48
49
|
},
|
|
49
50
|
{
|
|
@@ -54,30 +55,30 @@ const configurationEntrySchema = {
|
|
|
54
55
|
enum: ['application', 'machine', 'window', 'resource', 'language-overridable', 'machine-overridable'],
|
|
55
56
|
default: 'window',
|
|
56
57
|
enumDescriptions: [
|
|
57
|
-
( localize(
|
|
58
|
+
( localize(2494, "Configuration that can be configured only in the user settings.")),
|
|
58
59
|
( localize(
|
|
59
|
-
|
|
60
|
+
2495,
|
|
60
61
|
"Configuration that can be configured only in the user settings or only in the remote settings."
|
|
61
62
|
)),
|
|
62
63
|
( localize(
|
|
63
|
-
|
|
64
|
+
2496,
|
|
64
65
|
"Configuration that can be configured in the user, remote or workspace settings."
|
|
65
66
|
)),
|
|
66
67
|
( localize(
|
|
67
|
-
|
|
68
|
+
2497,
|
|
68
69
|
"Configuration that can be configured in the user, remote, workspace or folder settings."
|
|
69
70
|
)),
|
|
70
71
|
( localize(
|
|
71
|
-
|
|
72
|
+
2498,
|
|
72
73
|
"Resource configuration that can be configured in language specific settings."
|
|
73
74
|
)),
|
|
74
75
|
( localize(
|
|
75
|
-
|
|
76
|
+
2499,
|
|
76
77
|
"Machine configuration that can be configured also in workspace or folder settings."
|
|
77
78
|
))
|
|
78
79
|
],
|
|
79
80
|
markdownDescription: ( localize(
|
|
80
|
-
|
|
81
|
+
2500,
|
|
81
82
|
"Scope in which the configuration is applicable. Available scopes are `application`, `machine`, `window`, `resource`, and `machine-overridable`."
|
|
82
83
|
))
|
|
83
84
|
},
|
|
@@ -86,14 +87,14 @@ const configurationEntrySchema = {
|
|
|
86
87
|
items: {
|
|
87
88
|
type: 'string',
|
|
88
89
|
},
|
|
89
|
-
description: ( localize(
|
|
90
|
+
description: ( localize(2501, 'Descriptions for enum values'))
|
|
90
91
|
},
|
|
91
92
|
markdownEnumDescriptions: {
|
|
92
93
|
type: 'array',
|
|
93
94
|
items: {
|
|
94
95
|
type: 'string',
|
|
95
96
|
},
|
|
96
|
-
description: ( localize(
|
|
97
|
+
description: ( localize(2502, 'Descriptions for enum values in the markdown format.'))
|
|
97
98
|
},
|
|
98
99
|
enumItemLabels: {
|
|
99
100
|
type: 'array',
|
|
@@ -101,26 +102,26 @@ const configurationEntrySchema = {
|
|
|
101
102
|
type: 'string'
|
|
102
103
|
},
|
|
103
104
|
markdownDescription: ( localize(
|
|
104
|
-
|
|
105
|
+
2503,
|
|
105
106
|
'Labels for enum values to be displayed in the Settings editor. When specified, the {0} values still show after the labels, but less prominently.',
|
|
106
107
|
'`enum`'
|
|
107
108
|
))
|
|
108
109
|
},
|
|
109
110
|
markdownDescription: {
|
|
110
111
|
type: 'string',
|
|
111
|
-
description: ( localize(
|
|
112
|
+
description: ( localize(2504, 'The description in the markdown format.'))
|
|
112
113
|
},
|
|
113
114
|
deprecationMessage: {
|
|
114
115
|
type: 'string',
|
|
115
116
|
description: ( localize(
|
|
116
|
-
|
|
117
|
+
2505,
|
|
117
118
|
'If set, the property is marked as deprecated and the given message is shown as an explanation.'
|
|
118
119
|
))
|
|
119
120
|
},
|
|
120
121
|
markdownDeprecationMessage: {
|
|
121
122
|
type: 'string',
|
|
122
123
|
description: ( localize(
|
|
123
|
-
|
|
124
|
+
2506,
|
|
124
125
|
'If set, the property is marked as deprecated and the given message is shown as an explanation in the markdown format.'
|
|
125
126
|
))
|
|
126
127
|
},
|
|
@@ -128,26 +129,26 @@ const configurationEntrySchema = {
|
|
|
128
129
|
type: 'string',
|
|
129
130
|
enum: ['singlelineText', 'multilineText'],
|
|
130
131
|
enumDescriptions: [
|
|
131
|
-
( localize(
|
|
132
|
-
( localize(
|
|
132
|
+
( localize(2507, 'The value will be shown in an inputbox.')),
|
|
133
|
+
( localize(2508, 'The value will be shown in a textarea.'))
|
|
133
134
|
],
|
|
134
135
|
default: 'singlelineText',
|
|
135
136
|
description: ( localize(
|
|
136
|
-
|
|
137
|
+
2509,
|
|
137
138
|
'When specified, controls the presentation format of the string setting.'
|
|
138
139
|
))
|
|
139
140
|
},
|
|
140
141
|
order: {
|
|
141
142
|
type: 'integer',
|
|
142
143
|
description: ( localize(
|
|
143
|
-
|
|
144
|
+
2510,
|
|
144
145
|
'When specified, gives the order of this setting relative to other settings within the same category. Settings with an order property will be placed before settings without this property set.'
|
|
145
146
|
))
|
|
146
147
|
},
|
|
147
148
|
ignoreSync: {
|
|
148
149
|
type: 'boolean',
|
|
149
150
|
description: ( localize(
|
|
150
|
-
|
|
151
|
+
2511,
|
|
151
152
|
'When enabled, Settings Sync will not sync the user value of this configuration by default.'
|
|
152
153
|
))
|
|
153
154
|
},
|
|
@@ -157,7 +158,7 @@ const configurationEntrySchema = {
|
|
|
157
158
|
type: 'string'
|
|
158
159
|
},
|
|
159
160
|
markdownDescription: ( localize(
|
|
160
|
-
|
|
161
|
+
2512,
|
|
161
162
|
'A list of categories under which to place the setting. The category can then be searched up in the Settings editor. For example, specifying the `experimental` tag allows one to find the setting by searching `@tag:experimental`.'
|
|
162
163
|
)),
|
|
163
164
|
}
|
|
@@ -202,7 +203,7 @@ defaultConfigurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
202
203
|
const registeredPropertyScheme = registeredProperties[key];
|
|
203
204
|
if (registeredPropertyScheme?.disallowConfigurationDefault) {
|
|
204
205
|
extension.collector.warn(( localize(
|
|
205
|
-
|
|
206
|
+
2513,
|
|
206
207
|
"Cannot register configuration defaults for '{0}'. This setting does not allow contributing configuration defaults.",
|
|
207
208
|
key
|
|
208
209
|
)));
|
|
@@ -212,7 +213,7 @@ defaultConfigurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
212
213
|
if (!OVERRIDE_PROPERTY_REGEX.test(key)) {
|
|
213
214
|
if (registeredPropertyScheme?.scope && !allowedScopes.includes(registeredPropertyScheme.scope)) {
|
|
214
215
|
extension.collector.warn(( localize(
|
|
215
|
-
|
|
216
|
+
2514,
|
|
216
217
|
"Cannot register configuration defaults for '{0}'. Only defaults for machine-overridable, window, resource and language overridable scoped settings are supported.",
|
|
217
218
|
key
|
|
218
219
|
)));
|
|
@@ -230,7 +231,7 @@ const configurationExtPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
230
231
|
extensionPoint: 'configuration',
|
|
231
232
|
deps: [defaultConfigurationExtPoint],
|
|
232
233
|
jsonSchema: {
|
|
233
|
-
description: ( localize(
|
|
234
|
+
description: ( localize(2515, 'Contributes configuration settings.')),
|
|
234
235
|
oneOf: [
|
|
235
236
|
configurationEntrySchema,
|
|
236
237
|
{
|
|
@@ -256,7 +257,7 @@ configurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
256
257
|
function handleConfiguration(node, extension) {
|
|
257
258
|
const configuration = deepClone(node);
|
|
258
259
|
if (configuration.title && (typeof configuration.title !== 'string')) {
|
|
259
|
-
extension.collector.error(( localize(
|
|
260
|
+
extension.collector.error(( localize(2516, "'configuration.title' must be a string")));
|
|
260
261
|
}
|
|
261
262
|
validateProperties(configuration, extension);
|
|
262
263
|
configuration.id = node.id || extension.description.identifier.value;
|
|
@@ -267,9 +268,10 @@ configurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
267
268
|
}
|
|
268
269
|
function validateProperties(configuration, extension) {
|
|
269
270
|
const properties = configuration.properties;
|
|
271
|
+
const extensionConfigurationPolicy = product.extensionConfigurationPolicy;
|
|
270
272
|
if (properties) {
|
|
271
273
|
if (typeof properties !== 'object') {
|
|
272
|
-
extension.collector.error(( localize(
|
|
274
|
+
extension.collector.error(( localize(2517, "'configuration.properties' must be an object")));
|
|
273
275
|
configuration.properties = {};
|
|
274
276
|
}
|
|
275
277
|
for (const key in properties) {
|
|
@@ -282,14 +284,17 @@ configurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
282
284
|
}
|
|
283
285
|
if (( seenProperties.has(key))) {
|
|
284
286
|
delete properties[key];
|
|
285
|
-
extension.collector.warn(( localize(
|
|
287
|
+
extension.collector.warn(( localize(2518, "Cannot register '{0}'. This property is already registered.", key)));
|
|
286
288
|
continue;
|
|
287
289
|
}
|
|
288
290
|
if (!isObject(propertyConfiguration)) {
|
|
289
291
|
delete properties[key];
|
|
290
|
-
extension.collector.error(( localize(
|
|
292
|
+
extension.collector.error(( localize(2519, "configuration.properties property '{0}' must be an object", key)));
|
|
291
293
|
continue;
|
|
292
294
|
}
|
|
295
|
+
if (extensionConfigurationPolicy?.[key]) {
|
|
296
|
+
propertyConfiguration.policy = extensionConfigurationPolicy?.[key];
|
|
297
|
+
}
|
|
293
298
|
seenProperties.add(key);
|
|
294
299
|
propertyConfiguration.scope = propertyConfiguration.scope ? parseScope(( propertyConfiguration.scope.toString())) : ConfigurationScope.WINDOW;
|
|
295
300
|
}
|
|
@@ -297,7 +302,7 @@ configurationExtPoint.setHandler((extensions, { added, removed }) => {
|
|
|
297
302
|
const subNodes = configuration.allOf;
|
|
298
303
|
if (subNodes) {
|
|
299
304
|
extension.collector.error(( localize(
|
|
300
|
-
|
|
305
|
+
2520,
|
|
301
306
|
"'configuration.allOf' is deprecated and should no longer be used. Instead, pass multiple configuration sections as an array to the 'configuration' contribution point."
|
|
302
307
|
)));
|
|
303
308
|
for (const node of subNodes) {
|
|
@@ -340,7 +345,7 @@ jsonRegistry.registerSchema('vscode://schemas/workspaceConfig', {
|
|
|
340
345
|
'folders': {
|
|
341
346
|
minItems: 0,
|
|
342
347
|
uniqueItems: true,
|
|
343
|
-
description: ( localize(
|
|
348
|
+
description: ( localize(2521, "List of folders to be loaded in the workspace.")),
|
|
344
349
|
items: {
|
|
345
350
|
type: 'object',
|
|
346
351
|
defaultSnippets: [{ body: { path: '$1' } }],
|
|
@@ -349,13 +354,13 @@ jsonRegistry.registerSchema('vscode://schemas/workspaceConfig', {
|
|
|
349
354
|
path: {
|
|
350
355
|
type: 'string',
|
|
351
356
|
description: ( localize(
|
|
352
|
-
|
|
357
|
+
2522,
|
|
353
358
|
"A file path. e.g. `/root/folderA` or `./folderA` for a relative path that will be resolved against the location of the workspace file."
|
|
354
359
|
))
|
|
355
360
|
},
|
|
356
361
|
name: {
|
|
357
362
|
type: 'string',
|
|
358
|
-
description: ( localize(
|
|
363
|
+
description: ( localize(2523, "An optional name for the folder. "))
|
|
359
364
|
}
|
|
360
365
|
},
|
|
361
366
|
required: ['path']
|
|
@@ -363,11 +368,11 @@ jsonRegistry.registerSchema('vscode://schemas/workspaceConfig', {
|
|
|
363
368
|
properties: {
|
|
364
369
|
uri: {
|
|
365
370
|
type: 'string',
|
|
366
|
-
description: ( localize(
|
|
371
|
+
description: ( localize(2524, "URI of the folder"))
|
|
367
372
|
},
|
|
368
373
|
name: {
|
|
369
374
|
type: 'string',
|
|
370
|
-
description: ( localize(
|
|
375
|
+
description: ( localize(2523, "An optional name for the folder. "))
|
|
371
376
|
}
|
|
372
377
|
},
|
|
373
378
|
required: ['uri']
|
|
@@ -377,39 +382,53 @@ jsonRegistry.registerSchema('vscode://schemas/workspaceConfig', {
|
|
|
377
382
|
'settings': {
|
|
378
383
|
type: 'object',
|
|
379
384
|
default: {},
|
|
380
|
-
description: ( localize(
|
|
385
|
+
description: ( localize(2525, "Workspace settings")),
|
|
381
386
|
$ref: workspaceSettingsSchemaId
|
|
382
387
|
},
|
|
383
388
|
'launch': {
|
|
384
389
|
type: 'object',
|
|
385
390
|
default: { configurations: [], compounds: [] },
|
|
386
|
-
description: ( localize(
|
|
391
|
+
description: ( localize(2526, "Workspace launch configurations")),
|
|
387
392
|
$ref: launchSchemaId
|
|
388
393
|
},
|
|
389
394
|
'tasks': {
|
|
390
395
|
type: 'object',
|
|
391
396
|
default: { version: '2.0.0', tasks: [] },
|
|
392
|
-
description: ( localize(
|
|
397
|
+
description: ( localize(2527, "Workspace task configurations")),
|
|
393
398
|
$ref: tasksSchemaId
|
|
394
399
|
},
|
|
400
|
+
'mcp': {
|
|
401
|
+
type: 'object',
|
|
402
|
+
default: {
|
|
403
|
+
inputs: [],
|
|
404
|
+
servers: {
|
|
405
|
+
'mcp-server-time': {
|
|
406
|
+
command: 'python',
|
|
407
|
+
args: ['-m', 'mcp_server_time', '--local-timezone=America/Los_Angeles']
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
description: ( localize(2528, "Model Context Protocol server configurations")),
|
|
412
|
+
$ref: mcpSchemaId
|
|
413
|
+
},
|
|
395
414
|
'extensions': {
|
|
396
415
|
type: 'object',
|
|
397
416
|
default: {},
|
|
398
|
-
description: ( localize(
|
|
417
|
+
description: ( localize(2529, "Workspace extensions")),
|
|
399
418
|
$ref: 'vscode://schemas/extensions'
|
|
400
419
|
},
|
|
401
420
|
'remoteAuthority': {
|
|
402
421
|
type: 'string',
|
|
403
422
|
doNotSuggest: true,
|
|
404
|
-
description: ( localize(
|
|
423
|
+
description: ( localize(2530, "The remote server where the workspace is located.")),
|
|
405
424
|
},
|
|
406
425
|
'transient': {
|
|
407
426
|
type: 'boolean',
|
|
408
427
|
doNotSuggest: true,
|
|
409
|
-
description: ( localize(
|
|
428
|
+
description: ( localize(2531, "A transient workspace will disappear when restarting or reloading.")),
|
|
410
429
|
}
|
|
411
430
|
},
|
|
412
|
-
errorMessage: ( localize(
|
|
431
|
+
errorMessage: ( localize(2532, "Unknown workspace configuration property"))
|
|
413
432
|
});
|
|
414
433
|
class SettingsTableRenderer extends Disposable {
|
|
415
434
|
constructor() {
|
|
@@ -425,7 +444,7 @@ class SettingsTableRenderer extends Disposable {
|
|
|
425
444
|
: [];
|
|
426
445
|
const properties = getAllConfigurationProperties(configuration);
|
|
427
446
|
const contrib = properties ? ( Object.keys(properties)) : [];
|
|
428
|
-
const headers = [( localize(
|
|
447
|
+
const headers = [( localize(2533, "ID")), ( localize(2534, "Description")), ( localize(2535, "Default"))];
|
|
429
448
|
const rows = ( contrib.sort((a, b) => a.localeCompare(b))
|
|
430
449
|
.map(key => {
|
|
431
450
|
return [
|
|
@@ -445,7 +464,7 @@ class SettingsTableRenderer extends Disposable {
|
|
|
445
464
|
}
|
|
446
465
|
( Registry.as(Extensions$2.ExtensionFeaturesRegistry)).registerExtensionFeature({
|
|
447
466
|
id: 'configuration',
|
|
448
|
-
label: ( localize(
|
|
467
|
+
label: ( localize(2536, "Settings")),
|
|
449
468
|
access: {
|
|
450
469
|
canToggle: false
|
|
451
470
|
},
|
|
@@ -19,7 +19,7 @@ import { isVirtualWorkspace } from '@codingame/monaco-vscode-7559b0be-bfa5-5fe6-
|
|
|
19
19
|
import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
|
|
20
20
|
import { ResourceContextKey, ActiveEditorContext, TemporaryWorkspaceContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
21
21
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
22
|
-
import { TEXT_FILE_EDITOR_ID } from '@codingame/monaco-vscode-
|
|
22
|
+
import { TEXT_FILE_EDITOR_ID } from '@codingame/monaco-vscode-68b3311c-eb96-5711-8f72-f5f4b2e31932-common/vscode/vs/workbench/contrib/files/common/files';
|
|
23
23
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
24
24
|
|
|
25
25
|
let WorkspacesFinderContribution = class WorkspacesFinderContribution extends Disposable {
|
|
@@ -51,12 +51,12 @@ let WorkspacesFinderContribution = class WorkspacesFinderContribution extends Di
|
|
|
51
51
|
if (workspaces.length === 1) {
|
|
52
52
|
const workspaceFile = workspaces[0];
|
|
53
53
|
this.notificationService.prompt(Severity.Info, ( localize(
|
|
54
|
-
|
|
54
|
+
11778,
|
|
55
55
|
"This folder contains a workspace file '{0}'. Do you want to open it? [Learn more]({1}) about workspace files.",
|
|
56
56
|
workspaceFile,
|
|
57
57
|
'https://go.microsoft.com/fwlink/?linkid=2025315'
|
|
58
58
|
)), [{
|
|
59
|
-
label: ( localize(
|
|
59
|
+
label: ( localize(11779, "Open Workspace")),
|
|
60
60
|
run: () => this.hostService.openWindow([{ workspaceUri: joinPath(folder, workspaceFile) }])
|
|
61
61
|
}], {
|
|
62
62
|
neverShowAgain,
|
|
@@ -65,13 +65,13 @@ let WorkspacesFinderContribution = class WorkspacesFinderContribution extends Di
|
|
|
65
65
|
}
|
|
66
66
|
else if (workspaces.length > 1) {
|
|
67
67
|
this.notificationService.prompt(Severity.Info, ( localize(
|
|
68
|
-
|
|
68
|
+
11780,
|
|
69
69
|
"This folder contains multiple workspace files. Do you want to open one? [Learn more]({0}) about workspace files.",
|
|
70
70
|
'https://go.microsoft.com/fwlink/?linkid=2025315'
|
|
71
71
|
)), [{
|
|
72
|
-
label: ( localize(
|
|
72
|
+
label: ( localize(11781, "Select Workspace")),
|
|
73
73
|
run: () => {
|
|
74
|
-
this.quickInputService.pick(( workspaces.map(workspace => ({ label: workspace }))), { placeHolder: ( localize(
|
|
74
|
+
this.quickInputService.pick(( workspaces.map(workspace => ({ label: workspace }))), { placeHolder: ( localize(11782, "Select a workspace to open")) }).then(pick => {
|
|
75
75
|
if (pick) {
|
|
76
76
|
this.hostService.openWindow([{ workspaceUri: joinPath(folder, pick.label) }]);
|
|
77
77
|
}
|
|
@@ -97,7 +97,7 @@ registerAction2(class extends Action2 {
|
|
|
97
97
|
constructor() {
|
|
98
98
|
super({
|
|
99
99
|
id: 'workbench.action.openWorkspaceFromEditor',
|
|
100
|
-
title: ( localize2(
|
|
100
|
+
title: ( localize2(11779, "Open Workspace")),
|
|
101
101
|
f1: false,
|
|
102
102
|
menu: {
|
|
103
103
|
id: MenuId.EditorContent,
|
|
@@ -112,7 +112,7 @@ registerAction2(class extends Action2 {
|
|
|
112
112
|
if (contextService.getWorkbenchState() === WorkbenchState.WORKSPACE) {
|
|
113
113
|
const workspaceConfiguration = contextService.getWorkspace().configuration;
|
|
114
114
|
if (workspaceConfiguration && isEqual(workspaceConfiguration, uri)) {
|
|
115
|
-
notificationService.info(( localize(
|
|
115
|
+
notificationService.info(( localize(11783, "This workspace is already open.")));
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -3,7 +3,7 @@ import { Event, Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/comm
|
|
|
3
3
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
4
4
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
5
5
|
import { ConfigurationModel, ConfigurationParseOptions, UserSettings } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationModels";
|
|
6
|
-
import { IConfigurationCache } from "@codingame/monaco-vscode-
|
|
6
|
+
import { IConfigurationCache } from "@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration";
|
|
7
7
|
import { IStoredWorkspaceFolder } from "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/workspaces/common/workspaces";
|
|
8
8
|
import { WorkbenchState, IWorkspaceFolder, IWorkspaceIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace";
|
|
9
9
|
import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
|
|
@@ -6,7 +6,7 @@ import { RunOnceScheduler } from '@codingame/monaco-vscode-api/vscode/vs/base/co
|
|
|
6
6
|
import { FileOperationResult, FileChangeType, FileOperation, whenProviderRegistered } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
|
|
7
7
|
import { UserSettings, ConfigurationModelParser, ConfigurationModel } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationModels';
|
|
8
8
|
import { StandaloneConfigurationModelParser, WorkspaceConfigurationModelParser } from '../common/configurationModels.js';
|
|
9
|
-
import { APPLICATION_SCOPES, APPLY_ALL_PROFILES_SETTING, TASKS_CONFIGURATION_KEY, REMOTE_MACHINE_SCOPES, WORKSPACE_SCOPES, FOLDER_SETTINGS_NAME, FOLDER_SCOPES, LAUNCH_CONFIGURATION_KEY } from '@codingame/monaco-vscode-
|
|
9
|
+
import { APPLICATION_SCOPES, APPLY_ALL_PROFILES_SETTING, TASKS_CONFIGURATION_KEY, REMOTE_MACHINE_SCOPES, WORKSPACE_SCOPES, FOLDER_SETTINGS_NAME, FOLDER_SCOPES, LAUNCH_CONFIGURATION_KEY, MCP_CONFIGURATION_KEY } from '@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration';
|
|
10
10
|
import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
11
11
|
import { Extensions, OVERRIDE_PROPERTY_REGEX } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
12
12
|
import { equals } from '@codingame/monaco-vscode-api/vscode/vs/base/common/objects';
|
|
@@ -852,7 +852,7 @@ class FolderConfiguration extends Disposable {
|
|
|
852
852
|
}
|
|
853
853
|
createFileServiceBasedConfiguration(fileService, uriIdentityService, logService) {
|
|
854
854
|
const settingsResource = uriIdentityService.extUri.joinPath(this.configurationFolder, `${FOLDER_SETTINGS_NAME}.json`);
|
|
855
|
-
const standAloneConfigurationResources = ( [TASKS_CONFIGURATION_KEY, LAUNCH_CONFIGURATION_KEY].map(
|
|
855
|
+
const standAloneConfigurationResources = ( [TASKS_CONFIGURATION_KEY, LAUNCH_CONFIGURATION_KEY, MCP_CONFIGURATION_KEY].map(
|
|
856
856
|
name => ([name, uriIdentityService.extUri.joinPath(this.configurationFolder, `${name}.json`)])
|
|
857
857
|
));
|
|
858
858
|
return ( new FileServiceBasedConfiguration(( this.configurationFolder.toString()), settingsResource, standAloneConfigurationResources, { scopes: this.scopes, skipRestricted: this.isUntrusted() }, fileService, uriIdentityService, logService));
|
|
@@ -5,7 +5,7 @@ import { Workspace as BaseWorkspace, WorkbenchState, IWorkspaceFolder, IWorkspac
|
|
|
5
5
|
import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
|
|
6
6
|
import { ConfigurationModel } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationModels";
|
|
7
7
|
import { IConfigurationChangeEvent, ConfigurationTarget, IConfigurationOverrides, IConfigurationData, IConfigurationValue, IConfigurationUpdateOverrides, IConfigurationUpdateOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration";
|
|
8
|
-
import { IConfigurationCache, RestrictedSettings } from "@codingame/monaco-vscode-
|
|
8
|
+
import { IConfigurationCache, RestrictedSettings } from "@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration";
|
|
9
9
|
import { IWorkbenchConfigurationService } from "@codingame/monaco-vscode-422642f2-7e3a-5c1c-9e1e-1d3ef1817346-common/vscode/vs/workbench/services/configuration/common/configuration.service";
|
|
10
10
|
import { IWorkspaceFolderCreationData } from "@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/workspaces/common/workspaces";
|
|
11
11
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
@@ -14,7 +14,7 @@ import { isConfigurationOverrides, isConfigurationUpdateOverrides, Configuration
|
|
|
14
14
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
15
15
|
import { NullPolicyConfiguration, PolicyConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurations';
|
|
16
16
|
import { Configuration } from '../common/configurationModels.js';
|
|
17
|
-
import { LOCAL_MACHINE_SCOPES, LOCAL_MACHINE_PROFILE_SCOPES, PROFILE_SCOPES, APPLICATION_SCOPES, APPLY_ALL_PROFILES_SETTING, FOLDER_CONFIG_FOLDER_NAME, defaultSettingsSchemaId, userSettingsSchemaId, profileSettingsSchemaId, machineSettingsSchemaId, workspaceSettingsSchemaId, folderSettingsSchemaId } from '@codingame/monaco-vscode-
|
|
17
|
+
import { LOCAL_MACHINE_SCOPES, LOCAL_MACHINE_PROFILE_SCOPES, PROFILE_SCOPES, APPLICATION_SCOPES, APPLY_ALL_PROFILES_SETTING, FOLDER_CONFIG_FOLDER_NAME, defaultSettingsSchemaId, userSettingsSchemaId, profileSettingsSchemaId, machineSettingsSchemaId, workspaceSettingsSchemaId, folderSettingsSchemaId } from '@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration';
|
|
18
18
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
19
19
|
import { Extensions, keyFromOverrideIdentifiers, ConfigurationScope, allSettings, applicationSettings, windowSettings, resourceSettings, machineSettings, machineOverridableSettings, applicationMachineSettings, OVERRIDE_PROPERTY_PATTERN, resourceLanguageSettingsSchemaId, configurationDefaultsSchemaId } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
20
20
|
import { isStoredWorkspaceFolder, toWorkspaceFolders, getStoredWorkspaceFolder } from '@codingame/monaco-vscode-7559b0be-bfa5-5fe6-b731-1973fe9fffa1-common/vscode/vs/platform/workspaces/common/workspaces';
|
|
@@ -1094,7 +1094,7 @@ let RegisterConfigurationSchemasContribution = class RegisterConfigurationSchema
|
|
|
1094
1094
|
} : workspaceSettingsSchema;
|
|
1095
1095
|
const configDefaultsSchema = {
|
|
1096
1096
|
type: 'object',
|
|
1097
|
-
description: ( localize(
|
|
1097
|
+
description: ( localize(11927, 'Contribute defaults for configurations')),
|
|
1098
1098
|
properties: Object.assign({}, this.filterDefaultOverridableProperties(machineOverridableSettings.properties), this.filterDefaultOverridableProperties(windowSettings.properties), this.filterDefaultOverridableProperties(resourceSettings.properties)),
|
|
1099
1099
|
patternProperties: {
|
|
1100
1100
|
[OVERRIDE_PROPERTY_PATTERN]: {
|
|
@@ -1215,7 +1215,7 @@ configurationRegistry.registerConfiguration({
|
|
|
1215
1215
|
properties: {
|
|
1216
1216
|
[APPLY_ALL_PROFILES_SETTING]: {
|
|
1217
1217
|
'type': 'array',
|
|
1218
|
-
description: ( localize(
|
|
1218
|
+
description: ( localize(11928, "Configure settings to be applied for all profiles.")),
|
|
1219
1219
|
'default': [],
|
|
1220
1220
|
'scope': ConfigurationScope.APPLICATION,
|
|
1221
1221
|
additionalProperties: true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IConfigurationCache, ConfigurationKey } from "@codingame/monaco-vscode-
|
|
1
|
+
import { IConfigurationCache, ConfigurationKey } from "@codingame/monaco-vscode-2b1a9082-790f-527f-b013-d1b29d6265a3-common/vscode/vs/workbench/services/configuration/common/configuration";
|
|
2
2
|
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
3
3
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
4
|
import { IEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service";
|
|
@@ -12,6 +12,7 @@ import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/plat
|
|
|
12
12
|
import { IUserDataProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
13
13
|
import { IUserDataProfilesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
|
|
14
14
|
import { ErrorNoTelemetry } from "@codingame/monaco-vscode-api/vscode/vs/base/common/errors";
|
|
15
|
+
import { IFilesConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service";
|
|
15
16
|
export declare enum ConfigurationEditingErrorCode {
|
|
16
17
|
ERROR_UNKNOWN_KEY = 0,
|
|
17
18
|
ERROR_INVALID_WORKSPACE_CONFIGURATION_APPLICATION = 1,
|
|
@@ -58,9 +59,10 @@ export declare class ConfigurationEditing {
|
|
|
58
59
|
private readonly preferencesService;
|
|
59
60
|
private readonly editorService;
|
|
60
61
|
private readonly uriIdentityService;
|
|
62
|
+
private readonly filesConfigurationService;
|
|
61
63
|
_serviceBrand: undefined;
|
|
62
64
|
private queue;
|
|
63
|
-
constructor(remoteSettingsResource: URI | null, configurationService: IWorkbenchConfigurationService, contextService: IWorkspaceContextService, userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, fileService: IFileService, textModelResolverService: ITextModelService, textFileService: ITextFileService, notificationService: INotificationService, preferencesService: IPreferencesService, editorService: IEditorService, uriIdentityService: IUriIdentityService);
|
|
65
|
+
constructor(remoteSettingsResource: URI | null, configurationService: IWorkbenchConfigurationService, contextService: IWorkspaceContextService, userDataProfileService: IUserDataProfileService, userDataProfilesService: IUserDataProfilesService, fileService: IFileService, textModelResolverService: ITextModelService, textFileService: ITextFileService, notificationService: INotificationService, preferencesService: IPreferencesService, editorService: IEditorService, uriIdentityService: IUriIdentityService, filesConfigurationService: IFilesConfigurationService);
|
|
64
66
|
writeConfiguration(target: EditableConfigurationTarget, value: IConfigurationValue, options?: IConfigurationEditingOptions): Promise<void>;
|
|
65
67
|
private doWriteConfiguration;
|
|
66
68
|
private updateConfiguration;
|