@codingame/monaco-vscode-walkthrough-service-override 30.0.1 → 31.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.
Files changed (26) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsBanner.d.ts +29 -0
  3. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsBanner.js +34 -0
  4. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.js +31 -20
  5. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.js +1 -1
  6. package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/media/agentSessionsWelcome.css +30 -6
  7. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +33 -20
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +52 -43
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +2 -2
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  16. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css +19 -0
  17. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.d.ts +4 -1
  18. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +31 -4
  19. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +156 -156
  20. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
  21. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
  22. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +4 -4
  23. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
  24. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +2 -2
  26. 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": "30.0.1",
3
+ "version": "31.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - walkthrough service-override",
6
6
  "keywords": [],
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "30.0.1",
19
- "@codingame/monaco-vscode-katex-common": "30.0.1",
18
+ "@codingame/monaco-vscode-api": "31.0.0",
19
+ "@codingame/monaco-vscode-katex-common": "31.0.0",
20
20
  "marked": "14.0.0"
21
21
  },
22
22
  "main": "index.js",
@@ -0,0 +1,29 @@
1
+ import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
3
+ import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
4
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
5
+ export interface IAgentsBannerResult {
6
+ readonly element: HTMLElement;
7
+ readonly disposables: DisposableStore;
8
+ }
9
+ /**
10
+ * Returns whether the agents banner can be shown.
11
+ * The banner requires the `workbench.action.openAgentsWindow` command
12
+ * to be registered (desktop builds only) and is limited to Insiders quality.
13
+ */
14
+ export declare function canShowAgentsBanner(productService: IProductService): boolean;
15
+ export interface IAgentsBannerOptions {
16
+ /** Dot-separated CSS classes for the banner container (e.g. 'my-banner' or 'foo.bar'). */
17
+ readonly cssClass: string;
18
+ /** Identifies where the banner is displayed (e.g. 'welcomePage', 'agentSessionsWelcome'). */
19
+ readonly source: string;
20
+ /** Override the default button label. */
21
+ readonly label?: string;
22
+ /** Optional callback invoked when the banner button is clicked. */
23
+ readonly onButtonClick?: () => void;
24
+ }
25
+ /**
26
+ * Creates a banner that promotes the Agents app.
27
+ * The banner contains a button that opens the Agents window.
28
+ */
29
+ export declare function createAgentsBanner(options: IAgentsBannerOptions, commandService: ICommandService, telemetryService: ITelemetryService): IAgentsBannerResult;
@@ -0,0 +1,34 @@
1
+
2
+ import { $, addDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { CommandsRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands';
6
+
7
+ const OPEN_AGENTS_WINDOW_COMMAND = "workbench.action.openAgentsWindow";
8
+ function canShowAgentsBanner(productService) {
9
+ return productService.quality !== "stable" && !!CommandsRegistry.getCommand(OPEN_AGENTS_WINDOW_COMMAND);
10
+ }
11
+ function createAgentsBanner(options, commandService, telemetryService) {
12
+ const disposables = ( new DisposableStore());
13
+ const label = options.label ?? ( localize(5182, "Try out the new Agents app"));
14
+ const button = $("button.agents-banner-button", {
15
+ title: label
16
+ }, $(".codicon.codicon-agent.icon-widget"), $("span.category-title", {}, label));
17
+ disposables.add(addDisposableListener(button, "click", () => {
18
+ options.onButtonClick?.();
19
+ telemetryService.publicLog2("agentsBanner.clicked", {
20
+ source: options.source,
21
+ action: "openAgentsWindow"
22
+ });
23
+ commandService.executeCommand(OPEN_AGENTS_WINDOW_COMMAND, {
24
+ forceNewWindow: true
25
+ });
26
+ }));
27
+ const element = $(`.${options.cssClass}`, {}, button);
28
+ return {
29
+ element,
30
+ disposables
31
+ };
32
+ }
33
+
34
+ export { canShowAgentsBanner, createAgentsBanner };
@@ -68,6 +68,7 @@ import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/wo
68
68
  import { IViewDescriptorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service';
69
69
  import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
70
70
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
71
+ import { canShowAgentsBanner, createAgentsBanner } from '../../chat/browser/agentSessions/agentSessionsBanner.js';
71
72
 
72
73
  var AgentSessionsWelcomePage_1;
73
74
  registerCss(agentSessionsWelcome);
@@ -75,6 +76,10 @@ const configurationKey = "workbench.startupEditor";
75
76
  const MAX_SESSIONS = 6;
76
77
  const MAX_REPO_PICKS = 10;
77
78
  const MAX_WALKTHROUGHS = 10;
79
+ const WELCOME_CHAT_INPUT_LAYOUT_HEIGHT = 150;
80
+ const WELCOME_CHAT_INPUT_RESERVED_LIST_HEIGHT = 50;
81
+ const WELCOME_CHAT_INPUT_RESERVED_CHROME_HEIGHT = 72;
82
+ const WELCOME_CHAT_INPUT_MAX_HEIGHT_OVERRIDE = WELCOME_CHAT_INPUT_LAYOUT_HEIGHT + WELCOME_CHAT_INPUT_RESERVED_LIST_HEIGHT + WELCOME_CHAT_INPUT_RESERVED_CHROME_HEIGHT;
78
83
  let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane {
79
84
  static {
80
85
  AgentSessionsWelcomePage_1 = this;
@@ -147,7 +152,7 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
147
152
  this.container = $(".agentSessionsWelcome", {
148
153
  role: "document",
149
154
  tabindex: 0,
150
- "aria-label": ( localize(15219, "Overview of agent sessions and how to get started."))
155
+ "aria-label": ( localize(15355, "Overview of agent sessions and how to get started."))
151
156
  });
152
157
  this.contextService = this._register(contextKeyService.createScoped(this.container));
153
158
  ChatContextKeys.inAgentSessionsWelcome.bindTo(this.contextService).set(true);
@@ -224,20 +229,20 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
224
229
  const workspaces = await this.getRecentlyOpenedWorkspaces(false);
225
230
  const openEntry = workspaces.length > 0 ? {
226
231
  icon: Codicon.folderOpened,
227
- label: ( localize(15220, "Open Recent...")),
232
+ label: ( localize(15356, "Open Recent...")),
228
233
  command: "workbench.action.openRecent"
229
234
  } : {
230
235
  icon: Codicon.folderOpened,
231
- label: ( localize(15221, "Open Folder...")),
236
+ label: ( localize(15357, "Open Folder...")),
232
237
  command: "workbench.action.files.openFolder"
233
238
  };
234
239
  const entries = [openEntry, {
235
240
  icon: Codicon.newFile,
236
- label: ( localize(15222, "New file...")),
241
+ label: ( localize(15358, "New file...")),
237
242
  command: "welcome.showNewFileEntries"
238
243
  }, {
239
244
  icon: Codicon.repoClone,
240
- label: ( localize(15223, "Clone Git Repository...")),
245
+ label: ( localize(15359, "Clone Git Repository...")),
241
246
  command: "git.clone"
242
247
  }];
243
248
  for (const entry of entries) {
@@ -486,12 +491,18 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
486
491
  this.layoutSessionsControl();
487
492
  })
488
493
  );
489
- const openButton = append(container, $("button.agentSessionsWelcome-openSessionsButton"));
490
- openButton.textContent = ( localize(15224, "View All Sessions"));
491
- openButton.onclick = () => {
492
- this._closedBy = "viewAllSessions";
493
- this.revealMaximizedChat();
494
- };
494
+ if (canShowAgentsBanner(this.productService)) {
495
+ const agentsBanner = createAgentsBanner({
496
+ cssClass: "agentSessionsWelcome-agentsBanner",
497
+ source: "agentSessionsWelcome",
498
+ label: ( localize(15360, "View All Sessions")),
499
+ onButtonClick: () => {
500
+ this._closedBy = "viewAllSessions";
501
+ }
502
+ }, this.commandService, this.telemetryService);
503
+ this.sessionsControlDisposables.add(agentsBanner.disposables);
504
+ append(container, agentsBanner.element);
505
+ }
495
506
  }
496
507
  buildWalkthroughs(container) {
497
508
  const activeWalkthroughs = this.walkthroughs.filter(w => !w.when || this.contextService.contextMatchesRules(w.when)).slice(0, MAX_WALKTHROUGHS);
@@ -507,10 +518,10 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
507
518
  const navContainer = append(card, $(".agentSessionsWelcome-walkthroughCard-nav"));
508
519
  const prevButton = append(navContainer, $("button.nav-button"));
509
520
  prevButton.appendChild(renderIcon(Codicon.chevronLeft));
510
- prevButton.title = ( localize(15225, "Previous"));
521
+ prevButton.title = ( localize(15361, "Previous"));
511
522
  const nextButton = append(navContainer, $("button.nav-button"));
512
523
  nextButton.appendChild(renderIcon(Codicon.chevronRight));
513
- nextButton.title = ( localize(15226, "Next"));
524
+ nextButton.title = ( localize(15362, "Next"));
514
525
  const updateContent = () => {
515
526
  const walkthrough = activeWalkthroughs[currentIndex];
516
527
  clearNode(iconContainer);
@@ -590,10 +601,10 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
590
601
  iconContainer.appendChild(renderIcon(Codicon.chatSparkle));
591
602
  const content = append(tosCard, $(".agentSessionsWelcome-walkthroughCard-content"));
592
603
  const title = append(content, $(".agentSessionsWelcome-walkthroughCard-title"));
593
- title.textContent = ( localize(15227, "Try GitHub Copilot for free, no sign-in required!"));
604
+ title.textContent = ( localize(15363, "Try GitHub Copilot for free, no sign-in required!"));
594
605
  const desc = append(content, $(".agentSessionsWelcome-walkthroughCard-description"));
595
606
  const descriptionMarkdown = ( new MarkdownString(( localize(
596
- 15228,
607
+ 15364,
597
608
  "By continuing, you agree to {0}'s [Terms]({1}) and [Privacy Statement]({2}).",
598
609
  providers.default.name,
599
610
  this.productService.defaultChatAgent.termsStatementUrl,
@@ -605,7 +616,7 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
605
616
  desc.appendChild(renderedMarkdown.element);
606
617
  const dismissButton = append(tosCard, $("button.agentSessionsWelcome-tosCard-dismiss"));
607
618
  dismissButton.appendChild(renderIcon(Codicon.close));
608
- dismissButton.title = ( localize(15229, "Dismiss"));
619
+ dismissButton.title = ( localize(15365, "Dismiss"));
609
620
  dismissButton.onclick = e => {
610
621
  e.stopPropagation();
611
622
  dismissNotice();
@@ -618,7 +629,7 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
618
629
  icon: Codicon.check,
619
630
  actionClassName: "agentSessionsWelcome-checkbox",
620
631
  isChecked: this.configurationService.getValue(configurationKey) === "agentSessionsWelcomePage",
621
- title: ( localize(15230, "When checked, this page will be shown on startup.")),
632
+ title: ( localize(15366, "When checked, this page will be shown on startup.")),
622
633
  ...getToggleStyles({
623
634
  inputActiveOptionBackground: "var(--vscode-descriptionForeground)",
624
635
  inputActiveOptionForeground: "var(--vscode-editor-background)",
@@ -628,7 +639,7 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
628
639
  showOnStartupCheckbox.domNode.id = "showOnStartup";
629
640
  const showOnStartupLabel = $("label.caption", {
630
641
  for: "showOnStartup"
631
- }, ( localize(15231, "Show welcome page on startup")));
642
+ }, ( localize(15367, "Show welcome page on startup")));
632
643
  const onShowOnStartupChanged = () => {
633
644
  if (showOnStartupCheckbox.checked) {
634
645
  this.configurationService.updateValue(configurationKey, "agentSessionsWelcomePage");
@@ -657,8 +668,8 @@ let AgentSessionsWelcomePage = class AgentSessionsWelcomePage extends EditorPane
657
668
  return;
658
669
  }
659
670
  const chatWidth = Math.min(800, this.lastDimension.width - 80);
660
- const inputHeight = 150;
661
- this.chatWidget.layout(inputHeight, chatWidth);
671
+ this.chatWidget.setInputPartMaxHeightOverride(WELCOME_CHAT_INPUT_MAX_HEIGHT_OVERRIDE);
672
+ this.chatWidget.layout(WELCOME_CHAT_INPUT_LAYOUT_HEIGHT, chatWidth);
662
673
  }
663
674
  layoutSessionsControl() {
664
675
  if (!this.sessionsControl || !this.sessionsControlContainer || !this.lastDimension) {
@@ -46,7 +46,7 @@ class AgentSessionsWelcomeInput extends EditorInput {
46
46
  this._workspaceKind = options.workspaceKind;
47
47
  }
48
48
  getName() {
49
- return localize(15232, "Welcome");
49
+ return localize(15368, "Welcome");
50
50
  }
51
51
  get showTelemetryNotice() {
52
52
  return this._showTelemetryNotice;
@@ -210,25 +210,49 @@
210
210
  display: none !important;
211
211
  }
212
212
 
213
- .agentSessionsWelcome-openSessionsButton {
213
+ .agentSessionsWelcome-agentsBanner {
214
214
  display: flex;
215
215
  align-items: center;
216
216
  justify-content: center;
217
- gap: 6px;
217
+ gap: 8px;
218
218
  width: 100%;
219
- padding: 8px 16px;
220
219
  margin-top: 12px;
220
+ font-size: 13px;
221
+ }
222
+
223
+ .agentSessionsWelcome-agentsBanner .agents-banner-button {
224
+ display: flex;
225
+ align-items: center;
226
+ padding: 6px 10px;
221
227
  border: none;
222
- border-radius: 4px;
228
+ border-radius: 6px;
223
229
  background-color: var(--vscode-toolbar-hoverBackground);
224
230
  color: var(--vscode-foreground);
225
231
  font-size: 13px;
226
232
  cursor: pointer;
233
+ font-family: inherit;
234
+ border-radius: 50px;
235
+ width: 100%;
236
+ justify-content: center;
227
237
  }
228
238
 
229
- .agentSessionsWelcome-openSessionsButton:hover {
239
+ .agentSessionsWelcome-agentsBanner .codicon {
240
+ color: var(--vscode-textLink-foreground) !important;
241
+ }
242
+
243
+ .agentSessionsWelcome-agentsBanner .agents-banner-button:hover {
230
244
  background-color: var(--vscode-toolbar-activeBackground);
231
- color: var(--vscode-textLink-foreground);
245
+ }
246
+
247
+ .agentSessionsWelcome-agentsBanner .icon-widget {
248
+ font-size: 20px;
249
+ padding-right: 8px;
250
+ }
251
+
252
+ .agentSessionsWelcome-agentsBanner .category-title {
253
+ font-size: 13px;
254
+ font-weight: normal;
255
+ margin: 0;
232
256
  }
233
257
 
234
258
  /* Walkthroughs section */
@@ -40,7 +40,7 @@ registerAction2(class extends Action2 {
40
40
  constructor() {
41
41
  super({
42
42
  id: "workbench.action.openWalkthrough",
43
- title: ( localize2(15233, "Welcome")),
43
+ title: ( localize2(15369, "Welcome")),
44
44
  category: Categories.Help,
45
45
  f1: true,
46
46
  menu: {
@@ -49,7 +49,7 @@ registerAction2(class extends Action2 {
49
49
  order: 1
50
50
  },
51
51
  metadata: {
52
- description: ( localize2(15234, "Opens a Walkthrough to help you get started in VS Code."))
52
+ description: ( localize2(15370, "Opens a Walkthrough to help you get started in VS Code."))
53
53
  }
54
54
  });
55
55
  }
@@ -114,15 +114,15 @@ registerAction2(class extends Action2 {
114
114
  });
115
115
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(GettingStartedInput.ID, GettingStartedInputSerializer);
116
116
  ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
117
- EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(15235, "Welcome"))),
117
+ EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(15371, "Welcome"))),
118
118
  [( new SyncDescriptor(GettingStartedInput))]
119
119
  );
120
- const category = ( localize2(15235, "Welcome"));
120
+ const category = ( localize2(15371, "Welcome"));
121
121
  registerAction2(class extends Action2 {
122
122
  constructor() {
123
123
  super({
124
124
  id: "welcome.goBack",
125
- title: ( localize2(15236, "Go Back")),
125
+ title: ( localize2(15372, "Go Back")),
126
126
  category,
127
127
  keybinding: {
128
128
  weight: KeybindingWeight.EditorContrib,
@@ -157,7 +157,7 @@ registerAction2(class extends Action2 {
157
157
  constructor() {
158
158
  super({
159
159
  id: "welcome.markStepComplete",
160
- title: ( localize(15237, "Mark Step Complete")),
160
+ title: ( localize(15373, "Mark Step Complete")),
161
161
  category
162
162
  });
163
163
  }
@@ -173,7 +173,7 @@ registerAction2(class extends Action2 {
173
173
  constructor() {
174
174
  super({
175
175
  id: "welcome.markStepIncomplete",
176
- title: ( localize(15238, "Mark Step Incomplete")),
176
+ title: ( localize(15374, "Mark Step Incomplete")),
177
177
  category
178
178
  });
179
179
  }
@@ -189,7 +189,7 @@ registerAction2(class extends Action2 {
189
189
  constructor() {
190
190
  super({
191
191
  id: "welcome.showAllWalkthroughs",
192
- title: ( localize2(15239, "Open Walkthrough...")),
192
+ title: ( localize2(15375, "Open Walkthrough...")),
193
193
  category,
194
194
  f1: true,
195
195
  menu: {
@@ -219,7 +219,7 @@ registerAction2(class extends Action2 {
219
219
  quickPick.canSelectMany = false;
220
220
  quickPick.matchOnDescription = true;
221
221
  quickPick.matchOnDetail = true;
222
- quickPick.placeholder = ( localize(15240, "Select a walkthrough to open"));
222
+ quickPick.placeholder = ( localize(15376, "Select a walkthrough to open"));
223
223
  quickPick.items = await this.getQuickPickItems(contextService, gettingStartedService);
224
224
  quickPick.busy = true;
225
225
  disposables.add(quickPick.onDidAccept(() => {
@@ -250,7 +250,7 @@ CommandsRegistry.registerCommand({
250
250
  }
251
251
  });
252
252
  const WorkspacePlatform = ( new RawContextKey("workspacePlatform", undefined, ( localize(
253
- 15241,
253
+ 15377,
254
254
  "The platform of the current workspace, which in remote or serverless contexts may be different from the platform of the UI"
255
255
  ))));
256
256
  let WorkspacePlatformContribution = class WorkspacePlatformContribution {
@@ -292,7 +292,7 @@ configurationRegistry.registerConfiguration({
292
292
  type: "boolean",
293
293
  default: true,
294
294
  description: ( localize(
295
- 15242,
295
+ 15378,
296
296
  "When enabled, an extension's walkthrough will open upon install of the extension."
297
297
  ))
298
298
  },
@@ -308,22 +308,22 @@ configurationRegistry.registerConfiguration({
308
308
  "terminal",
309
309
  "agentSessionsWelcomePage"
310
310
  ],
311
- "enumDescriptions": [( localize(15243, "Start without an editor.")), ( localize(
312
- 15244,
311
+ "enumDescriptions": [( localize(15379, "Start without an editor.")), ( localize(
312
+ 15380,
313
313
  "Open the Welcome page, with content to aid in getting started with VS Code and extensions."
314
314
  )), ( localize(
315
- 15245,
315
+ 15381,
316
316
  "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."
317
317
  )), ( localize(
318
- 15246,
318
+ 15382,
319
319
  "Open a new untitled text file (only applies when opening an empty window)."
320
- )), ( localize(15247, "Open the Welcome page when opening an empty workbench.")), ( localize(15248, "Open a new terminal in the editor area.")), ( localize(
321
- 15249,
320
+ )), ( localize(15383, "Open the Welcome page when opening an empty workbench.")), ( localize(15384, "Open a new terminal in the editor area.")), ( localize(
321
+ 15385,
322
322
  "Open the Agent Sessions Welcome page. Will override the workbench secondary side bar visibility settings."
323
323
  ))],
324
324
  "default": "welcomePage",
325
325
  "description": ( localize(
326
- 15250,
326
+ 15386,
327
327
  "Controls which editor is shown at startup, if none are restored from the previous session."
328
328
  )),
329
329
  "experiment": {
@@ -334,8 +334,21 @@ configurationRegistry.registerConfiguration({
334
334
  scope: ConfigurationScope.APPLICATION,
335
335
  type: "boolean",
336
336
  default: false,
337
- deprecationMessage: ( localize(15251, "Deprecated, use the global `workbench.reduceMotion`.")),
338
- description: ( localize(15252, "When enabled, reduce motion in welcome page."))
337
+ deprecationMessage: ( localize(15387, "Deprecated, use the global `workbench.reduceMotion`.")),
338
+ description: ( localize(15388, "When enabled, reduce motion in welcome page."))
339
+ },
340
+ "workbench.welcomePage.experimentalOnboarding": {
341
+ scope: ConfigurationScope.APPLICATION,
342
+ type: "boolean",
343
+ default: false,
344
+ tags: ["experimental"],
345
+ description: ( localize(
346
+ 15389,
347
+ "When enabled, show the new onboarding experience instead of the classic walkthrough on first launch."
348
+ )),
349
+ experiment: {
350
+ mode: "auto"
351
+ }
339
352
  }
340
353
  }
341
354
  });