@codingame/monaco-vscode-walkthrough-service-override 10.1.4 → 11.0.1
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/welcomeGettingStarted/browser/gettingStarted.contribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +59 -42
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +3 -3
- 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 +37 -5
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +17 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +160 -155
- 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/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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-walkthrough-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.1",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@11.0.1",
|
|
30
30
|
"marked": "~14.0.0"
|
|
31
31
|
}
|
|
32
32
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js
CHANGED
|
@@ -37,7 +37,7 @@ registerAction2(class extends Action2 {
|
|
|
37
37
|
constructor() {
|
|
38
38
|
super({
|
|
39
39
|
id: 'workbench.action.openWalkthrough',
|
|
40
|
-
title: ( localize2(
|
|
40
|
+
title: ( localize2(3119, 'Welcome')),
|
|
41
41
|
category: Categories.Help,
|
|
42
42
|
f1: true,
|
|
43
43
|
menu: {
|
|
@@ -46,7 +46,7 @@ registerAction2(class extends Action2 {
|
|
|
46
46
|
order: 1,
|
|
47
47
|
},
|
|
48
48
|
metadata: {
|
|
49
|
-
description: ( localize2(
|
|
49
|
+
description: ( localize2(3120, 'Opens a Walkthrough to help you get started in VS Code.'))
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
}
|
|
@@ -124,15 +124,15 @@ registerAction2(class extends Action2 {
|
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
( (Registry.as(EditorExtensions.EditorFactory))).registerEditorSerializer(GettingStartedInput.ID, GettingStartedInputSerializer);
|
|
127
|
-
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(
|
|
127
|
+
( (Registry.as(EditorExtensions.EditorPane))).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(3121, "Welcome"))), [
|
|
128
128
|
( (new SyncDescriptor(GettingStartedInput)))
|
|
129
129
|
]);
|
|
130
|
-
const category = ( localize2(
|
|
130
|
+
const category = ( localize2(3121, "Welcome"));
|
|
131
131
|
registerAction2(class extends Action2 {
|
|
132
132
|
constructor() {
|
|
133
133
|
super({
|
|
134
134
|
id: 'welcome.goBack',
|
|
135
|
-
title: ( localize2(
|
|
135
|
+
title: ( localize2(3122, 'Go Back')),
|
|
136
136
|
category,
|
|
137
137
|
keybinding: {
|
|
138
138
|
weight: 100 ,
|
|
@@ -168,7 +168,7 @@ registerAction2(class extends Action2 {
|
|
|
168
168
|
constructor() {
|
|
169
169
|
super({
|
|
170
170
|
id: 'welcome.markStepComplete',
|
|
171
|
-
title: ( localize(
|
|
171
|
+
title: ( localize(3123, "Mark Step Complete")),
|
|
172
172
|
category,
|
|
173
173
|
});
|
|
174
174
|
}
|
|
@@ -184,7 +184,7 @@ registerAction2(class extends Action2 {
|
|
|
184
184
|
constructor() {
|
|
185
185
|
super({
|
|
186
186
|
id: 'welcome.markStepIncomplete',
|
|
187
|
-
title: ( localize(
|
|
187
|
+
title: ( localize(3124, "Mark Step Incomplete")),
|
|
188
188
|
category,
|
|
189
189
|
});
|
|
190
190
|
}
|
|
@@ -200,7 +200,7 @@ registerAction2(class extends Action2 {
|
|
|
200
200
|
constructor() {
|
|
201
201
|
super({
|
|
202
202
|
id: 'welcome.showAllWalkthroughs',
|
|
203
|
-
title: ( localize2(
|
|
203
|
+
title: ( localize2(3125, 'Open Walkthrough...')),
|
|
204
204
|
category,
|
|
205
205
|
f1: true,
|
|
206
206
|
});
|
|
@@ -229,7 +229,7 @@ registerAction2(class extends Action2 {
|
|
|
229
229
|
quickPick.canSelectMany = false;
|
|
230
230
|
quickPick.matchOnDescription = true;
|
|
231
231
|
quickPick.matchOnDetail = true;
|
|
232
|
-
quickPick.placeholder = ( localize(
|
|
232
|
+
quickPick.placeholder = ( localize(3126, 'Select a walkthrough to open'));
|
|
233
233
|
quickPick.items = await this.getQuickPickItems(contextService, gettingStartedService);
|
|
234
234
|
quickPick.busy = true;
|
|
235
235
|
disposables.add(quickPick.onDidAccept(() => {
|
|
@@ -249,7 +249,7 @@ registerAction2(class extends Action2 {
|
|
|
249
249
|
}
|
|
250
250
|
});
|
|
251
251
|
const WorkspacePlatform = ( (new RawContextKey('workspacePlatform', undefined, ( localize(
|
|
252
|
-
|
|
252
|
+
3127,
|
|
253
253
|
"The platform of the current workspace, which in remote or serverless contexts may be different from the platform of the UI"
|
|
254
254
|
)))));
|
|
255
255
|
let WorkspacePlatformContribution = class WorkspacePlatformContribution {
|
|
@@ -301,7 +301,7 @@ configurationRegistry.registerConfiguration({
|
|
|
301
301
|
type: 'boolean',
|
|
302
302
|
default: true,
|
|
303
303
|
description: ( localize(
|
|
304
|
-
|
|
304
|
+
3128,
|
|
305
305
|
"When enabled, an extension's walkthrough will open upon install of the extension."
|
|
306
306
|
))
|
|
307
307
|
},
|
|
@@ -310,25 +310,25 @@ configurationRegistry.registerConfiguration({
|
|
|
310
310
|
'type': 'string',
|
|
311
311
|
'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal'],
|
|
312
312
|
'enumDescriptions': [
|
|
313
|
-
( localize(
|
|
313
|
+
( localize(3129, "Start without an editor.")),
|
|
314
314
|
( localize(
|
|
315
|
-
|
|
315
|
+
3130,
|
|
316
316
|
"Open the Welcome page, with content to aid in getting started with VS Code and extensions."
|
|
317
317
|
)),
|
|
318
318
|
( localize(
|
|
319
|
-
|
|
319
|
+
3131,
|
|
320
320
|
"Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. Note: This is only observed as a global configuration, it will be ignored if set in a workspace or folder configuration."
|
|
321
321
|
)),
|
|
322
322
|
( localize(
|
|
323
|
-
|
|
323
|
+
3132,
|
|
324
324
|
"Open a new untitled text file (only applies when opening an empty window)."
|
|
325
325
|
)),
|
|
326
|
-
( localize(
|
|
327
|
-
( localize(
|
|
326
|
+
( localize(3133, "Open the Welcome page when opening an empty workbench.")),
|
|
327
|
+
( localize(3134, "Open a new terminal in the editor area.")),
|
|
328
328
|
],
|
|
329
329
|
'default': 'welcomePage',
|
|
330
330
|
'description': ( localize(
|
|
331
|
-
|
|
331
|
+
3135,
|
|
332
332
|
"Controls which editor is shown at startup, if none are restored from the previous session."
|
|
333
333
|
))
|
|
334
334
|
},
|
|
@@ -336,8 +336,8 @@ configurationRegistry.registerConfiguration({
|
|
|
336
336
|
scope: 1 ,
|
|
337
337
|
type: 'boolean',
|
|
338
338
|
default: false,
|
|
339
|
-
deprecationMessage: ( localize(
|
|
340
|
-
description: ( localize(
|
|
339
|
+
deprecationMessage: ( localize(3136, "Deprecated, use the global `workbench.reduceMotion`.")),
|
|
340
|
+
description: ( localize(3137, "When enabled, reduce motion in welcome page."))
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
});
|
|
@@ -14,7 +14,7 @@ import { splitRecentLabel } from 'vscode/vscode/vs/base/common/labels';
|
|
|
14
14
|
import { DisposableStore, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
15
15
|
import { parse } from 'vscode/vscode/vs/base/common/marshalling';
|
|
16
16
|
import { matchesScheme, Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
17
|
-
import { isMacintosh } from 'vscode/vscode/vs/base/common/platform';
|
|
17
|
+
import { isMacintosh, OS } from 'vscode/vscode/vs/base/common/platform';
|
|
18
18
|
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
19
19
|
import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
|
|
20
20
|
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
@@ -42,7 +42,7 @@ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storag
|
|
|
42
42
|
import { firstSessionDateStorageKey } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
43
43
|
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
44
44
|
import { getTelemetryLevel } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
|
|
45
|
-
import { defaultToggleStyles, defaultButtonStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
|
|
45
|
+
import { defaultToggleStyles, defaultButtonStyles, defaultKeybindingLabelStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
|
|
46
46
|
import { UNKNOWN_EMPTY_WINDOW_WORKSPACE } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
47
47
|
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
|
|
48
48
|
import { isRecentFolder, isRecentWorkspace } from 'vscode/vscode/vs/platform/workspaces/common/workspaces';
|
|
@@ -66,6 +66,7 @@ import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/h
|
|
|
66
66
|
import { IWorkbenchThemeService } from 'vscode/vscode/vs/workbench/services/themes/common/workbenchThemeService.service';
|
|
67
67
|
import { GettingStartedIndexList } from './gettingStartedList.js';
|
|
68
68
|
import { AccessibleViewAction } from 'vscode/vscode/vs/workbench/contrib/accessibility/browser/accessibleViewActions';
|
|
69
|
+
import { KeybindingLabel } from 'vscode/vscode/vs/base/browser/ui/keybindingLabel/keybindingLabel';
|
|
69
70
|
|
|
70
71
|
var GettingStartedPage_1;
|
|
71
72
|
const SLIDE_TRANSITION_TIME_MS = 250;
|
|
@@ -121,7 +122,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
121
122
|
this.container = $('.gettingStartedContainer', {
|
|
122
123
|
role: 'document',
|
|
123
124
|
tabindex: 0,
|
|
124
|
-
'aria-label': ( localize(
|
|
125
|
+
'aria-label': ( localize(7294, "Overview of how to get up to speed with your editor."))
|
|
125
126
|
});
|
|
126
127
|
this.stepMediaComponent = $('.getting-started-media');
|
|
127
128
|
this.stepMediaComponent.id = generateUuid();
|
|
@@ -218,6 +219,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
218
219
|
if (!this.editorInput || !this.currentWalkthrough || !this.editorInput.selectedCategory || !this.editorInput.selectedStep) {
|
|
219
220
|
return;
|
|
220
221
|
}
|
|
222
|
+
const editorPane = this.groupsService.activeGroup.activeEditorPane;
|
|
223
|
+
if (!(editorPane instanceof GettingStartedPage_1)) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
221
226
|
const restoreData = { folder: UNKNOWN_EMPTY_WINDOW_WORKSPACE.id, category: this.editorInput.selectedCategory, step: this.editorInput.selectedStep };
|
|
222
227
|
this.storageService.store(restoreWalkthroughsConfigurationKey, JSON.stringify(restoreData), 0 , 1 );
|
|
223
228
|
}));
|
|
@@ -399,7 +404,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
399
404
|
label: x.title,
|
|
400
405
|
detail: x.description,
|
|
401
406
|
description: x.source,
|
|
402
|
-
})))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(
|
|
407
|
+
})))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(7295, "Open Walkthrough...")) });
|
|
403
408
|
if (selection) {
|
|
404
409
|
this.runDispatchCommand('selectCategory', selection.id);
|
|
405
410
|
}
|
|
@@ -584,8 +589,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
584
589
|
provideScreenReaderUpdate() {
|
|
585
590
|
if (this.configurationService.getValue("accessibility.verbosity.walkthrough" )) {
|
|
586
591
|
const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
|
|
587
|
-
return kbLabel ? ( localize(
|
|
588
|
-
|
|
592
|
+
return kbLabel ? ( localize(7296, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
|
|
593
|
+
7297,
|
|
589
594
|
"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
|
|
590
595
|
));
|
|
591
596
|
}
|
|
@@ -637,7 +642,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
637
642
|
this.categoriesPageScrollbar.dispose();
|
|
638
643
|
}
|
|
639
644
|
this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide');
|
|
640
|
-
const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(
|
|
645
|
+
const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(7298, "Go Back"))));
|
|
641
646
|
this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton);
|
|
642
647
|
this.stepsContent = $('.gettingStartedDetailsContent', {});
|
|
643
648
|
this.detailsPageScrollbar = this._register(( (new DomScrollableElement(this.stepsContent, { className: 'full-height-scrollable' }))));
|
|
@@ -658,11 +663,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
658
663
|
icon: Codicon.check,
|
|
659
664
|
actionClassName: 'getting-started-checkbox',
|
|
660
665
|
isChecked: this.configurationService.getValue(configurationKey) === 'welcomePage',
|
|
661
|
-
title: ( localize(
|
|
666
|
+
title: ( localize(7299, "When checked, this page will be shown on startup.")),
|
|
662
667
|
...defaultToggleStyles
|
|
663
668
|
})));
|
|
664
669
|
showOnStartupCheckbox.domNode.id = 'showOnStartup';
|
|
665
|
-
const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(
|
|
670
|
+
const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(7300, "Show welcome page on startup")));
|
|
666
671
|
const onShowOnStartupChanged = () => {
|
|
667
672
|
if (showOnStartupCheckbox.checked) {
|
|
668
673
|
this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
|
|
@@ -681,7 +686,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
681
686
|
showOnStartupCheckbox.checked = !showOnStartupCheckbox.checked;
|
|
682
687
|
onShowOnStartupChanged();
|
|
683
688
|
}));
|
|
684
|
-
const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(
|
|
689
|
+
const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(7301, "Editing evolved"))));
|
|
685
690
|
const leftColumn = $('.categories-column.categories-column-left', {});
|
|
686
691
|
const rightColumn = $('.categories-column.categories-column-right', {});
|
|
687
692
|
const startList = this.buildStartList();
|
|
@@ -750,6 +755,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
750
755
|
this.hasScrolledToFirstCategory = true;
|
|
751
756
|
this.currentWalkthrough = first;
|
|
752
757
|
this.editorInput.selectedCategory = this.currentWalkthrough?.id;
|
|
758
|
+
this.editorInput.walkthroughPageTitle = this.currentWalkthrough.walkthroughPageTitle;
|
|
753
759
|
this.buildCategorySlide(this.editorInput.selectedCategory, undefined);
|
|
754
760
|
this.setSlide('details', true );
|
|
755
761
|
return;
|
|
@@ -775,7 +781,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
775
781
|
const link = $('button.button-link');
|
|
776
782
|
link.innerText = name;
|
|
777
783
|
link.title = fullPath;
|
|
778
|
-
link.setAttribute('aria-label', ( localize(
|
|
784
|
+
link.setAttribute('aria-label', ( localize(7302, "Open folder {0} with path {1}", name, parentPath)));
|
|
779
785
|
link.addEventListener('click', e => {
|
|
780
786
|
this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
|
|
781
787
|
this.hostService.openWindow([windowOpenable], {
|
|
@@ -798,18 +804,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
798
804
|
this.recentlyOpenedList.dispose();
|
|
799
805
|
}
|
|
800
806
|
const recentlyOpenedList = this.recentlyOpenedList = ( (new GettingStartedIndexList({
|
|
801
|
-
title: ( localize(
|
|
807
|
+
title: ( localize(7303, "Recent")),
|
|
802
808
|
klass: 'recently-opened',
|
|
803
809
|
limit: 5,
|
|
804
|
-
empty: $('.empty-recent', {}, ( localize(
|
|
810
|
+
empty: $('.empty-recent', {}, ( localize(7304, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(7305, "open a folder"))), ( localize(7306, "to start."))),
|
|
805
811
|
more: $('.more', {}, $('button.button-link', {
|
|
806
812
|
'x-dispatch': 'showMoreRecents',
|
|
807
813
|
title: ( localize(
|
|
808
|
-
|
|
814
|
+
7307,
|
|
809
815
|
"Show All Recent Folders {0}",
|
|
810
816
|
this.getKeybindingLabel(OpenRecentAction.ID)
|
|
811
817
|
))
|
|
812
|
-
}, ( localize(
|
|
818
|
+
}, ( localize(7308, "More...")))),
|
|
813
819
|
renderElement: renderRecent,
|
|
814
820
|
contextService: this.contextService
|
|
815
821
|
})));
|
|
@@ -837,7 +843,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
837
843
|
this.startList.dispose();
|
|
838
844
|
}
|
|
839
845
|
const startList = this.startList = ( (new GettingStartedIndexList({
|
|
840
|
-
title: ( localize(
|
|
846
|
+
title: ( localize(7309, "Start")),
|
|
841
847
|
klass: 'start-container',
|
|
842
848
|
limit: 10,
|
|
843
849
|
renderElement: renderStartEntry,
|
|
@@ -853,10 +859,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
853
859
|
const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
|
|
854
860
|
const newBadge = $('.new-badge', {});
|
|
855
861
|
if (category.newEntry) {
|
|
856
|
-
reset(newBadge, $('.new-category', {}, ( localize(
|
|
862
|
+
reset(newBadge, $('.new-category', {}, ( localize(7310, "New"))));
|
|
857
863
|
}
|
|
858
864
|
else if (category.newItems) {
|
|
859
|
-
reset(newBadge, $('.new-items', {}, ( localize(
|
|
865
|
+
reset(newBadge, $('.new-items', {}, ( localize(7311, "Updated"))));
|
|
860
866
|
}
|
|
861
867
|
const featuredBadge = $('.featured-badge', {});
|
|
862
868
|
const descriptionContent = $('.description-content', {});
|
|
@@ -872,9 +878,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
872
878
|
}, featuredBadge, $('.main-content', {}, this.iconWidgetFor(category), titleContent, renderNewBadge ? newBadge : $('.no-badge'), $('a.codicon.codicon-close.hide-category-button', {
|
|
873
879
|
'tabindex': 0,
|
|
874
880
|
'x-dispatch': 'hideCategory:' + category.id,
|
|
875
|
-
'title': ( localize(
|
|
881
|
+
'title': ( localize(7312, "Hide")),
|
|
876
882
|
'role': 'button',
|
|
877
|
-
'aria-label': ( localize(
|
|
883
|
+
'aria-label': ( localize(7313, "Hide")),
|
|
878
884
|
})), descriptionContent, $('.category-progress', { 'x-data-category-id': category.id, }, $('.progress-bar-outer', { 'role': 'progressbar' }, $('.progress-bar-inner'))));
|
|
879
885
|
};
|
|
880
886
|
if (this.gettingStartedList) {
|
|
@@ -900,10 +906,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
900
906
|
return rank;
|
|
901
907
|
};
|
|
902
908
|
const gettingStartedList = this.gettingStartedList = ( (new GettingStartedIndexList({
|
|
903
|
-
title: ( localize(
|
|
909
|
+
title: ( localize(7314, "Walkthroughs")),
|
|
904
910
|
klass: 'getting-started',
|
|
905
911
|
limit: 5,
|
|
906
|
-
footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(
|
|
912
|
+
footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(7308, "More..."))),
|
|
907
913
|
renderElement: renderGetttingStaredWalkthrough,
|
|
908
914
|
rankElement: rankWalkthrough,
|
|
909
915
|
contextService: this.contextService,
|
|
@@ -956,10 +962,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
956
962
|
bar.style.width = `${progress}%`;
|
|
957
963
|
element.parentElement.classList.toggle('no-progress', stats.stepsComplete === 0);
|
|
958
964
|
if (stats.stepsTotal === stats.stepsComplete) {
|
|
959
|
-
bar.title = ( localize(
|
|
965
|
+
bar.title = ( localize(7315, "All {0} steps complete!", stats.stepsComplete));
|
|
960
966
|
}
|
|
961
967
|
else {
|
|
962
|
-
bar.title = ( localize(
|
|
968
|
+
bar.title = ( localize(7316, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
|
|
963
969
|
}
|
|
964
970
|
});
|
|
965
971
|
}
|
|
@@ -975,6 +981,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
975
981
|
reset(this.stepsContent);
|
|
976
982
|
this.editorInput.selectedCategory = categoryID;
|
|
977
983
|
this.editorInput.selectedStep = stepId;
|
|
984
|
+
this.editorInput.walkthroughPageTitle = ourCategory.walkthroughPageTitle;
|
|
978
985
|
this.currentWalkthrough = ourCategory;
|
|
979
986
|
this.buildCategorySlide(categoryID, stepId);
|
|
980
987
|
this.setSlide('details');
|
|
@@ -1079,9 +1086,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1079
1086
|
this.runStepCommand(node.href);
|
|
1080
1087
|
}, null, this.detailsPageDisposables);
|
|
1081
1088
|
if (isCommand) {
|
|
1082
|
-
const
|
|
1083
|
-
if (
|
|
1084
|
-
|
|
1089
|
+
const keybinding = this.getKeyBinding(command);
|
|
1090
|
+
if (keybinding) {
|
|
1091
|
+
const shortcutMessage = $('span.shortcut-message', {}, ( localize(7317, 'Tip: Use keyboard shortcut ')));
|
|
1092
|
+
container.appendChild(shortcutMessage);
|
|
1093
|
+
const label = ( (new KeybindingLabel(shortcutMessage, OS, { ...defaultKeybindingLabelStyles })));
|
|
1094
|
+
label.set(keybinding);
|
|
1085
1095
|
}
|
|
1086
1096
|
}
|
|
1087
1097
|
this.detailsPageDisposables.add(button);
|
|
@@ -1171,7 +1181,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1171
1181
|
reset(stepTitle, ...renderLabelWithIcons(step.title));
|
|
1172
1182
|
const stepDescription = $('.step-container', {}, stepTitle, container);
|
|
1173
1183
|
if (step.media.type === 'image') {
|
|
1174
|
-
stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(
|
|
1184
|
+
stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(7318, "Image showing {0}", step.media.altText)) }));
|
|
1175
1185
|
}
|
|
1176
1186
|
return $('button.getting-started-step', {
|
|
1177
1187
|
'x-dispatch': 'selectTask:' + step.id,
|
|
@@ -1191,8 +1201,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1191
1201
|
}
|
|
1192
1202
|
}));
|
|
1193
1203
|
const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next);
|
|
1194
|
-
const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(
|
|
1195
|
-
? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(
|
|
1204
|
+
const stepsContainer = $('.getting-started-detail-container', { 'role': 'list' }, stepListContainer, $('.done-next-container', {}, $('button.button-link.all-done', { 'x-dispatch': 'allDone' }, $('span.codicon.codicon-check-all'), ( localize(7319, "Mark Done"))), ...(showNextCategory
|
|
1205
|
+
? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(7320, "Next Section")), $('span.codicon.codicon-arrow-right'))]
|
|
1196
1206
|
: [])));
|
|
1197
1207
|
this.detailsScrollbar = this._register(( (new DomScrollableElement(stepsContainer, { className: 'steps-container' }))));
|
|
1198
1208
|
const stepListComponent = this.detailsScrollbar.getDomNode();
|
|
@@ -1209,12 +1219,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1209
1219
|
}
|
|
1210
1220
|
buildTelemetryFooter(parent) {
|
|
1211
1221
|
const mdRenderer = this.instantiationService.createInstance(MarkdownRenderer, {});
|
|
1212
|
-
const privacyStatementCopy = ( localize(
|
|
1222
|
+
const privacyStatementCopy = ( localize(7321, "privacy statement"));
|
|
1213
1223
|
const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
|
|
1214
|
-
const optOutCopy = ( localize(
|
|
1224
|
+
const optOutCopy = ( localize(7322, "opt out"));
|
|
1215
1225
|
const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
|
|
1216
1226
|
const text = ( localize(
|
|
1217
|
-
|
|
1227
|
+
7323,
|
|
1218
1228
|
"{0} collects usage data. Read our {1} and learn how to {2}.",
|
|
1219
1229
|
this.productService.nameShort,
|
|
1220
1230
|
privacyStatementButton,
|
|
@@ -1233,6 +1243,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1233
1243
|
return `(${label})`;
|
|
1234
1244
|
}
|
|
1235
1245
|
}
|
|
1246
|
+
getKeyBinding(command) {
|
|
1247
|
+
command = command.replace(/^command:/, '');
|
|
1248
|
+
return this.keybindingService.lookupKeybinding(command);
|
|
1249
|
+
}
|
|
1236
1250
|
async scrollPrev() {
|
|
1237
1251
|
this.inProgressScroll = this.inProgressScroll.then(async () => {
|
|
1238
1252
|
if (this.prevWalkthrough && this.prevWalkthrough !== this.currentWalkthrough) {
|
|
@@ -1245,6 +1259,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1245
1259
|
this.editorInput.selectedCategory = undefined;
|
|
1246
1260
|
this.editorInput.selectedStep = undefined;
|
|
1247
1261
|
this.editorInput.showTelemetryNotice = false;
|
|
1262
|
+
this.editorInput.walkthroughPageTitle = undefined;
|
|
1248
1263
|
if (this.gettingStartedCategories.length !== this.gettingStartedList?.itemCount) {
|
|
1249
1264
|
this.buildCategoriesSlide();
|
|
1250
1265
|
}
|
|
@@ -1281,7 +1296,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1281
1296
|
const prevButton = this.container.querySelector('.prev-button.button-link');
|
|
1282
1297
|
prevButton.style.display = this.editorInput.showWelcome || this.prevWalkthrough ? 'block' : 'none';
|
|
1283
1298
|
const moreTextElement = prevButton.querySelector('.moreText');
|
|
1284
|
-
moreTextElement.textContent = firstLaunch ? ( localize(
|
|
1299
|
+
moreTextElement.textContent = firstLaunch ? ( localize(7324, "Welcome")) : ( localize(7298, "Go Back"));
|
|
1285
1300
|
this.container.querySelector('.gettingStartedSlideDetails').querySelectorAll('button').forEach(button => button.disabled = false);
|
|
1286
1301
|
this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('button').forEach(button => button.disabled = true);
|
|
1287
1302
|
this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('input').forEach(button => button.disabled = true);
|
|
@@ -1332,16 +1347,18 @@ class GettingStartedInputSerializer {
|
|
|
1332
1347
|
return JSON.stringify({ selectedCategory: editorInput.selectedCategory, selectedStep: editorInput.selectedStep });
|
|
1333
1348
|
}
|
|
1334
1349
|
deserialize(instantiationService, serializedEditorInput) {
|
|
1335
|
-
|
|
1336
|
-
|
|
1350
|
+
return instantiationService.invokeFunction(accessor => {
|
|
1351
|
+
try {
|
|
1352
|
+
const { selectedCategory, selectedStep } = JSON.parse(serializedEditorInput);
|
|
1353
|
+
return (
|
|
1354
|
+
(new GettingStartedInput({ selectedCategory, selectedStep }))
|
|
1355
|
+
);
|
|
1356
|
+
}
|
|
1357
|
+
catch { }
|
|
1337
1358
|
return (
|
|
1338
|
-
(new GettingStartedInput({
|
|
1359
|
+
(new GettingStartedInput({}))
|
|
1339
1360
|
);
|
|
1340
|
-
}
|
|
1341
|
-
catch { }
|
|
1342
|
-
return (
|
|
1343
|
-
(new GettingStartedInput({}))
|
|
1344
|
-
);
|
|
1361
|
+
});
|
|
1345
1362
|
}
|
|
1346
1363
|
}
|
|
1347
1364
|
|
|
@@ -64,15 +64,15 @@ class GettingStartedAccessibleProvider extends Disposable {
|
|
|
64
64
|
}
|
|
65
65
|
_getContent(index, waltkrough, step) {
|
|
66
66
|
const stepsContent = ( localize(
|
|
67
|
-
|
|
67
|
+
7331,
|
|
68
68
|
'Step {0}: {1}\nDescription: {2}',
|
|
69
69
|
index,
|
|
70
70
|
step.title,
|
|
71
71
|
step.description.join(' ')
|
|
72
72
|
));
|
|
73
73
|
return [
|
|
74
|
-
( localize(
|
|
75
|
-
( localize(
|
|
74
|
+
( localize(7332, 'Title: {0}', waltkrough.title)),
|
|
75
|
+
( localize(7333, 'Description: {0}', waltkrough.description)),
|
|
76
76
|
stepsContent
|
|
77
77
|
].join('\n\n');
|
|
78
78
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js
CHANGED
|
@@ -11,10 +11,10 @@ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
|
11
11
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
12
12
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
13
13
|
|
|
14
|
-
registerColor('welcomePage.background', null, ( localize(
|
|
15
|
-
registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(
|
|
16
|
-
registerColor('welcomePage.tileHoverBackground', { dark: ( (lighten(editorWidgetBackground, .2))), light: ( (darken(editorWidgetBackground, .1))), hcDark: null, hcLight: null }, ( localize(
|
|
17
|
-
registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(
|
|
18
|
-
registerColor('welcomePage.progress.background', inputBackground, ( localize(
|
|
19
|
-
registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(
|
|
20
|
-
registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(
|
|
14
|
+
registerColor('welcomePage.background', null, ( localize(10774, 'Background color for the Welcome page.')));
|
|
15
|
+
registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10775, 'Background color for the tiles on the Welcome page.')));
|
|
16
|
+
registerColor('welcomePage.tileHoverBackground', { dark: ( (lighten(editorWidgetBackground, .2))), light: ( (darken(editorWidgetBackground, .1))), hcDark: null, hcLight: null }, ( localize(10776, 'Hover background color for the tiles on the Welcome.')));
|
|
17
|
+
registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10777, 'Border color for the tiles on the Welcome page.')));
|
|
18
|
+
registerColor('welcomePage.progress.background', inputBackground, ( localize(10778, 'Foreground color for the Welcome page progress bars.')));
|
|
19
|
+
registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10779, 'Background color for the Welcome page progress bars.')));
|
|
20
|
+
registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10780, 'Foreground color of the heading of each walkthrough step')));
|