Skip to content

Commit 59e1540

Browse files
committed
Merge remote-tracking branch 'origin/aamunger/scratchpadHotExit' into aamunger/scratchpadHotExit
2 parents b4940e6 + df4e852 commit 59e1540

File tree

21 files changed

+628
-193
lines changed

21 files changed

+628
-193
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
2+
# Reference: https://github.com/microsoft/vscode/wiki/How-to-Contribute
3+
properties:
4+
resources:
5+
- resource: Microsoft.WinGet.DSC/WinGetPackage
6+
directives:
7+
description: Install Git
8+
allowPrerelease: true
9+
settings:
10+
id: Git.Git
11+
source: winget
12+
- resource: Microsoft.WinGet.DSC/WinGetPackage
13+
id: npm
14+
directives:
15+
description: Install NodeJS version >=16.17.x and <17
16+
allowPrerelease: true
17+
settings:
18+
id: OpenJS.NodeJS.LTS
19+
version: "16.20.0"
20+
source: winget
21+
- resource: NpmDsc/NpmPackage
22+
id: yarn
23+
dependsOn:
24+
- npm
25+
directives:
26+
description: Install Yarn
27+
allowPrerelease: true
28+
settings:
29+
Name: 'yarn'
30+
Global: true
31+
- resource: Microsoft.WinGet.DSC/WinGetPackage
32+
directives:
33+
description: Install Python 3.10
34+
allowPrerelease: true
35+
settings:
36+
id: Python.Python.3.10
37+
source: winget
38+
- resource: Microsoft.WinGet.DSC/WinGetPackage
39+
id: vsPackage
40+
directives:
41+
description: Install Visual Studio 2022 (any edition is OK)
42+
allowPrerelease: true
43+
settings:
44+
id: Microsoft.VisualStudio.2022.BuildTools
45+
source: winget
46+
- resource: Microsoft.VisualStudio.DSC/VSComponents
47+
dependsOn:
48+
- vsPackage
49+
directives:
50+
description: Install required VS workloads
51+
allowPrerelease: true
52+
settings:
53+
productId: Microsoft.VisualStudio.Product.BuildTools
54+
channelId: VisualStudio.17.Release
55+
includeRecommended: true
56+
components:
57+
- Microsoft.VisualStudio.Workload.VCTools
58+
configurationVersion: 0.2.0

build/lib/i18n.resources.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,10 @@
290290
"name": "vs/workbench/contrib/welcomeWalkthrough",
291291
"project": "vscode-workbench"
292292
},
293+
{
294+
"name": "vs/workbench/contrib/welcomeDialog",
295+
"project": "vscode-workbench"
296+
},
293297
{
294298
"name": "vs/workbench/contrib/outline",
295299
"project": "vscode-workbench"

src/vs/base/browser/ui/selectBox/selectBoxCustom.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi
742742
return label;
743743
},
744744
getWidgetAriaLabel: () => localize({ key: 'selectBox', comment: ['Behave like native select dropdown element.'] }, "Select Box"),
745-
getRole: () => 'option',
745+
getRole: () => isMacintosh ? '' : 'option',
746746
getWidgetRole: () => 'listbox'
747747
}
748748
});

src/vs/base/common/product.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@ export interface IProductConfiguration {
191191
readonly 'editSessions.store'?: Omit<ConfigurationSyncStore, 'insidersUrl' | 'stableUrl'>;
192192
readonly darwinUniversalAssetId?: string;
193193
readonly profileTemplatesUrl?: string;
194+
195+
readonly commonlyUsedSettings?: string[];
194196
}
195197

196198
export interface ITunnelApplicationConfig {
@@ -201,6 +203,11 @@ export interface ITunnelApplicationConfig {
201203

202204
export interface IExtensionRecommendations {
203205
readonly onFileOpen: IFileOpenCondition[];
206+
readonly onSettingsEditorOpen?: ISettingsEditorOpenCondition;
207+
}
208+
209+
export interface ISettingsEditorOpenCondition {
210+
readonly prerelease: boolean | string;
204211
}
205212

206213
export interface IExtensionRecommendationCondition {

src/vs/workbench/browser/web.api.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ export interface IWorkbenchConstructionOptions {
343343
readonly initialColorTheme?: IInitialColorTheme;
344344

345345
/**
346-
* Welcome view dialog on first launch. Can be dismissed by the user.
346+
* Welcome dialog. Can be dismissed by the user.
347347
*/
348348
readonly welcomeDialog?: IWelcomeDialog;
349349

@@ -639,14 +639,24 @@ export interface IWelcomeDialog {
639639
buttonText: string;
640640

641641
/**
642-
* Message text and icon for the welcome dialog.
642+
* Button command to execute from the welcome dialog.
643643
*/
644-
messages: { message: string; icon: string }[];
644+
buttonCommand: string;
645645

646646
/**
647-
* Optional action to appear as links at the bottom of the welcome dialog.
647+
* Message text for the welcome dialog.
648648
*/
649-
action?: IWelcomeLinkAction;
649+
message: string;
650+
651+
/**
652+
* Context key expression to control the visibility of the welcome dialog.
653+
*/
654+
when: string;
655+
656+
/**
657+
* Media to include in the welcome dialog.
658+
*/
659+
media: { altText: string; path: string };
650660
}
651661

652662
export interface IDefaultView {

src/vs/workbench/contrib/accessibility/browser/accessibilityContribution.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ export const enum AccessibilityVerbositySettingId {
1111
Terminal = 'accessibility.verbosity.terminal',
1212
DiffEditor = 'accessibility.verbosity.diff-editor',
1313
Chat = 'accessibility.verbosity.chat',
14-
InteractiveEditor = 'accessibility.verbosity.interactiveEditor'
14+
InteractiveEditor = 'accessibility.verbosity.interactiveEditor',
15+
KeybindingsEditor = 'accessibility.verbosity.keybindingsEditor'
1516
}
1617

1718
const configuration: IConfigurationNode = {
@@ -42,6 +43,12 @@ const configuration: IConfigurationNode = {
4243
type: 'boolean',
4344
default: true,
4445
tags: ['accessibility']
46+
},
47+
[AccessibilityVerbositySettingId.KeybindingsEditor]: {
48+
description: localize('verbosity.keybindingsEditor.description', 'Provide information about how to change a keybinding in the keybindings editor when a row is focused'),
49+
type: 'boolean',
50+
default: true,
51+
tags: ['accessibility']
4552
}
4653
}
4754
};

src/vs/workbench/contrib/preferences/browser/keybindingsEditor.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ import { isString } from 'vs/base/common/types';
5454
import { SuggestEnabledInput } from 'vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput';
5555
import { CompletionItemKind } from 'vs/editor/common/languages';
5656
import { settingsTextInputBorder } from 'vs/workbench/contrib/preferences/common/settingsEditorColorRegistry';
57+
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
58+
import { AccessibilityVerbositySettingId } from 'vs/workbench/contrib/accessibility/browser/accessibilityContribution';
5759

5860
const $ = DOM.$;
5961

@@ -112,7 +114,8 @@ export class KeybindingsEditor extends EditorPane implements IKeybindingsEditorP
112114
@IClipboardService private readonly clipboardService: IClipboardService,
113115
@IInstantiationService private readonly instantiationService: IInstantiationService,
114116
@IEditorService private readonly editorService: IEditorService,
115-
@IStorageService storageService: IStorageService
117+
@IStorageService storageService: IStorageService,
118+
@IConfigurationService private readonly configurationService: IConfigurationService
116119
) {
117120
super(KeybindingsEditor.ID, telemetryService, themeService, storageService);
118121
this.delayedFiltering = new Delayer<void>(300);
@@ -474,7 +477,7 @@ export class KeybindingsEditor extends EditorPane implements IKeybindingsEditorP
474477
{
475478
identityProvider: { getId: (e: IKeybindingItemEntry) => e.id },
476479
horizontalScrolling: false,
477-
accessibilityProvider: new AccessibilityProvider(),
480+
accessibilityProvider: new AccessibilityProvider(this.configurationService),
478481
keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: (e: IKeybindingItemEntry) => e.keybindingItem.commandLabel || e.keybindingItem.command },
479482
overrideStyles: {
480483
listBackground: editorBackground
@@ -1178,6 +1181,8 @@ class WhenColumnRenderer implements ITableRenderer<IKeybindingItemEntry, IWhenCo
11781181

11791182
class AccessibilityProvider implements IListAccessibilityProvider<IKeybindingItemEntry> {
11801183

1184+
constructor(private readonly configurationService: IConfigurationService) { }
1185+
11811186
getWidgetAriaLabel(): string {
11821187
return localize('keybindingsLabel', "Keybindings");
11831188
}
@@ -1187,6 +1192,7 @@ class AccessibilityProvider implements IListAccessibilityProvider<IKeybindingIte
11871192
ariaLabel += ', ' + (keybindingItemEntry.keybindingItem.keybinding?.getAriaLabel() || localize('noKeybinding', "No Keybinding assigned."));
11881193
ariaLabel += ', ' + keybindingItemEntry.keybindingItem.when ? keybindingItemEntry.keybindingItem.when : localize('noWhen', "No when context.");
11891194
ariaLabel += ', ' + (isString(keybindingItemEntry.keybindingItem.source) ? keybindingItemEntry.keybindingItem.source : keybindingItemEntry.keybindingItem.source.description ?? keybindingItemEntry.keybindingItem.source.identifier.value);
1195+
ariaLabel += this.configurationService.getValue(AccessibilityVerbositySettingId.KeybindingsEditor) ? localize('keyboard shortcuts arial label', ", use space or enter to change the keybinding.") : '';
11901196
return ariaLabel;
11911197
}
11921198
}

src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,11 @@
160160
color: var(--vscode-settings-headerForeground);
161161
}
162162

163+
.settings-editor > .settings-body .settings-tree-container .setting-item-extension-toggle .setting-item-extension-toggle-button {
164+
display: block;
165+
width: fit-content;
166+
}
167+
163168
.settings-editor.no-results > .settings-body .settings-toc-container,
164169
.settings-editor.no-results > .settings-body .settings-tree-container {
165170
display: none;
@@ -481,6 +486,7 @@
481486
.settings-editor > .settings-body .settings-tree-container .setting-item.setting-item-number input[type=number] {
482487
/* Hide arrow button that shows in type=number fields */
483488
-moz-appearance: textfield !important;
489+
appearance: textfield !important;
484490
}
485491

486492
.settings-editor > .settings-body .settings-tree-container .setting-item-contents .setting-item-markdown * {
@@ -556,7 +562,7 @@
556562
padding: 0px;
557563
}
558564

559-
.settings-editor > .settings-body .settings-tree-container .setting-item-bool .setting-value-checkbox.codicon:not(.checked)::before {
565+
.settings-editor > .settings-body .settings-tree-container .setting-item-bool .setting-value-checkbox.codicon:not(.checked)::before {
560566
opacity: 0;
561567
}
562568

0 commit comments

Comments
 (0)