@codingame/monaco-vscode-user-data-profile-service-override 28.4.1 → 29.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 +2 -2
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.js +26 -27
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.js +3 -3
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.js +83 -79
- package/vscode/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.js +26 -26
- package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +5 -5
- package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/mcpProfileResource.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +41 -40
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +2 -1
- package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +10 -9
|
@@ -15,6 +15,7 @@ import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/t
|
|
|
15
15
|
import { ProfileResourceType } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile';
|
|
16
16
|
import { IUserDataProfilesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
|
|
17
17
|
import { EditorPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane';
|
|
18
|
+
import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
|
|
18
19
|
import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
|
|
19
20
|
import { PROFILE_FILTER, defaultUserDataProfileIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
|
|
20
21
|
import { IUserDataProfileService, IUserDataProfileManagementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
|
|
@@ -76,9 +77,9 @@ import { Orientation } from '@codingame/monaco-vscode-api/vscode/vs/base/browser
|
|
|
76
77
|
|
|
77
78
|
var UserDataProfilesEditor_1, ExistingProfileResourceTreeRenderer_1, NewProfileResourceTreeRenderer_1, ProfileResourceChildTreeItemRenderer_1, WorkspaceUriHostColumnRenderer_1, WorkspaceUriPathColumnRenderer_1, WorkspaceUriActionsColumnRenderer_1, UserDataProfilesEditorInput_1;
|
|
78
79
|
registerCss(userDataProfilesEditor);
|
|
79
|
-
const editIcon = registerIcon("profiles-editor-edit-folder", Codicon.edit, ( localize(
|
|
80
|
-
const removeIcon = registerIcon("profiles-editor-remove-folder", Codicon.close, ( localize(
|
|
81
|
-
const profilesSashBorder = registerColor("profiles.sashBorder", PANEL_BORDER, ( localize(
|
|
80
|
+
const editIcon = registerIcon("profiles-editor-edit-folder", Codicon.edit, ( localize(14891, "Icon for the edit folder icon in the profiles editor.")));
|
|
81
|
+
const removeIcon = registerIcon("profiles-editor-remove-folder", Codicon.close, ( localize(14892, "Icon for the remove folder icon in the profiles editor.")));
|
|
82
|
+
const profilesSashBorder = registerColor("profiles.sashBorder", PANEL_BORDER, ( localize(14893, "The color of the Profiles editor splitview sash border.")));
|
|
82
83
|
const listStyles = getListStyles({
|
|
83
84
|
listActiveSelectionBackground: editorBackground,
|
|
84
85
|
listActiveSelectionForeground: foreground,
|
|
@@ -201,7 +202,7 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
201
202
|
return profileElement?.name ?? "";
|
|
202
203
|
},
|
|
203
204
|
getWidgetAriaLabel() {
|
|
204
|
-
return localize(
|
|
205
|
+
return localize(14894, "Profiles");
|
|
205
206
|
}
|
|
206
207
|
},
|
|
207
208
|
openOnSingleClick: true,
|
|
@@ -223,12 +224,12 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
223
224
|
getActions: () => {
|
|
224
225
|
const actions = [];
|
|
225
226
|
if (this.templates.length) {
|
|
226
|
-
actions.push(( new SubmenuAction("from.template", ( localize(
|
|
227
|
+
actions.push(( new SubmenuAction("from.template", ( localize(14895, "From Template")), this.getCreateFromTemplateActions())));
|
|
227
228
|
actions.push(( new Separator()));
|
|
228
229
|
}
|
|
229
230
|
actions.push(toAction({
|
|
230
231
|
id: "importProfile",
|
|
231
|
-
label: ( localize(
|
|
232
|
+
label: ( localize(14896, "Import Profile...")),
|
|
232
233
|
run: () => this.importProfile()
|
|
233
234
|
}));
|
|
234
235
|
return actions;
|
|
@@ -239,7 +240,7 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
239
240
|
supportIcons: true,
|
|
240
241
|
...defaultButtonStyles
|
|
241
242
|
})));
|
|
242
|
-
button.label = ( localize(
|
|
243
|
+
button.label = ( localize(14897, "New Profile"));
|
|
243
244
|
this._register(button.onDidClick(e => this.createNewProfile()));
|
|
244
245
|
}
|
|
245
246
|
getCreateFromTemplateActions() {
|
|
@@ -284,17 +285,17 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
284
285
|
const actions = [];
|
|
285
286
|
actions.push(toAction({
|
|
286
287
|
id: "newProfile",
|
|
287
|
-
label: ( localize(
|
|
288
|
+
label: ( localize(14897, "New Profile")),
|
|
288
289
|
run: () => this.createNewProfile()
|
|
289
290
|
}));
|
|
290
291
|
const templateActions = this.getCreateFromTemplateActions();
|
|
291
292
|
if (templateActions.length) {
|
|
292
|
-
actions.push(( new SubmenuAction("from.template", ( localize(
|
|
293
|
+
actions.push(( new SubmenuAction("from.template", ( localize(14898, "New Profile From Template")), templateActions)));
|
|
293
294
|
}
|
|
294
295
|
actions.push(( new Separator()));
|
|
295
296
|
actions.push(toAction({
|
|
296
297
|
id: "importProfile",
|
|
297
|
-
label: ( localize(
|
|
298
|
+
label: ( localize(14896, "Import Profile...")),
|
|
298
299
|
run: () => this.importProfile()
|
|
299
300
|
}));
|
|
300
301
|
return actions;
|
|
@@ -307,16 +308,16 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
307
308
|
if (value) {
|
|
308
309
|
quickPickItems.push({
|
|
309
310
|
label: quickPick.value,
|
|
310
|
-
description: ( localize(
|
|
311
|
+
description: ( localize(14899, "Import from URL"))
|
|
311
312
|
});
|
|
312
313
|
}
|
|
313
314
|
quickPickItems.push({
|
|
314
|
-
label: ( localize(
|
|
315
|
+
label: ( localize(14900, "Select File..."))
|
|
315
316
|
});
|
|
316
317
|
quickPick.items = quickPickItems;
|
|
317
318
|
};
|
|
318
|
-
quickPick.title = ( localize(
|
|
319
|
-
quickPick.placeholder = ( localize(
|
|
319
|
+
quickPick.title = ( localize(14901, "Import from Profile Template..."));
|
|
320
|
+
quickPick.placeholder = ( localize(14902, "Provide Profile Template URL"));
|
|
320
321
|
quickPick.ignoreFocusOut = true;
|
|
321
322
|
disposables.add(quickPick.onDidChangeValue(updateQuickPickItems));
|
|
322
323
|
updateQuickPickItems();
|
|
@@ -351,7 +352,7 @@ let UserDataProfilesEditor = class UserDataProfilesEditor extends EditorPane {
|
|
|
351
352
|
canSelectFiles: true,
|
|
352
353
|
canSelectMany: false,
|
|
353
354
|
filters: PROFILE_FILTER,
|
|
354
|
-
title: ( localize(
|
|
355
|
+
title: ( localize(14903, "Select Profile Template File"))
|
|
355
356
|
});
|
|
356
357
|
if (!profileLocation) {
|
|
357
358
|
return null;
|
|
@@ -423,7 +424,7 @@ let ProfileElementRenderer = class ProfileElementRenderer {
|
|
|
423
424
|
append(
|
|
424
425
|
description,
|
|
425
426
|
$(`span${ThemeIcon.asCSSSelector(Codicon.check)}`),
|
|
426
|
-
$("span", undefined, ( localize(
|
|
427
|
+
$("span", undefined, ( localize(14904, "Active")))
|
|
427
428
|
);
|
|
428
429
|
const actionsContainer = append(container, $(".profile-tree-item-actions-container"));
|
|
429
430
|
const actionBar = disposables.add(
|
|
@@ -504,7 +505,7 @@ let ProfileWidget = class ProfileWidget extends Disposable {
|
|
|
504
505
|
const header = append(parent, $(".profile-header"));
|
|
505
506
|
const title = append(header, $(".profile-title-container"));
|
|
506
507
|
this.profileTitle = append(title, $(".profile-title"));
|
|
507
|
-
this.builtInLabel = append(title, $(".profile-built-in-label", undefined, ( localize(
|
|
508
|
+
this.builtInLabel = append(title, $(".profile-built-in-label", undefined, ( localize(14905, "Built-in"))));
|
|
508
509
|
this.builtInLabel.classList.add("hide");
|
|
509
510
|
const body = append(parent, $(".profile-body"));
|
|
510
511
|
const delegate = ( new ProfileTreeDelegate());
|
|
@@ -842,17 +843,17 @@ class AbstractProfileResourceTreeRenderer extends Disposable {
|
|
|
842
843
|
getResourceTypeTitle(resourceType) {
|
|
843
844
|
switch (resourceType) {
|
|
844
845
|
case ProfileResourceType.Settings:
|
|
845
|
-
return localize(
|
|
846
|
+
return localize(14906, "Settings");
|
|
846
847
|
case ProfileResourceType.Keybindings:
|
|
847
|
-
return localize(
|
|
848
|
+
return localize(14907, "Keyboard Shortcuts");
|
|
848
849
|
case ProfileResourceType.Snippets:
|
|
849
|
-
return localize(
|
|
850
|
+
return localize(14908, "Snippets");
|
|
850
851
|
case ProfileResourceType.Tasks:
|
|
851
|
-
return localize(
|
|
852
|
+
return localize(14909, "Tasks");
|
|
852
853
|
case ProfileResourceType.Mcp:
|
|
853
|
-
return localize(
|
|
854
|
+
return localize(14910, "MCP Servers");
|
|
854
855
|
case ProfileResourceType.Extensions:
|
|
855
|
-
return localize(
|
|
856
|
+
return localize(14911, "Extensions");
|
|
856
857
|
}
|
|
857
858
|
return "";
|
|
858
859
|
}
|
|
@@ -887,18 +888,18 @@ let ProfileNameRenderer = class ProfileNameRenderer extends ProfilePropertyRende
|
|
|
887
888
|
const elementDisposables = disposables.add(( new DisposableStore()));
|
|
888
889
|
let profileElement;
|
|
889
890
|
const nameContainer = append(parent, $(".profile-row-container"));
|
|
890
|
-
append(nameContainer, $(".profile-label-element", undefined, ( localize(
|
|
891
|
+
append(nameContainer, $(".profile-label-element", undefined, ( localize(14912, "Name"))));
|
|
891
892
|
const nameInput = disposables.add(( new InputBox(nameContainer, this.contextViewService, {
|
|
892
893
|
inputBoxStyles: getInputBoxStyle({
|
|
893
894
|
inputBorder: settingsTextInputBorder
|
|
894
895
|
}),
|
|
895
|
-
ariaLabel: ( localize(
|
|
896
|
-
placeholder: ( localize(
|
|
896
|
+
ariaLabel: ( localize(14913, "Profile Name")),
|
|
897
|
+
placeholder: ( localize(14913, "Profile Name")),
|
|
897
898
|
validationOptions: {
|
|
898
899
|
validation: value => {
|
|
899
900
|
if (!value) {
|
|
900
901
|
return {
|
|
901
|
-
content: ( localize(
|
|
902
|
+
content: ( localize(14914, "Profile name is required and must be a non-empty value.")),
|
|
902
903
|
type: MessageType.WARNING
|
|
903
904
|
};
|
|
904
905
|
}
|
|
@@ -912,7 +913,7 @@ let ProfileNameRenderer = class ProfileNameRenderer extends ProfilePropertyRende
|
|
|
912
913
|
value = value.trim();
|
|
913
914
|
if (initialName !== value && ( this.userDataProfilesService.profiles.some(p => !p.isTransient && p.name === value))) {
|
|
914
915
|
return {
|
|
915
|
-
content: ( localize(
|
|
916
|
+
content: ( localize(14915, "Profile with name {0} already exists.", value)),
|
|
916
917
|
type: MessageType.WARNING
|
|
917
918
|
};
|
|
918
919
|
}
|
|
@@ -941,9 +942,9 @@ let ProfileNameRenderer = class ProfileNameRenderer extends ProfilePropertyRende
|
|
|
941
942
|
nameInput.enable();
|
|
942
943
|
}
|
|
943
944
|
if (isSystemProfile) {
|
|
944
|
-
nameInput.setTooltip(( localize(
|
|
945
|
+
nameInput.setTooltip(( localize(14916, "Name cannot be changed for the built in profiles")));
|
|
945
946
|
} else {
|
|
946
|
-
nameInput.setTooltip(( localize(
|
|
947
|
+
nameInput.setTooltip(( localize(14913, "Profile Name")));
|
|
947
948
|
}
|
|
948
949
|
};
|
|
949
950
|
return {
|
|
@@ -978,12 +979,12 @@ let ProfileIconRenderer = class ProfileIconRenderer extends ProfilePropertyRende
|
|
|
978
979
|
const elementDisposables = disposables.add(( new DisposableStore()));
|
|
979
980
|
let profileElement;
|
|
980
981
|
const iconContainer = append(parent, $(".profile-row-container"));
|
|
981
|
-
append(iconContainer, $(".profile-label-element", undefined, ( localize(
|
|
982
|
+
append(iconContainer, $(".profile-label-element", undefined, ( localize(14917, "Icon"))));
|
|
982
983
|
const iconValueContainer = append(iconContainer, $(".profile-icon-container"));
|
|
983
984
|
const iconElement = append(iconValueContainer, $(`${ThemeIcon.asCSSSelector(DEFAULT_ICON)}`, {
|
|
984
985
|
"tabindex": "0",
|
|
985
986
|
"role": "button",
|
|
986
|
-
"aria-label": ( localize(
|
|
987
|
+
"aria-label": ( localize(14918, "Profile Icon"))
|
|
987
988
|
}));
|
|
988
989
|
const iconHover = disposables.add(this.hoverService.setupManagedHover(this.hoverDelegate, iconElement, ""));
|
|
989
990
|
const iconSelectBox = disposables.add(this.instantiationService.createInstance(WorkbenchIconSelectBox, {
|
|
@@ -1048,14 +1049,14 @@ let ProfileIconRenderer = class ProfileIconRenderer extends ProfilePropertyRende
|
|
|
1048
1049
|
}));
|
|
1049
1050
|
append(
|
|
1050
1051
|
iconValueContainer,
|
|
1051
|
-
$(".profile-description-element", undefined, ( localize(
|
|
1052
|
+
$(".profile-description-element", undefined, ( localize(14919, "Profile icon to be shown in the activity bar")))
|
|
1052
1053
|
);
|
|
1053
1054
|
const renderIcon = profileElement => {
|
|
1054
1055
|
if (profileElement?.root instanceof UserDataProfileElement && profileElement.root.profile.isDefault) {
|
|
1055
1056
|
iconValueContainer.classList.add("disabled");
|
|
1056
|
-
iconHover.update(( localize(
|
|
1057
|
+
iconHover.update(( localize(14920, "Icon cannot be changed for the default profile")));
|
|
1057
1058
|
} else {
|
|
1058
|
-
iconHover.update(( localize(
|
|
1059
|
+
iconHover.update(( localize(14921, "Click to change icon")));
|
|
1059
1060
|
iconValueContainer.classList.remove("disabled");
|
|
1060
1061
|
}
|
|
1061
1062
|
if (profileElement.root.icon) {
|
|
@@ -1093,10 +1094,10 @@ let UseForCurrentWindowPropertyRenderer = class UseForCurrentWindowPropertyRende
|
|
|
1093
1094
|
const useForCurrentWindowContainer = append(parent, $(".profile-row-container"));
|
|
1094
1095
|
append(
|
|
1095
1096
|
useForCurrentWindowContainer,
|
|
1096
|
-
$(".profile-label-element", undefined, ( localize(
|
|
1097
|
+
$(".profile-label-element", undefined, ( localize(14922, "Use for Current Window")))
|
|
1097
1098
|
);
|
|
1098
1099
|
const useForCurrentWindowValueContainer = append(useForCurrentWindowContainer, $(".profile-use-for-current-container"));
|
|
1099
|
-
const useForCurrentWindowTitle = ( localize(
|
|
1100
|
+
const useForCurrentWindowTitle = ( localize(14923, "Use this profile for the current window"));
|
|
1100
1101
|
const useForCurrentWindowCheckbox = disposables.add(( new Checkbox(useForCurrentWindowTitle, false, defaultCheckboxStyles)));
|
|
1101
1102
|
append(useForCurrentWindowValueContainer, useForCurrentWindowCheckbox.domNode);
|
|
1102
1103
|
const useForCurrentWindowLabel = append(
|
|
@@ -1148,10 +1149,10 @@ class UseAsDefaultProfileRenderer extends ProfilePropertyRenderer {
|
|
|
1148
1149
|
const useAsDefaultProfileContainer = append(parent, $(".profile-row-container"));
|
|
1149
1150
|
append(
|
|
1150
1151
|
useAsDefaultProfileContainer,
|
|
1151
|
-
$(".profile-label-element", undefined, ( localize(
|
|
1152
|
+
$(".profile-label-element", undefined, ( localize(14924, "Use for New Windows")))
|
|
1152
1153
|
);
|
|
1153
1154
|
const useAsDefaultProfileValueContainer = append(useAsDefaultProfileContainer, $(".profile-use-as-default-container"));
|
|
1154
|
-
const useAsDefaultProfileTitle = ( localize(
|
|
1155
|
+
const useAsDefaultProfileTitle = ( localize(14925, "Use this profile as the default for new windows"));
|
|
1155
1156
|
const useAsDefaultProfileCheckbox = disposables.add(( new Checkbox(useAsDefaultProfileTitle, false, defaultCheckboxStyles)));
|
|
1156
1157
|
append(useAsDefaultProfileValueContainer, useAsDefaultProfileCheckbox.domNode);
|
|
1157
1158
|
const useAsDefaultProfileLabel = append(
|
|
@@ -1206,15 +1207,15 @@ let CopyFromProfileRenderer = class CopyFromProfileRenderer extends ProfilePrope
|
|
|
1206
1207
|
const elementDisposables = disposables.add(( new DisposableStore()));
|
|
1207
1208
|
let profileElement;
|
|
1208
1209
|
const copyFromContainer = append(parent, $(".profile-row-container.profile-copy-from-container"));
|
|
1209
|
-
append(copyFromContainer, $(".profile-label-element", undefined, ( localize(
|
|
1210
|
+
append(copyFromContainer, $(".profile-label-element", undefined, ( localize(14926, "Copy from"))));
|
|
1210
1211
|
append(
|
|
1211
1212
|
copyFromContainer,
|
|
1212
|
-
$(".profile-description-element", undefined, ( localize(
|
|
1213
|
+
$(".profile-description-element", undefined, ( localize(14927, "Select the profile source from which you want to copy contents")))
|
|
1213
1214
|
);
|
|
1214
1215
|
const copyFromSelectBox = disposables.add(
|
|
1215
1216
|
this.instantiationService.createInstance(SelectBox, [], 0, this.contextViewService, defaultSelectBoxStyles, {
|
|
1216
1217
|
useCustomDrawn: true,
|
|
1217
|
-
ariaLabel: ( localize(
|
|
1218
|
+
ariaLabel: ( localize(14928, "Copy profile from"))
|
|
1218
1219
|
})
|
|
1219
1220
|
);
|
|
1220
1221
|
copyFromSelectBox.render(append(copyFromContainer, $(".profile-select-container")));
|
|
@@ -1257,7 +1258,7 @@ let CopyFromProfileRenderer = class CopyFromProfileRenderer extends ProfilePrope
|
|
|
1257
1258
|
getCopyFromOptions(profileElement) {
|
|
1258
1259
|
const copyFromOptions = [];
|
|
1259
1260
|
copyFromOptions.push({
|
|
1260
|
-
text: ( localize(
|
|
1261
|
+
text: ( localize(14929, "None"))
|
|
1261
1262
|
});
|
|
1262
1263
|
for (const [copyFromTemplate, name] of profileElement.copyFromTemplates) {
|
|
1263
1264
|
if (!( this.templates.some(template => this.uriIdentityService.extUri.isEqual(( URI.parse(template.url)), copyFromTemplate)))) {
|
|
@@ -1271,7 +1272,7 @@ let CopyFromProfileRenderer = class CopyFromProfileRenderer extends ProfilePrope
|
|
|
1271
1272
|
if (this.templates.length) {
|
|
1272
1273
|
copyFromOptions.push({
|
|
1273
1274
|
...SeparatorSelectOption,
|
|
1274
|
-
decoratorRight: ( localize(
|
|
1275
|
+
decoratorRight: ( localize(14930, "Profile Templates"))
|
|
1275
1276
|
});
|
|
1276
1277
|
for (const template of this.templates) {
|
|
1277
1278
|
copyFromOptions.push({
|
|
@@ -1283,7 +1284,7 @@ let CopyFromProfileRenderer = class CopyFromProfileRenderer extends ProfilePrope
|
|
|
1283
1284
|
}
|
|
1284
1285
|
copyFromOptions.push({
|
|
1285
1286
|
...SeparatorSelectOption,
|
|
1286
|
-
decoratorRight: ( localize(
|
|
1287
|
+
decoratorRight: ( localize(14931, "Existing Profiles"))
|
|
1287
1288
|
});
|
|
1288
1289
|
for (const profile of this.userDataProfilesService.profiles) {
|
|
1289
1290
|
if (!profile.isTransient) {
|
|
@@ -1317,12 +1318,12 @@ let ContentsProfileRenderer = class ContentsProfileRenderer extends ProfilePrope
|
|
|
1317
1318
|
const configureRowContainer = append(parent, $(".profile-row-container"));
|
|
1318
1319
|
append(
|
|
1319
1320
|
configureRowContainer,
|
|
1320
|
-
$(".profile-label-element", undefined, ( localize(
|
|
1321
|
+
$(".profile-label-element", undefined, ( localize(14932, "Contents")))
|
|
1321
1322
|
);
|
|
1322
1323
|
const contentsDescriptionElement = append(configureRowContainer, $(".profile-description-element"));
|
|
1323
1324
|
const contentsTreeHeader = append(configureRowContainer, $(".profile-content-tree-header"));
|
|
1324
|
-
const optionsLabel = $(".options-header", undefined, $("span", undefined, ( localize(
|
|
1325
|
-
append(contentsTreeHeader, $(""), $("", undefined, ( localize(
|
|
1325
|
+
const optionsLabel = $(".options-header", undefined, $("span", undefined, ( localize(14933, "Source"))));
|
|
1326
|
+
append(contentsTreeHeader, $(""), $("", undefined, ( localize(14932, "Contents"))), optionsLabel, $(""));
|
|
1326
1327
|
const delegate = ( new ProfileContentTreeElementDelegate());
|
|
1327
1328
|
const profilesContentTree = this.profilesContentTree = disposables.add(
|
|
1328
1329
|
this.instantiationService.createInstance(WorkbenchAsyncDataTree, "ProfileEditor-ContentsTree", append(
|
|
@@ -1402,21 +1403,21 @@ let ContentsProfileRenderer = class ContentsProfileRenderer extends ProfilePrope
|
|
|
1402
1403
|
clearNode(contentsDescriptionElement);
|
|
1403
1404
|
const markdown = ( new MarkdownString());
|
|
1404
1405
|
if (element.root instanceof UserDataProfileElement && element.root.profile.isDefault) {
|
|
1405
|
-
markdown.appendMarkdown(( localize(
|
|
1406
|
+
markdown.appendMarkdown(( localize(14934, "Browse contents of this profile\n")));
|
|
1406
1407
|
} else {
|
|
1407
|
-
markdown.appendMarkdown(( localize(
|
|
1408
|
+
markdown.appendMarkdown(( localize(14935, "Configure source of contents for this profile\n")));
|
|
1408
1409
|
if (element.root instanceof NewProfileElement) {
|
|
1409
1410
|
const copyFromName = element.root.getCopyFromName();
|
|
1410
|
-
const optionName = copyFromName === this.userDataProfilesService.defaultProfile.name ? ( localize(
|
|
1411
|
+
const optionName = copyFromName === this.userDataProfilesService.defaultProfile.name ? ( localize(14936, "{0} (Copy)", copyFromName)) : copyFromName;
|
|
1411
1412
|
if (optionName) {
|
|
1412
1413
|
markdown.appendMarkdown(( localize(
|
|
1413
|
-
|
|
1414
|
+
14937,
|
|
1414
1415
|
"- *{0}:* Copy contents from the {1} profile\n",
|
|
1415
1416
|
optionName,
|
|
1416
1417
|
copyFromName
|
|
1417
1418
|
)));
|
|
1418
1419
|
}
|
|
1419
|
-
markdown.appendMarkdown(( localize(
|
|
1420
|
+
markdown.appendMarkdown(( localize(14938, "- *Default:* Use contents from the Default profile\n"))).appendMarkdown(( localize(14939, "- *None:* Create empty contents\n")));
|
|
1420
1421
|
}
|
|
1421
1422
|
}
|
|
1422
1423
|
append(
|
|
@@ -1477,7 +1478,7 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1477
1478
|
const profileWorkspacesRowContainer = append(parent, $(".profile-row-container"));
|
|
1478
1479
|
append(
|
|
1479
1480
|
profileWorkspacesRowContainer,
|
|
1480
|
-
$(".profile-label-element", undefined, ( localize(
|
|
1481
|
+
$(".profile-label-element", undefined, ( localize(14940, "Folders & Workspaces")))
|
|
1481
1482
|
);
|
|
1482
1483
|
const profileWorkspacesDescriptionElement = append(profileWorkspacesRowContainer, $(".profile-description-element"));
|
|
1483
1484
|
const workspacesTableContainer = append(profileWorkspacesRowContainer, $(".profile-associations-table"));
|
|
@@ -1504,7 +1505,7 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1504
1505
|
return row;
|
|
1505
1506
|
}
|
|
1506
1507
|
}, {
|
|
1507
|
-
label: ( localize(
|
|
1508
|
+
label: ( localize(14941, "Host")),
|
|
1508
1509
|
tooltip: "",
|
|
1509
1510
|
weight: 2,
|
|
1510
1511
|
templateId: WorkspaceUriHostColumnRenderer.TEMPLATE_ID,
|
|
@@ -1512,7 +1513,7 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1512
1513
|
return row;
|
|
1513
1514
|
}
|
|
1514
1515
|
}, {
|
|
1515
|
-
label: ( localize(
|
|
1516
|
+
label: ( localize(14942, "Path")),
|
|
1516
1517
|
tooltip: "",
|
|
1517
1518
|
weight: 7,
|
|
1518
1519
|
templateId: WorkspaceUriPathColumnRenderer.TEMPLATE_ID,
|
|
@@ -1540,16 +1541,16 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1540
1541
|
getAriaLabel: item => {
|
|
1541
1542
|
const hostLabel = getHostLabel(this.labelService, item.workspace);
|
|
1542
1543
|
if (hostLabel === undefined || hostLabel.length === 0) {
|
|
1543
|
-
return localize(
|
|
1544
|
+
return localize(14943, "{0}, trusted", this.labelService.getUriLabel(item.workspace));
|
|
1544
1545
|
}
|
|
1545
1546
|
return localize(
|
|
1546
|
-
|
|
1547
|
+
14944,
|
|
1547
1548
|
"{0} on {1}, trusted",
|
|
1548
1549
|
this.labelService.getUriLabel(item.workspace),
|
|
1549
1550
|
hostLabel
|
|
1550
1551
|
);
|
|
1551
1552
|
},
|
|
1552
|
-
getWidgetAriaLabel: () => ( localize(
|
|
1553
|
+
getWidgetAriaLabel: () => ( localize(14945, "Trusted Folders & Workspaces"))
|
|
1553
1554
|
},
|
|
1554
1555
|
identityProvider: {
|
|
1555
1556
|
getId(element) {
|
|
@@ -1571,17 +1572,17 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1571
1572
|
const addButtonBarElement = append(profileWorkspacesRowContainer, $(".profile-workspaces-button-container"));
|
|
1572
1573
|
const buttonBar = disposables.add(( new ButtonBar(addButtonBarElement)));
|
|
1573
1574
|
const addButton = this._register(buttonBar.addButton({
|
|
1574
|
-
title: ( localize(
|
|
1575
|
+
title: ( localize(14946, "Add Folder")),
|
|
1575
1576
|
...defaultButtonStyles
|
|
1576
1577
|
}));
|
|
1577
|
-
addButton.label = ( localize(
|
|
1578
|
+
addButton.label = ( localize(14946, "Add Folder"));
|
|
1578
1579
|
disposables.add(addButton.onDidClick(async () => {
|
|
1579
1580
|
const uris = await this.fileDialogService.showOpenDialog({
|
|
1580
1581
|
canSelectFiles: false,
|
|
1581
1582
|
canSelectFolders: true,
|
|
1582
1583
|
canSelectMany: true,
|
|
1583
|
-
openLabel: ( localize(
|
|
1584
|
-
title: ( localize(
|
|
1584
|
+
openLabel: ( localize(14947, "Add Folder")),
|
|
1585
|
+
title: ( localize(14948, "Select Folders To Add"))
|
|
1585
1586
|
});
|
|
1586
1587
|
if (uris) {
|
|
1587
1588
|
if (profileElement?.root instanceof UserDataProfileElement) {
|
|
@@ -1596,7 +1597,7 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1596
1597
|
}));
|
|
1597
1598
|
const updateTable = () => {
|
|
1598
1599
|
if (profileElement?.root instanceof UserDataProfileElement && profileElement.root.workspaces?.length) {
|
|
1599
|
-
profileWorkspacesDescriptionElement.textContent = ( localize(
|
|
1600
|
+
profileWorkspacesDescriptionElement.textContent = ( localize(14949, "Following folders and workspaces are using this profile"));
|
|
1600
1601
|
workspacesTableContainer.classList.remove("hide");
|
|
1601
1602
|
table.splice(0, table.length, ( profileElement.root.workspaces.map(workspace => ({
|
|
1602
1603
|
workspace,
|
|
@@ -1604,7 +1605,7 @@ let ProfileWorkspacesRenderer = class ProfileWorkspacesRenderer extends ProfileP
|
|
|
1604
1605
|
}))).sort((a, b) => this.uriIdentityService.extUri.compare(a.workspace, b.workspace)));
|
|
1605
1606
|
this.layout();
|
|
1606
1607
|
} else {
|
|
1607
|
-
profileWorkspacesDescriptionElement.textContent = ( localize(
|
|
1608
|
+
profileWorkspacesDescriptionElement.textContent = ( localize(14950, "No folders or workspaces are using this profile"));
|
|
1608
1609
|
workspacesTableContainer.classList.add("hide");
|
|
1609
1610
|
}
|
|
1610
1611
|
};
|
|
@@ -1699,12 +1700,12 @@ let ExistingProfileResourceTreeRenderer = class ExistingProfileResourceTreeRende
|
|
|
1699
1700
|
}
|
|
1700
1701
|
const updateRadioItems = () => {
|
|
1701
1702
|
templateData.radio.setItems([{
|
|
1702
|
-
text: ( localize(
|
|
1703
|
-
tooltip: ( localize(
|
|
1703
|
+
text: ( localize(14951, "Default")),
|
|
1704
|
+
tooltip: ( localize(14952, "Use {0} from the Default profile", resourceTypeTitle)),
|
|
1704
1705
|
isActive: root.getFlag(element.resourceType)
|
|
1705
1706
|
}, {
|
|
1706
1707
|
text: root.name,
|
|
1707
|
-
tooltip: ( localize(
|
|
1708
|
+
tooltip: ( localize(14953, "Use {0} from the {1} profile", resourceTypeTitle, root.name)),
|
|
1708
1709
|
isActive: !root.getFlag(element.resourceType)
|
|
1709
1710
|
}]);
|
|
1710
1711
|
};
|
|
@@ -1797,18 +1798,18 @@ let NewProfileResourceTreeRenderer = class NewProfileResourceTreeRenderer extend
|
|
|
1797
1798
|
templateData.label.textContent = resourceTypeTitle;
|
|
1798
1799
|
const renderRadioItems = () => {
|
|
1799
1800
|
const options = [{
|
|
1800
|
-
text: ( localize(
|
|
1801
|
-
tooltip: ( localize(
|
|
1801
|
+
text: ( localize(14951, "Default")),
|
|
1802
|
+
tooltip: ( localize(14952, "Use {0} from the Default profile", resourceTypeTitle))
|
|
1802
1803
|
}, {
|
|
1803
|
-
text: ( localize(
|
|
1804
|
-
tooltip: ( localize(
|
|
1804
|
+
text: ( localize(14954, "None")),
|
|
1805
|
+
tooltip: ( localize(14955, "Create empty {0}", resourceTypeTitle))
|
|
1805
1806
|
}];
|
|
1806
1807
|
const copyFromName = root.getCopyFromName();
|
|
1807
|
-
const name = copyFromName === this.userDataProfilesService.defaultProfile.name ? ( localize(
|
|
1808
|
+
const name = copyFromName === this.userDataProfilesService.defaultProfile.name ? ( localize(14936, "{0} (Copy)", copyFromName)) : copyFromName;
|
|
1808
1809
|
if (root.copyFrom && name) {
|
|
1809
1810
|
templateData.radio.setItems([{
|
|
1810
1811
|
text: name,
|
|
1811
|
-
tooltip: name ? ( localize(
|
|
1812
|
+
tooltip: name ? ( localize(14956, "Copy {0} from the {1} profile", resourceTypeTitle, name)) : ( localize(14957, "Copy"))
|
|
1812
1813
|
}, ...options]);
|
|
1813
1814
|
templateData.radio.setActiveItem(
|
|
1814
1815
|
root.getCopyFlag(element.resourceType) ? 0 : root.getFlag(element.resourceType) ? 1 : 2
|
|
@@ -2056,7 +2057,7 @@ let ChangeProfileAction = class ChangeProfileAction {
|
|
|
2056
2057
|
this.id = "changeProfile";
|
|
2057
2058
|
this.label = "Change Profile";
|
|
2058
2059
|
this.class = ThemeIcon.asClassName(editIcon);
|
|
2059
|
-
this.tooltip = ( localize(
|
|
2060
|
+
this.tooltip = ( localize(14958, "Change Profile"));
|
|
2060
2061
|
this.checked = false;
|
|
2061
2062
|
this.enabled = !uriIdentityService.extUri.isEqual(item.workspace, environmentService.agentSessionsWorkspace);
|
|
2062
2063
|
}
|
|
@@ -2148,7 +2149,7 @@ let WorkspaceUriActionsColumnRenderer = class WorkspaceUriActionsColumnRenderer
|
|
|
2148
2149
|
class: ThemeIcon.asClassName(Codicon.window),
|
|
2149
2150
|
enabled: !this.uriIdentityService.extUri.isEqual(item.workspace, item.profileElement.getCurrentWorkspace()),
|
|
2150
2151
|
id: "openWorkspace",
|
|
2151
|
-
tooltip: ( localize(
|
|
2152
|
+
tooltip: ( localize(14959, "Open in New Window")),
|
|
2152
2153
|
run: () => item.profileElement.openWorkspace(item.workspace)
|
|
2153
2154
|
};
|
|
2154
2155
|
}
|
|
@@ -2159,7 +2160,7 @@ let WorkspaceUriActionsColumnRenderer = class WorkspaceUriActionsColumnRenderer
|
|
|
2159
2160
|
class: ThemeIcon.asClassName(removeIcon),
|
|
2160
2161
|
enabled: this.userDataProfileManagementService.getDefaultProfileToUse().id !== item.profileElement.profile.id && !isAgentSessionsWorkspace,
|
|
2161
2162
|
id: "deleteTrustedUri",
|
|
2162
|
-
tooltip: ( localize(
|
|
2163
|
+
tooltip: ( localize(14960, "Delete Path")),
|
|
2163
2164
|
run: () => item.profileElement.updateWorkspaces([], [item.workspace])
|
|
2164
2165
|
};
|
|
2165
2166
|
}
|
|
@@ -2169,7 +2170,7 @@ let WorkspaceUriActionsColumnRenderer = class WorkspaceUriActionsColumnRenderer
|
|
|
2169
2170
|
};
|
|
2170
2171
|
WorkspaceUriActionsColumnRenderer = WorkspaceUriActionsColumnRenderer_1 = ( __decorate([( __param(0, IUserDataProfilesService)), ( __param(1, IUserDataProfileManagementService)), ( __param(2, IContextMenuService)), ( __param(3, IUriIdentityService)), ( __param(4, IEnvironmentService))], WorkspaceUriActionsColumnRenderer));
|
|
2171
2172
|
function getHostLabel(labelService, workspaceUri) {
|
|
2172
|
-
return workspaceUri.authority ? labelService.getHostLabel(workspaceUri.scheme, workspaceUri.authority) : ( localize(
|
|
2173
|
+
return workspaceUri.authority ? labelService.getHostLabel(workspaceUri.scheme, workspaceUri.authority) : ( localize(14961, "Local"));
|
|
2173
2174
|
}
|
|
2174
2175
|
let UserDataProfilesEditorInput = class UserDataProfilesEditorInput extends EditorInput {
|
|
2175
2176
|
static {
|
|
@@ -2187,6 +2188,9 @@ let UserDataProfilesEditorInput = class UserDataProfilesEditorInput extends Edit
|
|
|
2187
2188
|
this._onDidChangeDirty.fire();
|
|
2188
2189
|
}
|
|
2189
2190
|
}
|
|
2191
|
+
get capabilities() {
|
|
2192
|
+
return EditorInputCapabilities.RequiresModal;
|
|
2193
|
+
}
|
|
2190
2194
|
constructor(instantiationService) {
|
|
2191
2195
|
super();
|
|
2192
2196
|
this.instantiationService = instantiationService;
|
|
@@ -2199,7 +2203,7 @@ let UserDataProfilesEditorInput = class UserDataProfilesEditorInput extends Edit
|
|
|
2199
2203
|
return UserDataProfilesEditorInput_1.ID;
|
|
2200
2204
|
}
|
|
2201
2205
|
getName() {
|
|
2202
|
-
return localize(
|
|
2206
|
+
return localize(14962, "Profiles");
|
|
2203
2207
|
}
|
|
2204
2208
|
getIcon() {
|
|
2205
2209
|
return defaultUserDataProfileIcon;
|