Skip to content

Commit f3e13c1

Browse files
authored
Merge branch 'main' into fix_sticky_tabs
2 parents 17d344a + 9e27503 commit f3e13c1

File tree

1,976 files changed

+67332
-39266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,976 files changed

+67332
-39266
lines changed

.devcontainer/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
# Code - OSS Development Container
22

3-
[![Open in Remote - Containers](https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode)
3+
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode)
44

55
This repository includes configuration for a development container for working with Code - OSS in a local container or using [GitHub Codespaces](https://github.com/features/codespaces).
66

77
> **Tip:** The default VNC password is `vscode`. The VNC server runs on port `5901` and a web client is available on port `6080`.
88
99
## Quick start - local
1010

11-
If you already have VS Code and Docker installed, you can click the badge above or [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. Clicking these links will cause VS Code to automatically install the Remote - Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
11+
If you already have VS Code and Docker installed, you can click the badge above or [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. Clicking these links will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
1212

1313
1. Install Docker Desktop or Docker for Linux on your local machine. (See [docs](https://aka.ms/vscode-remote/containers/getting-started) for additional details.)
1414

15-
2. **Important**: Docker needs at least **4 Cores and 8 GB of RAM** to run a full build. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
15+
2. **Important**: Docker needs at least **4 Cores and 8 GB of RAM** to run a full build with **9 GB of RAM** being recommended. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
1616

1717
> **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
1818
19-
3. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the [Remote - Containers](https://aka.ms/vscode-remote/download/containers) extension.
19+
3. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the [Dev Containers](https://aka.ms/vscode-remote/download/containers) extension.
2020

21-
![Image of Remote - Containers extension](https://microsoft.github.io/vscode-remote-release/images/remote-containers-extn.png)
21+
![Image of Dev Containers extension](https://microsoft.github.io/vscode-remote-release/images/dev-containers-extn.png)
2222

23-
> **Note:** The Remote - Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
23+
> **Note:** The Dev Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
2424
25-
4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Remote-Containers: Clone Repository in Container Volume...**.
25+
4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Dev Containers: Clone Repository in Container Volume...**.
2626

2727
> **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend the "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.
2828

.devcontainer/devcontainer.json

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66
"overrideCommand": false,
77
"runArgs": [ "--init", "--security-opt", "seccomp=unconfined", "--shm-size=1g"],
88

9-
"settings": {
10-
"resmon.show.battery": false,
11-
"resmon.show.cpufreq": false
9+
// VS Code extensions and settings
10+
"customizations": {
11+
"vscode": {
12+
"settings": {
13+
"resmon.show.battery": false,
14+
"resmon.show.cpufreq": false
15+
},
16+
"extensions": [
17+
"dbaeumer.vscode-eslint",
18+
"mutantdino.resourcemonitor"
19+
]
20+
}
1221
},
1322

1423
// noVNC, VNC
@@ -24,17 +33,12 @@
2433
}
2534
},
2635

27-
"extensions": [
28-
"dbaeumer.vscode-eslint",
29-
"mutantdino.resourcemonitor"
30-
],
31-
3236
// Optionally loads a cached yarn install for the repo
3337
"postCreateCommand": ".devcontainer/cache/restore-diff.sh",
3438

3539
"remoteUser": "node",
3640

3741
"hostRequirements": {
38-
"memory": "8gb"
42+
"memory": "9gb"
3943
}
4044
}

.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
**/extensions/css-language-features/server/test/pathCompletionFixtures/**
77
**/extensions/html-language-features/server/lib/jquery.d.ts
88
**/extensions/html-language-features/server/src/test/pathCompletionFixtures/**
9+
**/extensions/ipynb/notebook-out/**
910
**/extensions/markdown-language-features/media/**
1011
**/extensions/markdown-language-features/notebook-out/**
1112
**/extensions/markdown-math/notebook-out/**
@@ -27,4 +28,5 @@
2728
**/src/vs/base/test/common/filters.perf.data.js
2829
**/src/vs/loader.js
2930
**/test/unit/assert.js
31+
**/test/automation/out/**
3032
**/typings/**
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import * as eslint from 'eslint';
7+
8+
export = new class DeclareServiceBrand implements eslint.Rule.RuleModule {
9+
10+
readonly meta: eslint.Rule.RuleMetaData = {
11+
fixable: 'code'
12+
};
13+
14+
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
15+
return {
16+
['PropertyDefinition[key.name="_serviceBrand"][value]']: (node: any) => {
17+
return context.report({
18+
node,
19+
message: `The '_serviceBrand'-property should not have a value`,
20+
fix: (fixer) => {
21+
return fixer.replaceText(node, 'declare _serviceBrand: undefined;')
22+
}
23+
});
24+
}
25+
};
26+
}
27+
};

.eslintplugin/code-no-unexternalized-strings.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,27 @@ export = new class NoUnexternalizedStrings implements eslint.Rule.RuleModule {
8585
}
8686
}
8787

88+
function visitL10NCall(node: TSESTree.CallExpression) {
89+
90+
// localize(key, message)
91+
const [messageNode] = (<TSESTree.CallExpression>node).arguments;
92+
93+
// remove message-argument from doubleQuoted list and make
94+
// sure it is a string-literal
95+
if (isStringLiteral(messageNode)) {
96+
doubleQuotedStringLiterals.delete(messageNode);
97+
} else if (messageNode.type === AST_NODE_TYPES.ObjectExpression) {
98+
for (const prop of messageNode.properties) {
99+
if (prop.type === AST_NODE_TYPES.Property) {
100+
if (prop.key.type === AST_NODE_TYPES.Identifier && prop.key.name === 'message') {
101+
doubleQuotedStringLiterals.delete(prop.value);
102+
break;
103+
}
104+
}
105+
}
106+
}
107+
}
108+
88109
function reportBadStringsAndBadKeys() {
89110
// (1)
90111
// report all strings that are in double quotes
@@ -117,7 +138,16 @@ export = new class NoUnexternalizedStrings implements eslint.Rule.RuleModule {
117138
return {
118139
['Literal']: (node: any) => collectDoubleQuotedStrings(node),
119140
['ExpressionStatement[directive] Literal:exit']: (node: any) => doubleQuotedStringLiterals.delete(node),
141+
142+
// localize(...)
120143
['CallExpression[callee.type="MemberExpression"][callee.object.name="nls"][callee.property.name="localize"]:exit']: (node: any) => visitLocalizeCall(node),
144+
145+
// vscode.l10n.t(...)
146+
['CallExpression[callee.type="MemberExpression"][callee.object.property.name="l10n"][callee.property.name="t"]:exit']: (node: any) => visitL10NCall(node),
147+
148+
// l10n.t(...)
149+
['CallExpression[callee.object.name="l10n"][callee.property.name="t"]:exit']: (node: any) => visitL10NCall(node),
150+
121151
['CallExpression[callee.name="localize"][arguments.length>=2]:exit']: (node: any) => visitLocalizeCall(node),
122152
['Program:exit']: reportBadStringsAndBadKeys,
123153
};

.eslintrc.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"local/code-no-nls-in-standalone-editor": "warn",
7373
"local/code-no-standalone-editor": "warn",
7474
"local/code-no-unexternalized-strings": "warn",
75+
"local/code-declare-service-brand": "warn",
7576
"local/code-layering": [
7677
"warn",
7778
{
@@ -331,7 +332,7 @@
331332
"vs/base/parts/*/~",
332333
"vs/platform/*/~",
333334
"tas-client-umd", // node module allowed even in /common/
334-
"@microsoft/1ds-core-js",// node module allowed even in /common/
335+
"@microsoft/1ds-core-js", // node module allowed even in /common/
335336
"@microsoft/1ds-post-js" // node module allowed even in /common/
336337
]
337338
},
@@ -487,6 +488,14 @@
487488
{
488489
"when": "hasBrowser",
489490
"pattern": "vs/workbench/workbench.web.main"
491+
},
492+
{
493+
"when": "hasBrowser",
494+
"pattern": "vs/workbench/~"
495+
},
496+
{
497+
"when": "hasBrowser",
498+
"pattern": "vs/workbench/services/*/~"
490499
}
491500
]
492501
},

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ Does this issue occur when all extensions are disabled?: Yes/No
1313

1414
<!-- 🪓 If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. -->
1515
<!-- 📣 Issues caused by an extension need to be reported directly to the extension publisher. The 'Help > Report Issue' dialog can assist with this. -->
16-
- VS Code Version:
17-
- OS Version:
16+
- VS Code Version:
17+
- OS Version:
1818

1919
Steps to Reproduce:
2020

21-
1.
22-
2.
21+
1.
22+
2.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ contact_links:
33
- name: Question
44
url: https://stackoverflow.com/questions/tagged/visual-studio-code
55
about: Please ask and answer questions here.
6+
- name: Extension Development
7+
url: https://github.com/microsoft/vscode-discussions/discussions/5
8+
about: Please use this for extension development questions and ideas.

.github/classifier.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"labels": {
88
"L10N": {"assign": ["TylerLeonhardt", "csigs"]},
99
"VIM": {"assign": []},
10-
"accessibility": { "assign": ["isidorn"]},
10+
"accessibility": { "assign": ["meganrogge"]},
1111
"api": {"assign": ["jrieken"]},
1212
"api-finalization": {"assign": []},
1313
"api-proposal": {"assign": ["jrieken"]},
@@ -18,7 +18,7 @@
1818
"callhierarchy": {"assign": ["jrieken"]},
1919
"code-lens": {"assign": ["jrieken"]},
2020
"color-palette": {"assign": []},
21-
"comments": {"assign": ["rebornix"]},
21+
"comments": {"assign": ["alexr00"]},
2222
"config": {"assign": ["sandy081"]},
2323
"context-keys": {"assign": []},
2424
"css-less-scss": {"assign": ["aeschli"]},
@@ -58,6 +58,7 @@
5858
"editor-scrollbar": {"assign": ["alexdima"]},
5959
"editor-symbols": {"assign": ["jrieken"]},
6060
"editor-synced-region": {"assign": ["aeschli"]},
61+
"editor-sticky-scroll": {"assign": ["jrieken"]},
6162
"editor-textbuffer": {"assign": ["alexdima", "rebornix"]},
6263
"editor-theming": {"assign": ["alexdima"]},
6364
"editor-wordnav": {"assign": ["alexdima"]},

.github/commands.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@
451451
],
452452
"action": "comment",
453453
"addLabel": "info-needed",
454-
"comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.\n\nIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette).\n\nHappy coding!"
454+
"comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.\n\nIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.\n\nHappy coding!"
455455
},
456456
{
457457
"__comment__": "Allows folks on the team to label issues by commenting: `\\label My-Label` ",

0 commit comments

Comments
 (0)