@codingame/monaco-vscode-walkthrough-service-override 11.1.2 → 12.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/assets/multi-file-edits.svg +513 -0
- package/index.d.ts +2 -1
- package/index.js +19 -1
- package/package.json +24 -8
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +67 -66
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.d.ts +146 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +153 -150
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +84 -32
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +8 -7
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +3 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +41 -37
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +3 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +3 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.d.ts +42 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +10 -8
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.d.ts +147 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +86 -83
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.d.ts +49 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +43 -38
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +208 -165
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/all.svg.js +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +4 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +7 -6
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +7 -6
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.js +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +11 -8
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +6 -4
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.d.ts +66 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +34 -31
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +5 -3
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +3 -2
- package/walkthrough.js +0 -18
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AccessibleViewType, AccessibleContentProvider, ExtensionContentProvider } from "vscode/vscode/vs/platform/accessibility/browser/accessibleView";
|
|
2
|
+
import { IAccessibleViewImplentation } from "vscode/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
|
|
3
|
+
import { ServicesAccessor } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
export declare class GettingStartedAccessibleView implements IAccessibleViewImplentation {
|
|
5
|
+
readonly type = AccessibleViewType.View;
|
|
6
|
+
readonly priority = 110;
|
|
7
|
+
readonly name = "walkthroughs";
|
|
8
|
+
readonly when: import("vscode/vscode/vs/platform/contextkey/common/contextkey").RawContextKey<boolean>;
|
|
9
|
+
getProvider: (accessor: ServicesAccessor) => AccessibleContentProvider | ExtensionContentProvider | undefined;
|
|
10
|
+
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
import { AccessibleViewType, AccessibleViewProviderId } from 'vscode/vscode/vs/platform/accessibility/browser/accessibleView';
|
|
1
3
|
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
2
4
|
import { inWelcomeContext, GettingStartedPage } from './gettingStarted.js';
|
|
3
5
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
4
6
|
import { IWalkthroughsService } from 'vscode/vscode/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service';
|
|
7
|
+
import { AccessibilityVerbositySettingId } from 'vscode/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
|
|
5
8
|
import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
6
9
|
import { GettingStartedInput } from './gettingStartedInput.js';
|
|
7
10
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
11
|
+
import { Action } from 'vscode/vscode/vs/base/common/actions';
|
|
12
|
+
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
13
|
+
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
14
|
+
import { parse } from 'vscode/vscode/vs/base/common/marshalling';
|
|
15
|
+
import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener.service';
|
|
16
|
+
import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
|
|
17
|
+
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
8
18
|
|
|
9
19
|
class GettingStartedAccessibleView {
|
|
10
20
|
constructor() {
|
|
11
|
-
this.type =
|
|
21
|
+
this.type = AccessibleViewType.View;
|
|
12
22
|
this.priority = 110;
|
|
13
23
|
this.name = 'walkthroughs';
|
|
14
24
|
this.when = inWelcomeContext;
|
|
@@ -26,32 +36,74 @@ class GettingStartedAccessibleView {
|
|
|
26
36
|
const currentWalkthrough = gettingStartedService.getWalkthrough(gettingStartedInput.selectedCategory);
|
|
27
37
|
const currentStepIds = gettingStartedInput.selectedStep;
|
|
28
38
|
if (currentWalkthrough) {
|
|
29
|
-
return (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
);
|
|
39
|
+
return ( new GettingStartedAccessibleProvider(
|
|
40
|
+
accessor.get(IContextKeyService),
|
|
41
|
+
accessor.get(ICommandService),
|
|
42
|
+
accessor.get(IOpenerService),
|
|
43
|
+
editorPane,
|
|
44
|
+
currentWalkthrough,
|
|
45
|
+
currentStepIds
|
|
46
|
+
));
|
|
37
47
|
}
|
|
38
48
|
return;
|
|
39
49
|
};
|
|
40
50
|
}
|
|
41
51
|
}
|
|
42
52
|
class GettingStartedAccessibleProvider extends Disposable {
|
|
43
|
-
constructor(contextService, _gettingStartedPage,
|
|
53
|
+
constructor(contextService, commandService, openerService, _gettingStartedPage, _walkthrough, _focusedStep) {
|
|
44
54
|
super();
|
|
45
55
|
this.contextService = contextService;
|
|
56
|
+
this.commandService = commandService;
|
|
57
|
+
this.openerService = openerService;
|
|
46
58
|
this._gettingStartedPage = _gettingStartedPage;
|
|
47
|
-
this.
|
|
59
|
+
this._walkthrough = _walkthrough;
|
|
48
60
|
this._focusedStep = _focusedStep;
|
|
49
61
|
this._currentStepIndex = 0;
|
|
50
62
|
this._activeWalkthroughSteps = [];
|
|
51
|
-
this.id =
|
|
52
|
-
this.verbositySettingKey =
|
|
53
|
-
this.options = { type:
|
|
54
|
-
this._activeWalkthroughSteps =
|
|
63
|
+
this.id = AccessibleViewProviderId.Walkthrough;
|
|
64
|
+
this.verbositySettingKey = AccessibilityVerbositySettingId.Walkthrough;
|
|
65
|
+
this.options = { type: AccessibleViewType.View };
|
|
66
|
+
this._activeWalkthroughSteps = _walkthrough.steps.filter(step => !step.when || this.contextService.contextMatchesRules(step.when));
|
|
67
|
+
}
|
|
68
|
+
get actions() {
|
|
69
|
+
const actions = [];
|
|
70
|
+
const step = this._activeWalkthroughSteps[this._currentStepIndex];
|
|
71
|
+
const nodes = ( step.description.map(lt => ( lt.nodes.filter((node) => typeof node !== 'string').map(node => ({ href: node.href, label: node.label }))))).flat();
|
|
72
|
+
if (nodes.length === 1) {
|
|
73
|
+
const node = nodes[0];
|
|
74
|
+
actions.push(( new Action(
|
|
75
|
+
'walthrough.step.action',
|
|
76
|
+
node.label,
|
|
77
|
+
ThemeIcon.asClassName(Codicon.run),
|
|
78
|
+
true,
|
|
79
|
+
() => {
|
|
80
|
+
const isCommand = node.href.startsWith('command:');
|
|
81
|
+
const command = node.href.replace(/command:(toSide:)?/, 'command:');
|
|
82
|
+
if (isCommand) {
|
|
83
|
+
const commandURI = ( URI.parse(command));
|
|
84
|
+
let args = [];
|
|
85
|
+
try {
|
|
86
|
+
args = parse(decodeURIComponent(commandURI.query));
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
try {
|
|
90
|
+
args = parse(commandURI.query);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (!Array.isArray(args)) {
|
|
96
|
+
args = [args];
|
|
97
|
+
}
|
|
98
|
+
this.commandService.executeCommand(commandURI.path, ...args);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.openerService.open(command, { allowCommands: true });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
)));
|
|
105
|
+
}
|
|
106
|
+
return actions;
|
|
55
107
|
}
|
|
56
108
|
provideContent() {
|
|
57
109
|
if (this._focusedStep) {
|
|
@@ -60,40 +112,40 @@ class GettingStartedAccessibleProvider extends Disposable {
|
|
|
60
112
|
this._currentStepIndex = stepIndex;
|
|
61
113
|
}
|
|
62
114
|
}
|
|
63
|
-
return this._getContent(this.
|
|
115
|
+
return this._getContent(this._walkthrough, this._activeWalkthroughSteps[this._currentStepIndex], true);
|
|
64
116
|
}
|
|
65
|
-
_getContent(
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
stepsContent
|
|
77
|
-
|
|
117
|
+
_getContent(waltkrough, step, includeTitle) {
|
|
118
|
+
const description = ( step.description.map(lt => lt.nodes.filter(node => typeof node === 'string'))).join('\n');
|
|
119
|
+
const stepsContent = ( localize(10769, '{0}\n{1}', step.title, description));
|
|
120
|
+
if (includeTitle) {
|
|
121
|
+
return [
|
|
122
|
+
( localize(10770, 'Title: {0}', waltkrough.title)),
|
|
123
|
+
( localize(10771, 'Description: {0}', waltkrough.description)),
|
|
124
|
+
stepsContent
|
|
125
|
+
].join('\n');
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return stepsContent;
|
|
129
|
+
}
|
|
78
130
|
}
|
|
79
131
|
provideNextContent() {
|
|
80
132
|
if (++this._currentStepIndex >= this._activeWalkthroughSteps.length) {
|
|
81
133
|
--this._currentStepIndex;
|
|
82
134
|
return;
|
|
83
135
|
}
|
|
84
|
-
return this._getContent(this.
|
|
136
|
+
return this._getContent(this._walkthrough, this._activeWalkthroughSteps[this._currentStepIndex]);
|
|
85
137
|
}
|
|
86
138
|
providePreviousContent() {
|
|
87
139
|
if (--this._currentStepIndex < 0) {
|
|
88
140
|
++this._currentStepIndex;
|
|
89
141
|
return;
|
|
90
142
|
}
|
|
91
|
-
return this._getContent(this.
|
|
143
|
+
return this._getContent(this._walkthrough, this._activeWalkthroughSteps[this._currentStepIndex]);
|
|
92
144
|
}
|
|
93
145
|
onClose() {
|
|
94
146
|
if (this._currentStepIndex > -1) {
|
|
95
147
|
const currentStep = this._activeWalkthroughSteps[this._currentStepIndex];
|
|
96
|
-
this._gettingStartedPage.makeCategoryVisibleWhenAvailable(this.
|
|
148
|
+
this._gettingStartedPage.makeCategoryVisibleWhenAvailable(this._walkthrough.id, currentStep.id);
|
|
97
149
|
}
|
|
98
150
|
}
|
|
99
151
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const welcomePageBackground: string;
|
|
2
|
+
export declare const welcomePageTileBackground: string;
|
|
3
|
+
export declare const welcomePageTileHoverBackground: string;
|
|
4
|
+
export declare const welcomePageTileBorder: string;
|
|
5
|
+
export declare const welcomePageProgressBackground: string;
|
|
6
|
+
export declare const welcomePageProgressForeground: string;
|
|
7
|
+
export declare const walkthroughStepTitleForeground: string;
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import { registerColor, lighten, darken } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
2
3
|
import { contrastBorder, textLinkForeground } from 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
|
|
3
4
|
import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
@@ -11,10 +12,10 @@ import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
|
11
12
|
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
12
13
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
13
14
|
|
|
14
|
-
registerColor('welcomePage.background', null, ( localize(
|
|
15
|
-
registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(
|
|
16
|
-
registerColor('welcomePage.tileHoverBackground', { dark: (
|
|
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(
|
|
15
|
+
registerColor('welcomePage.background', null, ( localize(10772, 'Background color for the Welcome page.')));
|
|
16
|
+
registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10773, 'Background color for the tiles on the Welcome page.')));
|
|
17
|
+
registerColor('welcomePage.tileHoverBackground', { dark: ( lighten(editorWidgetBackground, .2)), light: ( darken(editorWidgetBackground, .1)), hcDark: null, hcLight: null }, ( localize(10774, 'Hover background color for the tiles on the Welcome.')));
|
|
18
|
+
registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10775, 'Border color for the tiles on the Welcome page.')));
|
|
19
|
+
registerColor('welcomePage.progress.background', inputBackground, ( localize(10776, 'Foreground color for the Welcome page progress bars.')));
|
|
20
|
+
registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10777, 'Background color for the Welcome page progress bars.')));
|
|
21
|
+
registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10778, 'Foreground color of the heading of each walkthrough step')));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
2
|
+
import { IFileService } from "vscode/vscode/vs/platform/files/common/files.service";
|
|
3
|
+
import { INotificationService } from "vscode/vscode/vs/platform/notification/common/notification.service";
|
|
4
|
+
import { ILanguageService } from "vscode/vscode/vs/editor/common/languages/language";
|
|
5
|
+
import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
6
|
+
export declare class GettingStartedDetailsRenderer {
|
|
7
|
+
private readonly fileService;
|
|
8
|
+
private readonly notificationService;
|
|
9
|
+
private readonly extensionService;
|
|
10
|
+
private readonly languageService;
|
|
11
|
+
private mdCache;
|
|
12
|
+
private svgCache;
|
|
13
|
+
constructor(fileService: IFileService, notificationService: INotificationService, extensionService: IExtensionService, languageService: ILanguageService);
|
|
14
|
+
renderMarkdown(path: URI, base: URI): Promise<string>;
|
|
15
|
+
renderSVG(path: URI): Promise<string>;
|
|
16
|
+
private readAndCacheSVGFile;
|
|
17
|
+
private readAndCacheStepMarkdown;
|
|
18
|
+
private readContentsOfPath;
|
|
19
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
3
4
|
import { generateTokensCSSForColorMap } from 'vscode/vscode/vs/editor/common/languages/supports/tokenization';
|
|
4
5
|
import { TokenizationRegistry } from 'vscode/vscode/vs/editor/common/languages';
|
|
5
|
-
import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from 'vscode/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
|
|
6
|
+
import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from '@codingame/monaco-vscode-5e324391-11e3-5ceb-93ee-938e4098e4ad-common/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
|
|
6
7
|
import { language } from 'vscode/vscode/vs/base/common/platform';
|
|
7
8
|
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
8
9
|
import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
|
|
1
2
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
2
3
|
import { ExtensionsRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
3
4
|
|
|
4
|
-
const titleTranslated = ( localize(
|
|
5
|
+
const titleTranslated = ( localize(10779, "Title"));
|
|
5
6
|
const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
6
7
|
extensionPoint: 'walkthroughs',
|
|
7
8
|
jsonSchema: {
|
|
8
9
|
description: ( localize(
|
|
9
|
-
|
|
10
|
+
10780,
|
|
10
11
|
"Contribute walkthroughs to help users getting started with your extension."
|
|
11
12
|
)),
|
|
12
13
|
type: 'array',
|
|
@@ -17,27 +18,27 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
17
18
|
properties: {
|
|
18
19
|
id: {
|
|
19
20
|
type: 'string',
|
|
20
|
-
description: ( localize(
|
|
21
|
+
description: ( localize(10781, "Unique identifier for this walkthrough.")),
|
|
21
22
|
},
|
|
22
23
|
title: {
|
|
23
24
|
type: 'string',
|
|
24
|
-
description: ( localize(
|
|
25
|
+
description: ( localize(10782, "Title of walkthrough."))
|
|
25
26
|
},
|
|
26
27
|
icon: {
|
|
27
28
|
type: 'string',
|
|
28
29
|
description: ( localize(
|
|
29
|
-
|
|
30
|
+
10783,
|
|
30
31
|
"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."
|
|
31
32
|
)),
|
|
32
33
|
},
|
|
33
34
|
description: {
|
|
34
35
|
type: 'string',
|
|
35
|
-
description: ( localize(
|
|
36
|
+
description: ( localize(10784, "Description of walkthrough."))
|
|
36
37
|
},
|
|
37
38
|
featuredFor: {
|
|
38
39
|
type: 'array',
|
|
39
40
|
description: ( localize(
|
|
40
|
-
|
|
41
|
+
10785,
|
|
41
42
|
"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."
|
|
42
43
|
)),
|
|
43
44
|
items: {
|
|
@@ -47,13 +48,13 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
47
48
|
when: {
|
|
48
49
|
type: 'string',
|
|
49
50
|
description: ( localize(
|
|
50
|
-
|
|
51
|
+
10786,
|
|
51
52
|
"Context key expression to control the visibility of this walkthrough."
|
|
52
53
|
))
|
|
53
54
|
},
|
|
54
55
|
steps: {
|
|
55
56
|
type: 'array',
|
|
56
|
-
description: ( localize(
|
|
57
|
+
description: ( localize(10787, "Steps to complete as part of this walkthrough.")),
|
|
57
58
|
items: {
|
|
58
59
|
type: 'object',
|
|
59
60
|
required: ['id', 'title', 'media'],
|
|
@@ -68,18 +69,18 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
68
69
|
id: {
|
|
69
70
|
type: 'string',
|
|
70
71
|
description: ( localize(
|
|
71
|
-
|
|
72
|
+
10788,
|
|
72
73
|
"Unique identifier for this step. This is used to keep track of which steps have been completed."
|
|
73
74
|
)),
|
|
74
75
|
},
|
|
75
76
|
title: {
|
|
76
77
|
type: 'string',
|
|
77
|
-
description: ( localize(
|
|
78
|
+
description: ( localize(10789, "Title of step."))
|
|
78
79
|
},
|
|
79
80
|
description: {
|
|
80
81
|
type: 'string',
|
|
81
82
|
description: ( localize(
|
|
82
|
-
|
|
83
|
+
10790,
|
|
83
84
|
"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.",
|
|
84
85
|
`[${titleTranslated}](command:myext.command)`,
|
|
85
86
|
`[${titleTranslated}](command:toSide:myext.command)`,
|
|
@@ -88,7 +89,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
88
89
|
},
|
|
89
90
|
button: {
|
|
90
91
|
deprecationMessage: ( localize(
|
|
91
|
-
|
|
92
|
+
10791,
|
|
92
93
|
"Deprecated. Use markdown links in the description instead, i.e. {0}, {1}, or {2}",
|
|
93
94
|
`[${titleTranslated}](command:myext.command)`,
|
|
94
95
|
`[${titleTranslated}](command:toSide:myext.command)`,
|
|
@@ -98,7 +99,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
98
99
|
media: {
|
|
99
100
|
type: 'object',
|
|
100
101
|
description: ( localize(
|
|
101
|
-
|
|
102
|
+
10792,
|
|
102
103
|
"Media to show alongside this step, either an image or markdown content."
|
|
103
104
|
)),
|
|
104
105
|
oneOf: [
|
|
@@ -107,11 +108,11 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
107
108
|
additionalProperties: false,
|
|
108
109
|
properties: {
|
|
109
110
|
path: {
|
|
110
|
-
deprecationMessage: ( localize(
|
|
111
|
+
deprecationMessage: ( localize(10793, "Deprecated. Please use `image` or `markdown` instead"))
|
|
111
112
|
},
|
|
112
113
|
image: {
|
|
113
114
|
description: ( localize(
|
|
114
|
-
|
|
115
|
+
10794,
|
|
115
116
|
"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."
|
|
116
117
|
)),
|
|
117
118
|
oneOf: [
|
|
@@ -124,25 +125,25 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
124
125
|
properties: {
|
|
125
126
|
dark: {
|
|
126
127
|
description: ( localize(
|
|
127
|
-
|
|
128
|
+
10795,
|
|
128
129
|
"Path to the image for dark themes, relative to extension directory."
|
|
129
130
|
)),
|
|
130
131
|
type: 'string',
|
|
131
132
|
},
|
|
132
133
|
light: {
|
|
133
134
|
description: ( localize(
|
|
134
|
-
|
|
135
|
+
10796,
|
|
135
136
|
"Path to the image for light themes, relative to extension directory."
|
|
136
137
|
)),
|
|
137
138
|
type: 'string',
|
|
138
139
|
},
|
|
139
140
|
hc: {
|
|
140
|
-
description: ( localize(
|
|
141
|
+
description: ( localize(10797, "Path to the image for hc themes, relative to extension directory.")),
|
|
141
142
|
type: 'string',
|
|
142
143
|
},
|
|
143
144
|
hcLight: {
|
|
144
145
|
description: ( localize(
|
|
145
|
-
|
|
146
|
+
10798,
|
|
146
147
|
"Path to the image for hc light themes, relative to extension directory."
|
|
147
148
|
)),
|
|
148
149
|
type: 'string',
|
|
@@ -154,7 +155,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
154
155
|
altText: {
|
|
155
156
|
type: 'string',
|
|
156
157
|
description: ( localize(
|
|
157
|
-
|
|
158
|
+
10799,
|
|
158
159
|
"Alternate text to display when the image cannot be loaded or in screen readers."
|
|
159
160
|
))
|
|
160
161
|
}
|
|
@@ -166,7 +167,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
166
167
|
properties: {
|
|
167
168
|
svg: {
|
|
168
169
|
description: ( localize(
|
|
169
|
-
|
|
170
|
+
10800,
|
|
170
171
|
"Path to an svg, color tokens are supported in variables to support theming to match the workbench."
|
|
171
172
|
)),
|
|
172
173
|
type: 'string',
|
|
@@ -174,7 +175,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
174
175
|
altText: {
|
|
175
176
|
type: 'string',
|
|
176
177
|
description: ( localize(
|
|
177
|
-
|
|
178
|
+
10799,
|
|
178
179
|
"Alternate text to display when the image cannot be loaded or in screen readers."
|
|
179
180
|
))
|
|
180
181
|
},
|
|
@@ -185,10 +186,10 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
185
186
|
additionalProperties: false,
|
|
186
187
|
properties: {
|
|
187
188
|
path: {
|
|
188
|
-
deprecationMessage: ( localize(
|
|
189
|
+
deprecationMessage: ( localize(10793, "Deprecated. Please use `image` or `markdown` instead"))
|
|
189
190
|
},
|
|
190
191
|
markdown: {
|
|
191
|
-
description: ( localize(
|
|
192
|
+
description: ( localize(10801, "Path to the markdown document, relative to extension directory.")),
|
|
192
193
|
type: 'string',
|
|
193
194
|
}
|
|
194
195
|
}
|
|
@@ -197,7 +198,7 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
197
198
|
},
|
|
198
199
|
completionEvents: {
|
|
199
200
|
description: ( localize(
|
|
200
|
-
|
|
201
|
+
10802,
|
|
201
202
|
"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."
|
|
202
203
|
)),
|
|
203
204
|
type: 'array',
|
|
@@ -207,51 +208,54 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
207
208
|
{
|
|
208
209
|
label: 'onCommand',
|
|
209
210
|
description: ( localize(
|
|
210
|
-
|
|
211
|
+
10803,
|
|
211
212
|
'Check off step when a given command is executed anywhere in VS Code.'
|
|
212
213
|
)),
|
|
213
214
|
body: 'onCommand:${1:commandId}'
|
|
214
215
|
},
|
|
215
216
|
{
|
|
216
217
|
label: 'onLink',
|
|
217
|
-
description: ( localize(
|
|
218
|
+
description: ( localize(
|
|
219
|
+
10804,
|
|
220
|
+
'Check off step when a given link is opened via a walkthrough step.'
|
|
221
|
+
)),
|
|
218
222
|
body: 'onLink:${2:linkId}'
|
|
219
223
|
},
|
|
220
224
|
{
|
|
221
225
|
label: 'onView',
|
|
222
|
-
description: ( localize(
|
|
226
|
+
description: ( localize(10805, 'Check off step when a given view is opened')),
|
|
223
227
|
body: 'onView:${2:viewId}'
|
|
224
228
|
},
|
|
225
229
|
{
|
|
226
230
|
label: 'onSettingChanged',
|
|
227
|
-
description: ( localize(
|
|
231
|
+
description: ( localize(10806, 'Check off step when a given setting is changed')),
|
|
228
232
|
body: 'onSettingChanged:${2:settingName}'
|
|
229
233
|
},
|
|
230
234
|
{
|
|
231
235
|
label: 'onContext',
|
|
232
|
-
description: ( localize(
|
|
236
|
+
description: ( localize(10807, 'Check off step when a context key expression is true.')),
|
|
233
237
|
body: 'onContext:${2:key}'
|
|
234
238
|
},
|
|
235
239
|
{
|
|
236
240
|
label: 'onExtensionInstalled',
|
|
237
241
|
description: ( localize(
|
|
238
|
-
|
|
242
|
+
10808,
|
|
239
243
|
'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
244
|
)),
|
|
241
245
|
body: 'onExtensionInstalled:${3:extensionId}'
|
|
242
246
|
},
|
|
243
247
|
{
|
|
244
248
|
label: 'onStepSelected',
|
|
245
|
-
description: ( localize(
|
|
249
|
+
description: ( localize(10809, 'Check off step as soon as it is selected.')),
|
|
246
250
|
body: 'onStepSelected'
|
|
247
251
|
},
|
|
248
252
|
]
|
|
249
253
|
}
|
|
250
254
|
},
|
|
251
255
|
doneOn: {
|
|
252
|
-
description: ( localize(
|
|
256
|
+
description: ( localize(10810, "Signal to mark step as complete.")),
|
|
253
257
|
deprecationMessage: ( localize(
|
|
254
|
-
|
|
258
|
+
10811,
|
|
255
259
|
"doneOn is deprecated. By default steps will be checked off when their buttons are clicked, to configure further use completionEvents"
|
|
256
260
|
)),
|
|
257
261
|
type: 'object',
|
|
@@ -259,14 +263,14 @@ const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
|
|
|
259
263
|
defaultSnippets: [{ 'body': { command: '$1' } }],
|
|
260
264
|
properties: {
|
|
261
265
|
'command': {
|
|
262
|
-
description: ( localize(
|
|
266
|
+
description: ( localize(10812, "Mark step done when the specified command is executed.")),
|
|
263
267
|
type: 'string'
|
|
264
268
|
}
|
|
265
269
|
},
|
|
266
270
|
},
|
|
267
271
|
when: {
|
|
268
272
|
type: 'string',
|
|
269
|
-
description: ( localize(
|
|
273
|
+
description: ( localize(10813, "Context key expression to control the visibility of this step."))
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
276
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
|
|
1
2
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
2
3
|
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
3
4
|
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
4
5
|
|
|
5
|
-
const gettingStartedUncheckedCodicon = registerIcon('getting-started-step-unchecked', Codicon.circleLargeOutline, ( localize(
|
|
6
|
-
const gettingStartedCheckedCodicon = registerIcon('getting-started-step-checked', Codicon.passFilled, ( localize(
|
|
6
|
+
const gettingStartedUncheckedCodicon = registerIcon('getting-started-step-unchecked', Codicon.circleLargeOutline, ( localize(10814, "Used to represent walkthrough steps which have not been completed")));
|
|
7
|
+
const gettingStartedCheckedCodicon = registerIcon('getting-started-step-checked', Codicon.passFilled, ( localize(10815, "Used to represent walkthrough steps which have been completed")));
|
|
7
8
|
|
|
8
9
|
export { gettingStartedCheckedCodicon, gettingStartedUncheckedCodicon };
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EditorInput } from "vscode/vscode/vs/workbench/common/editor/editorInput";
|
|
2
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
3
|
+
import { IUntypedEditorInput } from "vscode/vscode/vs/workbench/common/editor";
|
|
4
|
+
import { IEditorOptions } from "vscode/vscode/vs/platform/editor/common/editor";
|
|
5
|
+
export declare const gettingStartedInputTypeId = "workbench.editors.gettingStartedInput";
|
|
6
|
+
export interface GettingStartedEditorOptions extends IEditorOptions {
|
|
7
|
+
selectedCategory?: string;
|
|
8
|
+
selectedStep?: string;
|
|
9
|
+
showTelemetryNotice?: boolean;
|
|
10
|
+
showWelcome?: boolean;
|
|
11
|
+
walkthroughPageTitle?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class GettingStartedInput extends EditorInput {
|
|
14
|
+
static readonly ID = "workbench.editors.gettingStartedInput";
|
|
15
|
+
static readonly RESOURCE: URI;
|
|
16
|
+
private _selectedCategory;
|
|
17
|
+
private _selectedStep;
|
|
18
|
+
private _showTelemetryNotice;
|
|
19
|
+
private _showWelcome;
|
|
20
|
+
private _walkthroughPageTitle;
|
|
21
|
+
get typeId(): string;
|
|
22
|
+
get editorId(): string | undefined;
|
|
23
|
+
toUntyped(): IUntypedEditorInput;
|
|
24
|
+
get resource(): URI | undefined;
|
|
25
|
+
matches(other: EditorInput | IUntypedEditorInput): boolean;
|
|
26
|
+
constructor(options: GettingStartedEditorOptions);
|
|
27
|
+
getName(): string;
|
|
28
|
+
get selectedCategory(): string | undefined;
|
|
29
|
+
set selectedCategory(selectedCategory: string | undefined);
|
|
30
|
+
get selectedStep(): string | undefined;
|
|
31
|
+
set selectedStep(selectedStep: string | undefined);
|
|
32
|
+
get showTelemetryNotice(): boolean;
|
|
33
|
+
set showTelemetryNotice(value: boolean);
|
|
34
|
+
get showWelcome(): boolean;
|
|
35
|
+
set showWelcome(value: boolean);
|
|
36
|
+
get walkthroughPageTitle(): string | undefined;
|
|
37
|
+
set walkthroughPageTitle(value: string | undefined);
|
|
38
|
+
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import './media/gettingStarted.css.js';
|
|
2
3
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
3
4
|
import { EditorInput } from 'vscode/vscode/vs/workbench/common/editor/editorInput';
|
|
@@ -7,7 +8,7 @@ import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
|
7
8
|
const gettingStartedInputTypeId = 'workbench.editors.gettingStartedInput';
|
|
8
9
|
class GettingStartedInput extends EditorInput {
|
|
9
10
|
static { this.ID = gettingStartedInputTypeId; }
|
|
10
|
-
static { this.RESOURCE = (
|
|
11
|
+
static { this.RESOURCE = ( URI.from({ scheme: Schemas.walkThrough, authority: 'vscode_getting_started_page' })); }
|
|
11
12
|
get typeId() {
|
|
12
13
|
return GettingStartedInput.ID;
|
|
13
14
|
}
|
|
@@ -44,7 +45,7 @@ class GettingStartedInput extends EditorInput {
|
|
|
44
45
|
this._walkthroughPageTitle = options.walkthroughPageTitle;
|
|
45
46
|
}
|
|
46
47
|
getName() {
|
|
47
|
-
return this.walkthroughPageTitle ? ( localize(
|
|
48
|
+
return this.walkthroughPageTitle ? ( localize(10816, 'Walkthrough: {0}', this.walkthroughPageTitle)) : ( localize(10817, "Welcome"));
|
|
48
49
|
}
|
|
49
50
|
get selectedCategory() {
|
|
50
51
|
return this._selectedCategory;
|