@codingame/monaco-vscode-walkthrough-service-override 26.2.2 → 27.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 +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.d.ts +5 -7
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.js +81 -96
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/media/agentSessionsWelcome.css +7 -7
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +22 -19
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +40 -41
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +151 -151
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +4 -4
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +4 -4
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
|
@@ -167,14 +167,14 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
167
167
|
this.stepDisposables = ( new DisposableStore());
|
|
168
168
|
this.detailsPageDisposables = ( new DisposableStore());
|
|
169
169
|
this.mediaDisposables = ( new DisposableStore());
|
|
170
|
-
this.buildSlideThrottle = ( new Throttler());
|
|
170
|
+
this.buildSlideThrottle = this._register(( new Throttler()));
|
|
171
171
|
this.showFeaturedWalkthrough = true;
|
|
172
172
|
this.currentMediaComponent = undefined;
|
|
173
173
|
this.currentMediaType = undefined;
|
|
174
174
|
this.container = $(".gettingStartedContainer", {
|
|
175
175
|
role: "document",
|
|
176
176
|
tabindex: 0,
|
|
177
|
-
"aria-label": ( localize(
|
|
177
|
+
"aria-label": ( localize(14679, "Overview of how to get up to speed with your editor."))
|
|
178
178
|
});
|
|
179
179
|
this.stepMediaComponent = $(".getting-started-media");
|
|
180
180
|
this.stepMediaComponent.id = generateUuid();
|
|
@@ -189,7 +189,6 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
189
189
|
inWelcomeContext.bindTo(this.contextService).set(true);
|
|
190
190
|
this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs();
|
|
191
191
|
this._register(this.dispatchListeners);
|
|
192
|
-
this.buildSlideThrottle = ( new Throttler());
|
|
193
192
|
const rerender = () => {
|
|
194
193
|
this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs();
|
|
195
194
|
if (this.currentWalkthrough) {
|
|
@@ -249,17 +248,17 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
249
248
|
badgeelement.parentElement?.setAttribute("aria-checked", "true");
|
|
250
249
|
badgeelement.classList.remove(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
|
|
251
250
|
badgeelement.classList.add("complete", ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
|
|
252
|
-
badgeelement.setAttribute("aria-label", ( localize(
|
|
251
|
+
badgeelement.setAttribute("aria-label", ( localize(14680, "{0}: Completed", step.title)));
|
|
253
252
|
} else {
|
|
254
253
|
badgeelement.setAttribute("aria-checked", "false");
|
|
255
254
|
badgeelement.parentElement?.setAttribute("aria-checked", "false");
|
|
256
255
|
badgeelement.classList.remove("complete", ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
|
|
257
256
|
badgeelement.classList.add(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
|
|
258
|
-
badgeelement.setAttribute("aria-label", ( localize(
|
|
257
|
+
badgeelement.setAttribute("aria-label", ( localize(14681, "{0}: Not completed", step.title)));
|
|
259
258
|
}
|
|
260
259
|
});
|
|
261
260
|
if (step.done) {
|
|
262
|
-
status(( localize(
|
|
261
|
+
status(( localize(14682, "Step {0} completed", step.title)));
|
|
263
262
|
}
|
|
264
263
|
}
|
|
265
264
|
this.updateCategoryProgress();
|
|
@@ -516,7 +515,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
516
515
|
canPickMany: false,
|
|
517
516
|
matchOnDescription: true,
|
|
518
517
|
matchOnDetail: true,
|
|
519
|
-
title: ( localize(
|
|
518
|
+
title: ( localize(14683, "Open Walkthrough..."))
|
|
520
519
|
});
|
|
521
520
|
if (selection) {
|
|
522
521
|
this.runDispatchCommand("selectCategory", selection.id);
|
|
@@ -747,7 +746,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
747
746
|
const themeType = this.themeService.getColorTheme().type;
|
|
748
747
|
const videoPath = media.path[themeType];
|
|
749
748
|
const videoPoster = media.poster ? media.poster[themeType] : undefined;
|
|
750
|
-
const altText = media.altText ? media.altText : ( localize(
|
|
749
|
+
const altText = media.altText ? media.altText : ( localize(14684, "Video for {0}", stepToExpand.title));
|
|
751
750
|
const rawHTML = await this.detailsRenderer.renderVideo(videoPath, videoPoster, altText);
|
|
752
751
|
this.webview.setHtml(rawHTML);
|
|
753
752
|
let isDisposed = false;
|
|
@@ -779,8 +778,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
779
778
|
provideScreenReaderUpdate() {
|
|
780
779
|
if (this.configurationService.getValue(AccessibilityVerbositySettingId.Walkthrough)) {
|
|
781
780
|
const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
|
|
782
|
-
return kbLabel ? ( localize(
|
|
783
|
-
|
|
781
|
+
return kbLabel ? ( localize(14685, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
|
|
782
|
+
14686,
|
|
784
783
|
"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
|
|
785
784
|
));
|
|
786
785
|
}
|
|
@@ -849,7 +848,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
849
848
|
this.categoriesSlide = $(".gettingStartedSlideCategories.gettingStartedSlide");
|
|
850
849
|
const prevButton = $("button.prev-button.button-link", {
|
|
851
850
|
"x-dispatch": "scrollPrev"
|
|
852
|
-
}, $("span.scroll-button.codicon.codicon-chevron-left"), $("span.moreText", {}, ( localize(
|
|
851
|
+
}, $("span.scroll-button.codicon.codicon-chevron-left"), $("span.moreText", {}, ( localize(14687, "Go Back"))));
|
|
853
852
|
this.stepsSlide = $(".gettingStartedSlideDetails.gettingStartedSlide", {}, prevButton);
|
|
854
853
|
this.stepsContent = $(".gettingStartedDetailsContent", {});
|
|
855
854
|
this.detailsPageScrollbar = this._register(( new DomScrollableElement(this.stepsContent, {
|
|
@@ -878,13 +877,13 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
878
877
|
icon: Codicon.check,
|
|
879
878
|
actionClassName: "getting-started-checkbox",
|
|
880
879
|
isChecked: this.configurationService.getValue(configurationKey) === "welcomePage",
|
|
881
|
-
title: ( localize(
|
|
880
|
+
title: ( localize(14688, "When checked, this page will be shown on startup.")),
|
|
882
881
|
...defaultToggleStyles
|
|
883
882
|
}));
|
|
884
883
|
showOnStartupCheckbox.domNode.id = "showOnStartup";
|
|
885
884
|
const showOnStartupLabel = $("label.caption", {
|
|
886
885
|
for: "showOnStartup"
|
|
887
|
-
}, ( localize(
|
|
886
|
+
}, ( localize(14689, "Show welcome page on startup")));
|
|
888
887
|
const onShowOnStartupChanged = () => {
|
|
889
888
|
if (showOnStartupCheckbox.checked) {
|
|
890
889
|
this.telemetryService.publicLog2("gettingStarted.ActionExecuted", {
|
|
@@ -914,7 +913,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
914
913
|
".header",
|
|
915
914
|
{},
|
|
916
915
|
$("h1.product-name.caption", {}, this.productService.nameLong),
|
|
917
|
-
$("p.subtitle.description", {}, ( localize(
|
|
916
|
+
$("p.subtitle.description", {}, ( localize(14690, "Editing evolved")))
|
|
918
917
|
);
|
|
919
918
|
const leftColumn = $(".categories-column.categories-column-left", {});
|
|
920
919
|
const rightColumn = $(".categories-column.categories-column-right", {});
|
|
@@ -1029,7 +1028,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1029
1028
|
const link = $("button.button-link");
|
|
1030
1029
|
link.innerText = name;
|
|
1031
1030
|
link.title = fullPath;
|
|
1032
|
-
link.setAttribute("aria-label", ( localize(
|
|
1031
|
+
link.setAttribute("aria-label", ( localize(14691, "Open folder {0} with path {1}", name, parentPath)));
|
|
1033
1032
|
link.addEventListener("click", e => {
|
|
1034
1033
|
this.telemetryService.publicLog2("gettingStarted.ActionExecuted", {
|
|
1035
1034
|
command: "openRecent",
|
|
@@ -1055,8 +1054,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1055
1054
|
{
|
|
1056
1055
|
"tabindex": 0,
|
|
1057
1056
|
"role": "button",
|
|
1058
|
-
"title": ( localize(
|
|
1059
|
-
"aria-label": ( localize(
|
|
1057
|
+
"title": ( localize(14692, "Remove from Recently Opened")),
|
|
1058
|
+
"aria-label": ( localize(14693, "Remove {0} from Recently Opened", name))
|
|
1060
1059
|
}
|
|
1061
1060
|
);
|
|
1062
1061
|
const handleDelete = async e => {
|
|
@@ -1078,20 +1077,20 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1078
1077
|
this.recentlyOpenedList.dispose();
|
|
1079
1078
|
}
|
|
1080
1079
|
const recentlyOpenedList = this.recentlyOpenedList = ( new GettingStartedIndexList({
|
|
1081
|
-
title: ( localize(
|
|
1080
|
+
title: ( localize(14694, "Recent")),
|
|
1082
1081
|
klass: "recently-opened",
|
|
1083
1082
|
limit: 5,
|
|
1084
|
-
empty: $(".empty-recent", {}, ( localize(
|
|
1083
|
+
empty: $(".empty-recent", {}, ( localize(14695, "You have no recent folders,")), $("button.button-link", {
|
|
1085
1084
|
"x-dispatch": "openFolder"
|
|
1086
|
-
}, ( localize(
|
|
1085
|
+
}, ( localize(14696, "open a folder"))), ( localize(14697, "to start."))),
|
|
1087
1086
|
more: $(".more", {}, $("button.button-link", {
|
|
1088
1087
|
"x-dispatch": "showMoreRecents",
|
|
1089
1088
|
title: ( localize(
|
|
1090
|
-
|
|
1089
|
+
14698,
|
|
1091
1090
|
"Show All Recent Folders {0}",
|
|
1092
1091
|
this.getKeybindingLabel(OpenRecentAction.ID)
|
|
1093
1092
|
))
|
|
1094
|
-
}, ( localize(
|
|
1093
|
+
}, ( localize(14699, "More...")))),
|
|
1095
1094
|
renderElement: renderRecent,
|
|
1096
1095
|
contextService: this.contextService
|
|
1097
1096
|
}));
|
|
@@ -1140,7 +1139,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1140
1139
|
this.startList.dispose();
|
|
1141
1140
|
}
|
|
1142
1141
|
const startList = this.startList = ( new GettingStartedIndexList({
|
|
1143
|
-
title: ( localize(
|
|
1142
|
+
title: ( localize(14700, "Start")),
|
|
1144
1143
|
klass: "start-container",
|
|
1145
1144
|
limit: 10,
|
|
1146
1145
|
renderElement: renderStartEntry,
|
|
@@ -1156,9 +1155,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1156
1155
|
const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
|
|
1157
1156
|
const newBadge = $(".new-badge", {});
|
|
1158
1157
|
if (category.newEntry) {
|
|
1159
|
-
reset(newBadge, $(".new-category", {}, ( localize(
|
|
1158
|
+
reset(newBadge, $(".new-category", {}, ( localize(14701, "New"))));
|
|
1160
1159
|
} else if (category.newItems) {
|
|
1161
|
-
reset(newBadge, $(".new-items", {}, ( localize(
|
|
1160
|
+
reset(newBadge, $(".new-items", {}, ( localize(14702, "Updated"))));
|
|
1162
1161
|
}
|
|
1163
1162
|
const featuredBadge = $(".featured-badge", {});
|
|
1164
1163
|
const descriptionContent = $(".description-content", {});
|
|
@@ -1189,9 +1188,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1189
1188
|
$("a.codicon.codicon-close.hide-category-button", {
|
|
1190
1189
|
"tabindex": 0,
|
|
1191
1190
|
"x-dispatch": "hideCategory:" + category.id,
|
|
1192
|
-
"title": ( localize(
|
|
1191
|
+
"title": ( localize(14703, "Hide")),
|
|
1193
1192
|
"role": "button",
|
|
1194
|
-
"aria-label": ( localize(
|
|
1193
|
+
"aria-label": ( localize(14704, "Hide"))
|
|
1195
1194
|
})
|
|
1196
1195
|
),
|
|
1197
1196
|
descriptionContent,
|
|
@@ -1225,13 +1224,13 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1225
1224
|
return rank;
|
|
1226
1225
|
};
|
|
1227
1226
|
const gettingStartedList = this.gettingStartedList = ( new GettingStartedIndexList({
|
|
1228
|
-
title: ( localize(
|
|
1227
|
+
title: ( localize(14705, "Walkthroughs")),
|
|
1229
1228
|
klass: "getting-started",
|
|
1230
1229
|
limit: 5,
|
|
1231
1230
|
footer: $("span.button-link.see-all-walkthroughs", {
|
|
1232
1231
|
"x-dispatch": "seeAllWalkthroughs",
|
|
1233
1232
|
"tabindex": 0
|
|
1234
|
-
}, ( localize(
|
|
1233
|
+
}, ( localize(14699, "More..."))),
|
|
1235
1234
|
renderElement: renderGetttingStaredWalkthrough,
|
|
1236
1235
|
rankElement: rankWalkthrough,
|
|
1237
1236
|
contextService: this.contextService
|
|
@@ -1284,9 +1283,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1284
1283
|
bar.style.width = `${progress}%`;
|
|
1285
1284
|
element.parentElement.classList.toggle("no-progress", stats.stepsComplete === 0);
|
|
1286
1285
|
if (stats.stepsTotal === stats.stepsComplete) {
|
|
1287
|
-
bar.title = ( localize(
|
|
1286
|
+
bar.title = ( localize(14706, "All {0} steps complete!", stats.stepsComplete));
|
|
1288
1287
|
} else {
|
|
1289
|
-
bar.title = ( localize(
|
|
1288
|
+
bar.title = ( localize(14707, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
|
|
1290
1289
|
}
|
|
1291
1290
|
});
|
|
1292
1291
|
}
|
|
@@ -1437,7 +1436,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1437
1436
|
if (isCommand) {
|
|
1438
1437
|
const keybinding = this.getKeyBinding(command);
|
|
1439
1438
|
if (keybinding) {
|
|
1440
|
-
const shortcutMessage = $("span.shortcut-message", {}, ( localize(
|
|
1439
|
+
const shortcutMessage = $("span.shortcut-message", {}, ( localize(14708, "Tip: Use keyboard shortcut ")));
|
|
1441
1440
|
container.appendChild(shortcutMessage);
|
|
1442
1441
|
const label = ( new KeybindingLabel(shortcutMessage, OS, {
|
|
1443
1442
|
...defaultKeybindingLabelStyles
|
|
@@ -1546,7 +1545,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1546
1545
|
"x-dispatch": "toggleStepCompletion:" + step.id,
|
|
1547
1546
|
"role": "checkbox",
|
|
1548
1547
|
"aria-checked": step.done ? "true" : "false",
|
|
1549
|
-
"aria-label": step.done ? ( localize(
|
|
1548
|
+
"aria-label": step.done ? ( localize(14680, "{0}: Completed", step.title)) : ( localize(14681, "{0}: Not completed", step.title))
|
|
1550
1549
|
}
|
|
1551
1550
|
);
|
|
1552
1551
|
const container = $(".step-description-container", {
|
|
@@ -1560,11 +1559,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1560
1559
|
const stepDescription = $(".step-container", {}, stepTitle, container);
|
|
1561
1560
|
if (step.media.type === "image") {
|
|
1562
1561
|
stepDescription.appendChild($(".image-description", {
|
|
1563
|
-
"aria-label": ( localize(
|
|
1562
|
+
"aria-label": ( localize(14709, "Image showing {0}", step.media.altText))
|
|
1564
1563
|
}));
|
|
1565
1564
|
} else if (step.media.type === "video") {
|
|
1566
1565
|
stepDescription.appendChild($(".video-description", {
|
|
1567
|
-
"aria-label": ( localize(
|
|
1566
|
+
"aria-label": ( localize(14710, "Video showing {0}", step.media.altText))
|
|
1568
1567
|
}));
|
|
1569
1568
|
}
|
|
1570
1569
|
return $("button.getting-started-step", {
|
|
@@ -1589,9 +1588,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1589
1588
|
"role": "list"
|
|
1590
1589
|
}, stepListContainer, $(".done-next-container", {}, $("button.button-link.all-done", {
|
|
1591
1590
|
"x-dispatch": "allDone"
|
|
1592
|
-
}, $("span.codicon.codicon-check-all"), ( localize(
|
|
1591
|
+
}, $("span.codicon.codicon-check-all"), ( localize(14711, "Mark Done"))), ...(showNextCategory ? [$("button.button-link.next", {
|
|
1593
1592
|
"x-dispatch": "nextSection"
|
|
1594
|
-
}, ( localize(
|
|
1593
|
+
}, ( localize(14712, "Next Section")), $("span.codicon.codicon-arrow-right"))] : [])));
|
|
1595
1594
|
this.detailsScrollbar = this._register(( new DomScrollableElement(stepsContainer, {
|
|
1596
1595
|
className: "steps-container"
|
|
1597
1596
|
})));
|
|
@@ -1614,12 +1613,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1614
1613
|
this.registerDispatchListeners();
|
|
1615
1614
|
}
|
|
1616
1615
|
buildTelemetryFooter(parent) {
|
|
1617
|
-
const privacyStatementCopy = ( localize(
|
|
1616
|
+
const privacyStatementCopy = ( localize(14713, "privacy statement"));
|
|
1618
1617
|
const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
|
|
1619
|
-
const optOutCopy = ( localize(
|
|
1618
|
+
const optOutCopy = ( localize(14714, "opt out"));
|
|
1620
1619
|
const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
|
|
1621
1620
|
const text = ( localize(
|
|
1622
|
-
|
|
1621
|
+
14715,
|
|
1623
1622
|
"{0} collects usage data. Read our {1} and learn how to {2}.",
|
|
1624
1623
|
this.productService.nameShort,
|
|
1625
1624
|
privacyStatementButton,
|
|
@@ -1694,7 +1693,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1694
1693
|
const prevButton = this.container.querySelector(".prev-button.button-link");
|
|
1695
1694
|
prevButton.style.display = this.editorInput?.showWelcome || this.editorInput?.returnToCommand || this.prevWalkthrough ? "block" : "none";
|
|
1696
1695
|
const moreTextElement = prevButton.querySelector(".moreText");
|
|
1697
|
-
moreTextElement.textContent = firstLaunch ? ( localize(
|
|
1696
|
+
moreTextElement.textContent = firstLaunch ? ( localize(14716, "Welcome")) : ( localize(14687, "Go Back"));
|
|
1698
1697
|
this.container.querySelector(".gettingStartedSlideDetails").querySelectorAll("button").forEach(button => button.disabled = false);
|
|
1699
1698
|
this.container.querySelector(".gettingStartedSlideCategories").querySelectorAll("button").forEach(button => button.disabled = true);
|
|
1700
1699
|
this.container.querySelector(".gettingStartedSlideCategories").querySelectorAll("input").forEach(button => button.disabled = true);
|
|
@@ -130,9 +130,9 @@ class GettingStartedAccessibleProvider extends Disposable {
|
|
|
130
130
|
}
|
|
131
131
|
_getContent(waltkrough, step, includeTitle) {
|
|
132
132
|
const description = ( step.description.map(lt => lt.nodes.filter(node => typeof node === "string"))).join("\n");
|
|
133
|
-
const stepsContent = ( localize(
|
|
133
|
+
const stepsContent = ( localize(14717, "{0}\n{1}", step.title, description));
|
|
134
134
|
if (includeTitle) {
|
|
135
|
-
return [( localize(
|
|
135
|
+
return [( localize(14718, "Title: {0}", waltkrough.title)), ( localize(14719, "Description: {0}", waltkrough.description)), stepsContent].join("\n");
|
|
136
136
|
} else {
|
|
137
137
|
return stepsContent;
|
|
138
138
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js
CHANGED
|
@@ -12,30 +12,30 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quic
|
|
|
12
12
|
import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
|
|
13
13
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
14
14
|
|
|
15
|
-
registerColor("welcomePage.background", null, ( localize(
|
|
15
|
+
registerColor("welcomePage.background", null, ( localize(14720, "Background color for the Welcome page.")));
|
|
16
16
|
registerColor("welcomePage.tileBackground", {
|
|
17
17
|
dark: editorWidgetBackground,
|
|
18
18
|
light: editorWidgetBackground,
|
|
19
19
|
hcDark: "#000",
|
|
20
20
|
hcLight: editorWidgetBackground
|
|
21
|
-
}, ( localize(
|
|
21
|
+
}, ( localize(14721, "Background color for the tiles on the Welcome page.")));
|
|
22
22
|
registerColor("welcomePage.tileHoverBackground", {
|
|
23
23
|
dark: ( lighten(editorWidgetBackground, .2)),
|
|
24
24
|
light: ( darken(editorWidgetBackground, .1)),
|
|
25
25
|
hcDark: null,
|
|
26
26
|
hcLight: null
|
|
27
|
-
}, ( localize(
|
|
27
|
+
}, ( localize(14722, "Hover background color for the tiles on the Welcome.")));
|
|
28
28
|
registerColor("welcomePage.tileBorder", {
|
|
29
29
|
dark: "#ffffff1a",
|
|
30
30
|
light: "#0000001a",
|
|
31
31
|
hcDark: contrastBorder,
|
|
32
32
|
hcLight: contrastBorder
|
|
33
|
-
}, ( localize(
|
|
34
|
-
registerColor("welcomePage.progress.background", inputBackground, ( localize(
|
|
35
|
-
registerColor("welcomePage.progress.foreground", textLinkForeground, ( localize(
|
|
33
|
+
}, ( localize(14723, "Border color for the tiles on the Welcome page.")));
|
|
34
|
+
registerColor("welcomePage.progress.background", inputBackground, ( localize(14724, "Foreground color for the Welcome page progress bars.")));
|
|
35
|
+
registerColor("welcomePage.progress.foreground", textLinkForeground, ( localize(14725, "Background color for the Welcome page progress bars.")));
|
|
36
36
|
registerColor("walkthrough.stepTitle.foreground", {
|
|
37
37
|
light: "#000000",
|
|
38
38
|
dark: "#ffffff",
|
|
39
39
|
hcDark: null,
|
|
40
40
|
hcLight: null
|
|
41
|
-
}, ( localize(
|
|
41
|
+
}, ( localize(14726, "Foreground color of the heading of each walkthrough step")));
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
3
3
|
import { ExtensionsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
4
4
|
|
|
5
|
-
const titleTranslated = ( localize(
|
|
5
|
+
const titleTranslated = ( localize(14727, "Title"));
|
|
6
6
|
const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
7
7
|
extensionPoint: "walkthroughs",
|
|
8
8
|
jsonSchema: {
|
|
9
9
|
description: ( localize(
|
|
10
|
-
|
|
10
|
+
14728,
|
|
11
11
|
"Contribute walkthroughs to help users getting started with your extension."
|
|
12
12
|
)),
|
|
13
13
|
type: "array",
|
|
@@ -25,27 +25,27 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
25
25
|
properties: {
|
|
26
26
|
id: {
|
|
27
27
|
type: "string",
|
|
28
|
-
description: ( localize(
|
|
28
|
+
description: ( localize(14729, "Unique identifier for this walkthrough."))
|
|
29
29
|
},
|
|
30
30
|
title: {
|
|
31
31
|
type: "string",
|
|
32
|
-
description: ( localize(
|
|
32
|
+
description: ( localize(14730, "Title of walkthrough."))
|
|
33
33
|
},
|
|
34
34
|
icon: {
|
|
35
35
|
type: "string",
|
|
36
36
|
description: ( localize(
|
|
37
|
-
|
|
37
|
+
14731,
|
|
38
38
|
"Relative path to the icon of the walkthrough. The path is relative to the extension location. If not specified, the icon defaults to the extension icon if available."
|
|
39
39
|
))
|
|
40
40
|
},
|
|
41
41
|
description: {
|
|
42
42
|
type: "string",
|
|
43
|
-
description: ( localize(
|
|
43
|
+
description: ( localize(14732, "Description of walkthrough."))
|
|
44
44
|
},
|
|
45
45
|
featuredFor: {
|
|
46
46
|
type: "array",
|
|
47
47
|
description: ( localize(
|
|
48
|
-
|
|
48
|
+
14733,
|
|
49
49
|
"Walkthroughs that match one of these glob patterns appear as 'featured' in workspaces with the specified files. For example, a walkthrough for TypeScript projects might specify `tsconfig.json` here."
|
|
50
50
|
)),
|
|
51
51
|
items: {
|
|
@@ -55,13 +55,13 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
55
55
|
when: {
|
|
56
56
|
type: "string",
|
|
57
57
|
description: ( localize(
|
|
58
|
-
|
|
58
|
+
14734,
|
|
59
59
|
"Context key expression to control the visibility of this walkthrough."
|
|
60
60
|
))
|
|
61
61
|
},
|
|
62
62
|
steps: {
|
|
63
63
|
type: "array",
|
|
64
|
-
description: ( localize(
|
|
64
|
+
description: ( localize(14735, "Steps to complete as part of this walkthrough.")),
|
|
65
65
|
items: {
|
|
66
66
|
type: "object",
|
|
67
67
|
required: ["id", "title", "media"],
|
|
@@ -78,18 +78,18 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
78
78
|
id: {
|
|
79
79
|
type: "string",
|
|
80
80
|
description: ( localize(
|
|
81
|
-
|
|
81
|
+
14736,
|
|
82
82
|
"Unique identifier for this step. This is used to keep track of which steps have been completed."
|
|
83
83
|
))
|
|
84
84
|
},
|
|
85
85
|
title: {
|
|
86
86
|
type: "string",
|
|
87
|
-
description: ( localize(
|
|
87
|
+
description: ( localize(14737, "Title of step."))
|
|
88
88
|
},
|
|
89
89
|
description: {
|
|
90
90
|
type: "string",
|
|
91
91
|
description: ( localize(
|
|
92
|
-
|
|
92
|
+
14738,
|
|
93
93
|
"Description of step. Supports ``preformatted``, __italic__, and **bold** text. Use markdown-style links for commands or external links: {0}, {1}, or {2}. Links on their own line will be rendered as buttons.",
|
|
94
94
|
`[${titleTranslated}](command:myext.command)`,
|
|
95
95
|
`[${titleTranslated}](command:toSide:myext.command)`,
|
|
@@ -98,7 +98,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
98
98
|
},
|
|
99
99
|
button: {
|
|
100
100
|
deprecationMessage: ( localize(
|
|
101
|
-
|
|
101
|
+
14739,
|
|
102
102
|
"Deprecated. Use markdown links in the description instead, i.e. {0}, {1}, or {2}",
|
|
103
103
|
`[${titleTranslated}](command:myext.command)`,
|
|
104
104
|
`[${titleTranslated}](command:toSide:myext.command)`,
|
|
@@ -108,7 +108,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
108
108
|
media: {
|
|
109
109
|
type: "object",
|
|
110
110
|
description: ( localize(
|
|
111
|
-
|
|
111
|
+
14740,
|
|
112
112
|
"Media to show alongside this step, either an image or markdown content."
|
|
113
113
|
)),
|
|
114
114
|
oneOf: [{
|
|
@@ -116,11 +116,11 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
116
116
|
additionalProperties: false,
|
|
117
117
|
properties: {
|
|
118
118
|
path: {
|
|
119
|
-
deprecationMessage: ( localize(
|
|
119
|
+
deprecationMessage: ( localize(14741, "Deprecated. Please use `image` or `markdown` instead"))
|
|
120
120
|
},
|
|
121
121
|
image: {
|
|
122
122
|
description: ( localize(
|
|
123
|
-
|
|
123
|
+
14742,
|
|
124
124
|
"Path to an image - or object consisting of paths to light, dark, and hc images - relative to extension directory. Depending on context, the image will be displayed from 400px to 800px wide, with similar bounds on height. To support HIDPI displays, the image will be rendered at 1.5x scaling, for example a 900 physical pixels wide image will be displayed as 600 logical pixels wide."
|
|
125
125
|
)),
|
|
126
126
|
oneOf: [{
|
|
@@ -131,25 +131,25 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
131
131
|
properties: {
|
|
132
132
|
dark: {
|
|
133
133
|
description: ( localize(
|
|
134
|
-
|
|
134
|
+
14743,
|
|
135
135
|
"Path to the image for dark themes, relative to extension directory."
|
|
136
136
|
)),
|
|
137
137
|
type: "string"
|
|
138
138
|
},
|
|
139
139
|
light: {
|
|
140
140
|
description: ( localize(
|
|
141
|
-
|
|
141
|
+
14744,
|
|
142
142
|
"Path to the image for light themes, relative to extension directory."
|
|
143
143
|
)),
|
|
144
144
|
type: "string"
|
|
145
145
|
},
|
|
146
146
|
hc: {
|
|
147
|
-
description: ( localize(
|
|
147
|
+
description: ( localize(14745, "Path to the image for hc themes, relative to extension directory.")),
|
|
148
148
|
type: "string"
|
|
149
149
|
},
|
|
150
150
|
hcLight: {
|
|
151
151
|
description: ( localize(
|
|
152
|
-
|
|
152
|
+
14746,
|
|
153
153
|
"Path to the image for hc light themes, relative to extension directory."
|
|
154
154
|
)),
|
|
155
155
|
type: "string"
|
|
@@ -160,7 +160,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
160
160
|
altText: {
|
|
161
161
|
type: "string",
|
|
162
162
|
description: ( localize(
|
|
163
|
-
|
|
163
|
+
14747,
|
|
164
164
|
"Alternate text to display when the image cannot be loaded or in screen readers."
|
|
165
165
|
))
|
|
166
166
|
}
|
|
@@ -171,7 +171,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
171
171
|
properties: {
|
|
172
172
|
svg: {
|
|
173
173
|
description: ( localize(
|
|
174
|
-
|
|
174
|
+
14748,
|
|
175
175
|
"Path to an svg, color tokens are supported in variables to support theming to match the workbench."
|
|
176
176
|
)),
|
|
177
177
|
type: "string"
|
|
@@ -179,7 +179,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
179
179
|
altText: {
|
|
180
180
|
type: "string",
|
|
181
181
|
description: ( localize(
|
|
182
|
-
|
|
182
|
+
14747,
|
|
183
183
|
"Alternate text to display when the image cannot be loaded or in screen readers."
|
|
184
184
|
))
|
|
185
185
|
}
|
|
@@ -189,10 +189,10 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
189
189
|
additionalProperties: false,
|
|
190
190
|
properties: {
|
|
191
191
|
path: {
|
|
192
|
-
deprecationMessage: ( localize(
|
|
192
|
+
deprecationMessage: ( localize(14741, "Deprecated. Please use `image` or `markdown` instead"))
|
|
193
193
|
},
|
|
194
194
|
markdown: {
|
|
195
|
-
description: ( localize(
|
|
195
|
+
description: ( localize(14749, "Path to the markdown document, relative to extension directory.")),
|
|
196
196
|
type: "string"
|
|
197
197
|
}
|
|
198
198
|
}
|
|
@@ -200,7 +200,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
200
200
|
},
|
|
201
201
|
completionEvents: {
|
|
202
202
|
description: ( localize(
|
|
203
|
-
|
|
203
|
+
14750,
|
|
204
204
|
"Events that should trigger this step to become checked off. If empty or not defined, the step will check off when any of the step's buttons or links are clicked; if the step has no buttons or links it will check on when it is selected."
|
|
205
205
|
)),
|
|
206
206
|
type: "array",
|
|
@@ -209,47 +209,47 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
209
209
|
defaultSnippets: [{
|
|
210
210
|
label: "onCommand",
|
|
211
211
|
description: ( localize(
|
|
212
|
-
|
|
212
|
+
14751,
|
|
213
213
|
"Check off step when a given command is executed anywhere in VS Code."
|
|
214
214
|
)),
|
|
215
215
|
body: "onCommand:${1:commandId}"
|
|
216
216
|
}, {
|
|
217
217
|
label: "onLink",
|
|
218
218
|
description: ( localize(
|
|
219
|
-
|
|
219
|
+
14752,
|
|
220
220
|
"Check off step when a given link is opened via a walkthrough step."
|
|
221
221
|
)),
|
|
222
222
|
body: "onLink:${2:linkId}"
|
|
223
223
|
}, {
|
|
224
224
|
label: "onView",
|
|
225
|
-
description: ( localize(
|
|
225
|
+
description: ( localize(14753, "Check off step when a given view is opened")),
|
|
226
226
|
body: "onView:${2:viewId}"
|
|
227
227
|
}, {
|
|
228
228
|
label: "onSettingChanged",
|
|
229
|
-
description: ( localize(
|
|
229
|
+
description: ( localize(14754, "Check off step when a given setting is changed")),
|
|
230
230
|
body: "onSettingChanged:${2:settingName}"
|
|
231
231
|
}, {
|
|
232
232
|
label: "onContext",
|
|
233
|
-
description: ( localize(
|
|
233
|
+
description: ( localize(14755, "Check off step when a context key expression is true.")),
|
|
234
234
|
body: "onContext:${2:key}"
|
|
235
235
|
}, {
|
|
236
236
|
label: "onExtensionInstalled",
|
|
237
237
|
description: ( localize(
|
|
238
|
-
|
|
238
|
+
14756,
|
|
239
239
|
"Check off step when an extension with the given id is installed. If the extension is already installed, the step will start off checked."
|
|
240
240
|
)),
|
|
241
241
|
body: "onExtensionInstalled:${3:extensionId}"
|
|
242
242
|
}, {
|
|
243
243
|
label: "onStepSelected",
|
|
244
|
-
description: ( localize(
|
|
244
|
+
description: ( localize(14757, "Check off step as soon as it is selected.")),
|
|
245
245
|
body: "onStepSelected"
|
|
246
246
|
}]
|
|
247
247
|
}
|
|
248
248
|
},
|
|
249
249
|
doneOn: {
|
|
250
|
-
description: ( localize(
|
|
250
|
+
description: ( localize(14758, "Signal to mark step as complete.")),
|
|
251
251
|
deprecationMessage: ( localize(
|
|
252
|
-
|
|
252
|
+
14759,
|
|
253
253
|
"doneOn is deprecated. By default steps will be checked off when their buttons are clicked, to configure further use completionEvents"
|
|
254
254
|
)),
|
|
255
255
|
type: "object",
|
|
@@ -261,14 +261,14 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
261
261
|
}],
|
|
262
262
|
properties: {
|
|
263
263
|
"command": {
|
|
264
|
-
description: ( localize(
|
|
264
|
+
description: ( localize(14760, "Mark step done when the specified command is executed.")),
|
|
265
265
|
type: "string"
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
},
|
|
269
269
|
when: {
|
|
270
270
|
type: "string",
|
|
271
|
-
description: ( localize(
|
|
271
|
+
description: ( localize(14761, "Context key expression to control the visibility of this step."))
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js
CHANGED
|
@@ -6,8 +6,8 @@ import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/th
|
|
|
6
6
|
const gettingStartedUncheckedCodicon = registerIcon(
|
|
7
7
|
"getting-started-step-unchecked",
|
|
8
8
|
Codicon.circleLargeOutline,
|
|
9
|
-
( localize(
|
|
9
|
+
( localize(14762, "Used to represent walkthrough steps which have not been completed"))
|
|
10
10
|
);
|
|
11
|
-
const gettingStartedCheckedCodicon = registerIcon("getting-started-step-checked", Codicon.passFilled, ( localize(
|
|
11
|
+
const gettingStartedCheckedCodicon = registerIcon("getting-started-step-checked", Codicon.passFilled, ( localize(14763, "Used to represent walkthrough steps which have been completed")));
|
|
12
12
|
|
|
13
13
|
export { gettingStartedCheckedCodicon, gettingStartedUncheckedCodicon };
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js
CHANGED
|
@@ -52,7 +52,7 @@ class GettingStartedInput extends EditorInput {
|
|
|
52
52
|
this._returnToCommand = options.returnToCommand;
|
|
53
53
|
}
|
|
54
54
|
getName() {
|
|
55
|
-
return this.walkthroughPageTitle ? ( localize(
|
|
55
|
+
return this.walkthroughPageTitle ? ( localize(14764, "Walkthrough: {0}", this.walkthroughPageTitle)) : ( localize(14765, "Welcome"));
|
|
56
56
|
}
|
|
57
57
|
get selectedCategory() {
|
|
58
58
|
return this._selectedCategory;
|