diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000000..342327bb71
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,8 @@
+FROM mcr.microsoft.com/vscode/devcontainers/base:0-debian-10
+
+# Install Git LFS, add a locale
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive \
+ && apt-get install -yq git-lfs \
+ && git lfs install \
+ && apt-get clean -y && rm -rf /var/lib/apt/lists/*
+
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000000..76ff0edc75
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,16 @@
+// For format details, see https://aka.ms/vscode-remote/devcontainer.json
+{
+ "name": "VS Code Docs",
+ "dockerFile": "Dockerfile",
+ "settings": {
+ "terminal.integrated.defaultProfile.linux": "zsh"
+ },
+ "extensions": [
+ "yzhang.markdown-all-in-one",
+ "streetsidesoftware.code-spell-checker",
+ "DavidAnson.vscode-markdownlint",
+ "bierner.github-markdown-preview",
+ "github.vscode-pull-request-github"
+ ],
+ "remoteUser": "vscode"
+}
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..627d167194
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,5 @@
+root = true
+
+[*]
+end_of_line = lf
+trim_trailing_whitespace = true
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000000..f6e5e8ac0c
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,17 @@
+{
+ "env": {
+ "browser": true,
+ "commonjs": true,
+ "es6": true,
+ "node": true,
+ "jquery": true
+ },
+ "extends": [
+ "plugin:security/recommended"
+ ],
+ "parserOptions": {
+ "ecmaVersion": 6,
+ "sourceType": "module"
+ },
+ "root": true
+}
diff --git a/.husky/post-checkout b/.husky/post-checkout
new file mode 100644
index 0000000000..ca7fcb4008
--- /dev/null
+++ b/.husky/post-checkout
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; }
+git lfs post-checkout "$@"
diff --git a/.husky/post-commit b/.husky/post-commit
new file mode 100644
index 0000000000..52b339cb3f
--- /dev/null
+++ b/.husky/post-commit
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; }
+git lfs post-commit "$@"
diff --git a/.husky/post-merge b/.husky/post-merge
new file mode 100644
index 0000000000..a912e667aa
--- /dev/null
+++ b/.husky/post-merge
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; }
+git lfs post-merge "$@"
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000000..2e7d871853
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+./node_modules/.bin/lint-staged
\ No newline at end of file
diff --git a/.husky/pre-push b/.husky/pre-push
new file mode 100644
index 0000000000..0f0089bc25
--- /dev/null
+++ b/.husky/pre-push
@@ -0,0 +1,3 @@
+#!/bin/sh
+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; }
+git lfs pre-push "$@"
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000000..8404996f3c
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,2 @@
+# Ignore all Markdown files:
+*.md
\ No newline at end of file
diff --git a/.vscode/release-notes-snippets.code-snippets b/.vscode/release-notes-snippets.code-snippets
new file mode 100644
index 0000000000..f95b85ce0a
--- /dev/null
+++ b/.vscode/release-notes-snippets.code-snippets
@@ -0,0 +1,17 @@
+{
+ // Place your vscode-docs workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
+ // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
+ // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
+ // used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
+ // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
+ // Placeholders with the same ids are connected.
+ // Example:
+ "code-setting": {
+ "scope": "markdown",
+ "prefix": "setting",
+ "body": [
+ "$1"
+ ],
+ "description": "Interactive VS Code Setting"
+ }
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..428c99b7c7
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,29 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+ "git.branchProtection": [
+ "main"
+ ],
+ "git.branchProtectionPrompt": "alwaysCommitToNewBranch",
+ "editor.wordWrap": "on",
+ "files.eol": "\n",
+ "files.trimTrailingWhitespace": true,
+ "files.associations": {
+ "**/toc.json": "jsonc"
+ },
+ "markdown.validate.enabled": true,
+ "markdown.validate.ignoredLinks": [
+ "/Download",
+ "/insiders"
+ ],
+ "markdown.copyFiles.destination": {
+ // /release-notes/v123.md -> /release-notes/images/123/img.png
+ "/release-notes/**/*": "/release-notes/images/${documentBaseName/v(.*)/$1/}/",
+
+ // Put into 'images' directory next to file
+ "/api/**/*": "images/${documentBaseName}/"
+ },
+ "editor.codeActionsOnSave": {
+ "source.organizeLinkDefinitions": "explicit"
+ },
+ "markdown.editor.filePaste.videoSnippet": ""
+}
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000000..8779195d3f
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,6 @@
+Copyright (c) Microsoft Corporation. All rights reserved. Distributed under the following terms:
+
+1. Documentation is licensed under the [Creative Commons Attribution 3.0 United States License](https://creativecommons.org/licenses/by/3.0/us/legalcode). Code is licensed under the [MIT License](https://opensource.org/licenses/MIT).
+
+2. This license does not grant you rights to use any trademarks or logos of Microsoft. For Microsoft’s general trademark guidelines, go to https://go.microsoft.com/fwlink/?LinkID=254653.
+
diff --git a/api/.prettierrc.json b/api/.prettierrc.json
new file mode 100644
index 0000000000..52f9dcba6b
--- /dev/null
+++ b/api/.prettierrc.json
@@ -0,0 +1,5 @@
+{
+ "printWidth": 92,
+ "tabWidth": 2,
+ "singleQuote": true
+}
\ No newline at end of file
diff --git a/api/advanced-topics/extension-host.md b/api/advanced-topics/extension-host.md
index d9f39152f2..8f1b3375bd 100644
--- a/api/advanced-topics/extension-host.md
+++ b/api/advanced-topics/extension-host.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 106AA11C-DB26-493A-9E3C-16F513B2AEC8
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: The Visual Studio Code Extension Host is responsible for managing extensions and ensuring the stability and performance of Visual Studio Code.
diff --git a/api/advanced-topics/remote-extensions.md b/api/advanced-topics/remote-extensions.md
index bc8ed5fefc..45b0cea3e5 100644
--- a/api/advanced-topics/remote-extensions.md
+++ b/api/advanced-topics/remote-extensions.md
@@ -1,6 +1,6 @@
---
ContentId: 5c708951-e566-42db-9d97-e9715d95cdd1
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to adding Visual Studio Code Remote Development and GitHub Codespaces support to extensions
diff --git a/api/advanced-topics/tslint-eslint-migration.md b/api/advanced-topics/tslint-eslint-migration.md
index 79b4d5180f..8fd5772376 100644
--- a/api/advanced-topics/tslint-eslint-migration.md
+++ b/api/advanced-topics/tslint-eslint-migration.md
@@ -1,6 +1,6 @@
---
ContentId: f00c4913-58e3-4a61-aa42-e769c3430906
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to migrating extension projects from the TSLint linter to ESLint.
diff --git a/api/advanced-topics/using-proposed-api.md b/api/advanced-topics/using-proposed-api.md
index 502b6db18f..5fc74d88aa 100644
--- a/api/advanced-topics/using-proposed-api.md
+++ b/api/advanced-topics/using-proposed-api.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: f4d4e9e0-8901-405c-aaf5-faa16c32588b
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Use Visual Studio Code's Proposed API
diff --git a/api/extension-capabilities/common-capabilities.md b/api/extension-capabilities/common-capabilities.md
index e158c1a61c..4946f614a8 100644
--- a/api/extension-capabilities/common-capabilities.md
+++ b/api/extension-capabilities/common-capabilities.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 9c48dfbf-e49d-4f33-aadc-5ebf06d5dde0
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Common capabilities that Visual Studio Code extensions (plug-ins) can take advantage of
diff --git a/api/extension-capabilities/extending-workbench.md b/api/extension-capabilities/extending-workbench.md
index e9fe9c6ba3..1019559a49 100644
--- a/api/extension-capabilities/extending-workbench.md
+++ b/api/extension-capabilities/extending-workbench.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: e0d5bd37-f020-4235-ad81-c977baaeb24f
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Explain how to extend Visual Studio Code's workbench area with custom UI components
diff --git a/api/extension-capabilities/overview.md b/api/extension-capabilities/overview.md
index 9ed8b75699..fa5852937b 100644
--- a/api/extension-capabilities/overview.md
+++ b/api/extension-capabilities/overview.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: d22675fc-6609-43f2-a66b-8f2a52597195
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn the details of what's possible with Visual Studio Code's rich extension (plug-in) API.
diff --git a/api/extension-capabilities/theming.md b/api/extension-capabilities/theming.md
index d8c6133dc7..2a90ab2bdd 100644
--- a/api/extension-capabilities/theming.md
+++ b/api/extension-capabilities/theming.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 37b6ae0a-d1b5-48b6-9bd4-9b50ef11d573
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to add custom themes for colors and icons in Visual Studio Code.
diff --git a/api/extension-guides/chat.md b/api/extension-guides/chat.md
index d208bf1a99..a0b776230a 100644
--- a/api/extension-guides/chat.md
+++ b/api/extension-guides/chat.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: ac3f00c8-78a8-408c-8af6-3e997a482972
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to creating an AI extension in Visual Studio Code
diff --git a/api/extension-guides/color-theme.md b/api/extension-guides/color-theme.md
index 0779087a98..8220e7e575 100644
--- a/api/extension-guides/color-theme.md
+++ b/api/extension-guides/color-theme.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 113b458a-3692-4ccf-a181-048bd572a120
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to creating Color Theme in Visual Studio Code
diff --git a/api/extension-guides/command.md b/api/extension-guides/command.md
index ff16e6486a..458adefbf9 100644
--- a/api/extension-guides/command.md
+++ b/api/extension-guides/command.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 995c7085-5fc0-44e0-a171-30a759c0b7da
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to using commands programmatically in Visual Studio Code extensions (plug-ins)
diff --git a/api/extension-guides/custom-data-extension.md b/api/extension-guides/custom-data-extension.md
index 51bee1d38c..c4315ad73e 100644
--- a/api/extension-guides/custom-data-extension.md
+++ b/api/extension-guides/custom-data-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: d40b8849-6a4e-428c-b463-c8d61f18136f
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to extend Visual Studio Code's HTML and CSS language support.
diff --git a/api/extension-guides/custom-editors.md b/api/extension-guides/custom-editors.md
index 4b25e5212c..f32472624c 100644
--- a/api/extension-guides/custom-editors.md
+++ b/api/extension-guides/custom-editors.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 6eb86aa4-0f4c-4168-b34a-6ec6b204e960
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Use the Custom Editor API to create customizable editors within Visual Studio Code.
diff --git a/api/extension-guides/debugger-extension.md b/api/extension-guides/debugger-extension.md
index b969077744..bebc4f38e7 100644
--- a/api/extension-guides/debugger-extension.md
+++ b/api/extension-guides/debugger-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 49EF49AD-8BE6-4D46-ADC8-D678BDC04E85
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to provide debugger extensions (plug-ins) for Visual Studio Code through a Debug Adapter.
diff --git a/api/extension-guides/file-icon-theme.md b/api/extension-guides/file-icon-theme.md
index fff9efa217..94c02ca2e4 100644
--- a/api/extension-guides/file-icon-theme.md
+++ b/api/extension-guides/file-icon-theme.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: f470466d-89b0-4115-ab7a-2448023b0a6d
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to creating a File Icon Theme in Visual Studio Code
diff --git a/api/extension-guides/images/webview/retainContextWhenHidden.gif b/api/extension-guides/images/webview/retainContextWhenHidden.gif
index e8da9b2867..e115197665 100644
--- a/api/extension-guides/images/webview/retainContextWhenHidden.gif
+++ b/api/extension-guides/images/webview/retainContextWhenHidden.gif
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4e8c2d59009ad2dc08c9780ea2734b029f27a98265ba6ba197ef544f0918dd15
-size 1443170
+oid sha256:2783f4f0d013697e96d444629c2998517ead5e4743645db8dced64b7e67b71de
+size 2632449
diff --git a/api/extension-guides/language-model.md b/api/extension-guides/language-model.md
index 993a46c2c7..7c366994b8 100644
--- a/api/extension-guides/language-model.md
+++ b/api/extension-guides/language-model.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 9bdc3d4e-e6ba-43d3-bd09-2e127cb63ce7
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to adding AI-powered features to a VS Code extension by using language models and natural language understanding.
diff --git a/api/extension-guides/markdown-extension.md b/api/extension-guides/markdown-extension.md
index d3739491ac..4c9fd31fa1 100644
--- a/api/extension-guides/markdown-extension.md
+++ b/api/extension-guides/markdown-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 1664249a-ba7a-4a53-b3f0-9d757cff7d27
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to extend Visual Studio Code's built-in Markdown preview.
diff --git a/api/extension-guides/notebook.md b/api/extension-guides/notebook.md
index 1000c27660..8e508c4ead 100644
--- a/api/extension-guides/notebook.md
+++ b/api/extension-guides/notebook.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 535b4d05-c2c8-424a-b075-2cd91566b8da
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Use the Notebook API to create rich Notebook experiences within Visual Studio Code.
diff --git a/api/extension-guides/overview.md b/api/extension-guides/overview.md
index 4d1879bda9..a1f43096e3 100644
--- a/api/extension-guides/overview.md
+++ b/api/extension-guides/overview.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: B32601A8-27ED-4D97-BA83-F1C8C945C635
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn from Visual Studio Code extension guides and code samples
diff --git a/api/extension-guides/product-icon-theme.md b/api/extension-guides/product-icon-theme.md
index 05b3fd91e5..bbf3de4483 100644
--- a/api/extension-guides/product-icon-theme.md
+++ b/api/extension-guides/product-icon-theme.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: f470466d-89b0-4115-ab7a-2448023b0a6d
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to creating Product Icon Theme in Visual Studio Code
diff --git a/api/extension-guides/scm-provider.md b/api/extension-guides/scm-provider.md
index 302a20cc1c..20a7188c1a 100644
--- a/api/extension-guides/scm-provider.md
+++ b/api/extension-guides/scm-provider.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 79996489-8D16-4C0A-8BE8-FF4B1E9C223A
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide illustrating how to use Source Control API.
diff --git a/api/extension-guides/task-provider.md b/api/extension-guides/task-provider.md
index 128dd82de0..38f30884fe 100644
--- a/api/extension-guides/task-provider.md
+++ b/api/extension-guides/task-provider.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 49744351-83ef-4ef6-99e7-2485e6e9c79f
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to contribute tasks to Visual Studio Code through an extension (plug-in).
diff --git a/api/extension-guides/telemetry.md b/api/extension-guides/telemetry.md
index 9f692c25c8..df058e1d90 100644
--- a/api/extension-guides/telemetry.md
+++ b/api/extension-guides/telemetry.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: b31344d9-a1d9-4f87-82df-9c7151ef99e3
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how Visual Studio Code extensions can enable telemetry and respect user telemetry choices.
diff --git a/api/extension-guides/testing.md b/api/extension-guides/testing.md
index 03fa3f3e84..f2d988b9fa 100644
--- a/api/extension-guides/testing.md
+++ b/api/extension-guides/testing.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 4ced0b2a-3f5a-44e6-a8b0-66b9012af8c0
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Testing APIs in VS Code allow users to discover and run unit tests in their workspace
diff --git a/api/extension-guides/tree-view.md b/api/extension-guides/tree-view.md
index 3407b8924d..53875b02cd 100644
--- a/api/extension-guides/tree-view.md
+++ b/api/extension-guides/tree-view.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 9b10cda2-4eb0-4989-8f82-23a46b96c1bb
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to using Tree View in Visual Studio Code extension (plug-in).
diff --git a/api/extension-guides/virtual-documents.md b/api/extension-guides/virtual-documents.md
index 3c39e9e7be..9da44fb75b 100644
--- a/api/extension-guides/virtual-documents.md
+++ b/api/extension-guides/virtual-documents.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 54fdcc33-7ad1-40cc-bc87-ded1841d01ad
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to using Virtual Documents in Visual Studio Code extensions (plug-ins)
diff --git a/api/extension-guides/virtual-workspaces.md b/api/extension-guides/virtual-workspaces.md
index d582635f33..d0adc60245 100644
--- a/api/extension-guides/virtual-workspaces.md
+++ b/api/extension-guides/virtual-workspaces.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: c64264b1-09cd-4680-b0dc-9f0f7803e451
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to support virtual workspaces in extensions
diff --git a/api/extension-guides/web-extensions.md b/api/extension-guides/web-extensions.md
index 77a18ed0db..db5882e39d 100644
--- a/api/extension-guides/web-extensions.md
+++ b/api/extension-guides/web-extensions.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 282670bb-cc72-4b01-9b51-08bf8f5a13a1
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to run extensions in Visual Studio Code for the web and the web extension host.
diff --git a/api/extension-guides/webview.md b/api/extension-guides/webview.md
index 4a929e4917..114f500b43 100644
--- a/api/extension-guides/webview.md
+++ b/api/extension-guides/webview.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: adddd33e-2de6-4146-853b-34d0d7e6c1f1
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Use the Webview API to create fully customizable views within Visual Studio Code.
diff --git a/api/extension-guides/workspace-trust.md b/api/extension-guides/workspace-trust.md
index 32a050f808..9bb90e95c6 100644
--- a/api/extension-guides/workspace-trust.md
+++ b/api/extension-guides/workspace-trust.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 31f461b7-c216-414a-b701-78c205fde8a8
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide for updating Visual Studio Code extensions to support Workspace Trust
diff --git a/api/get-started/extension-anatomy.md b/api/get-started/extension-anatomy.md
index 51c3b7f92e..c8392b62da 100644
--- a/api/get-started/extension-anatomy.md
+++ b/api/get-started/extension-anatomy.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8027f6fb-6c9e-4106-8ef1-f9b0ba1b7085
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Explain the structure of a Visual Studio Code extension (plug-in)
diff --git a/api/get-started/wrapping-up.md b/api/get-started/wrapping-up.md
index a52140ea3a..ec2f695a70 100644
--- a/api/get-started/wrapping-up.md
+++ b/api/get-started/wrapping-up.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: a15875fa-19b5-4c11-8903-864af133ce57
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Next steps to take after studying the Getting Started section
diff --git a/api/get-started/your-first-extension.md b/api/get-started/your-first-extension.md
index 6cff3a0980..63500a8b2e 100644
--- a/api/get-started/your-first-extension.md
+++ b/api/get-started/your-first-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: DC915D6C-13D4-4022-9101-57C4A4118B07
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Create your first Visual Studio Code extension (plug-in) with a simple Hello World example.
diff --git a/api/index.md b/api/index.md
index 93797390e8..8f7e85f0af 100644
--- a/api/index.md
+++ b/api/index.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: AD26EFB1-FFC6-4284-BAB8-F3BCB8294728
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Visual Studio Code has a rich extension API. Learn how to create your own extensions for VS Code.
diff --git a/api/language-extensions/embedded-languages.md b/api/language-extensions/embedded-languages.md
index c40a20b423..bf6b31e896 100644
--- a/api/language-extensions/embedded-languages.md
+++ b/api/language-extensions/embedded-languages.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: b76a223a-a210-4bdb-b537-36c1ea6814ae
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to create Language Servers to provide rich language features for embedded programming languages in Visual Studio Code.
diff --git a/api/language-extensions/language-configuration-guide.md b/api/language-extensions/language-configuration-guide.md
index bdd852c424..16f8b2af03 100644
--- a/api/language-extensions/language-configuration-guide.md
+++ b/api/language-extensions/language-configuration-guide.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: cd928e7f-bb5a-43b0-8e15-d398e416386d
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to configure language support for any language in Visual Studio Code.
diff --git a/api/language-extensions/language-server-extension-guide.md b/api/language-extensions/language-server-extension-guide.md
index f45cae3240..3bb0ab77e8 100644
--- a/api/language-extensions/language-server-extension-guide.md
+++ b/api/language-extensions/language-server-extension-guide.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: A8CBE8D6-1FEE-47BF-B81E-D79FA0DB5D03
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to create Language Servers to provide rich language features in Visual Studio Code.
diff --git a/api/language-extensions/overview.md b/api/language-extensions/overview.md
index 6b533c0c8a..851034182a 100644
--- a/api/language-extensions/overview.md
+++ b/api/language-extensions/overview.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8b70dba5-f71d-46dd-8da1-f5d44b9a6a96
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to write a Language Extension (plug-in) to add support for a programming language in Visual Studio Code.
diff --git a/api/language-extensions/programmatic-language-features.md b/api/language-extensions/programmatic-language-features.md
index ac68746706..4afc88a02f 100644
--- a/api/language-extensions/programmatic-language-features.md
+++ b/api/language-extensions/programmatic-language-features.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: A9D40038-7837-4320-8C2D-E0CA5769AA69
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Visual Studio Code language extensions contribute programming language features. These guidelines present the language features available in Visual Studio Code and explain the API.
diff --git a/api/language-extensions/semantic-highlight-guide.md b/api/language-extensions/semantic-highlight-guide.md
index e31a6cdedf..4e9c751c56 100644
--- a/api/language-extensions/semantic-highlight-guide.md
+++ b/api/language-extensions/semantic-highlight-guide.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8308017a-75de-430a-b420-d9d2064162b9
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to syntax highlighting
diff --git a/api/language-extensions/snippet-guide.md b/api/language-extensions/snippet-guide.md
index 5c22717ba0..b1f58b3fb1 100644
--- a/api/language-extensions/snippet-guide.md
+++ b/api/language-extensions/snippet-guide.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 4b24790b-781a-43cc-afe6-58b1d57d6163
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to bundle snippets into an extension (plug-in) for Visual Studio Code
diff --git a/api/language-extensions/syntax-highlight-guide.md b/api/language-extensions/syntax-highlight-guide.md
index ae0003624e..a46e44fc12 100644
--- a/api/language-extensions/syntax-highlight-guide.md
+++ b/api/language-extensions/syntax-highlight-guide.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 2bb06188-d394-4b98-872c-0bf26c8a674d
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: A guide to syntax highlighting
diff --git a/api/references/activation-events.md b/api/references/activation-events.md
index a2e0cf63e9..5ae6688b48 100644
--- a/api/references/activation-events.md
+++ b/api/references/activation-events.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: C83BB647-A37E-45CE-BA4C-837B397C2ABE
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: To support lazy activation of Visual Studio Code extensions (plug-ins), your extension controls when it should be loaded through a set of Activation Events.
diff --git a/api/references/commands.md b/api/references/commands.md
index 923fb2197c..ccd7fc0b57 100644
--- a/api/references/commands.md
+++ b/api/references/commands.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: A010AEDF-EF37-406E-96F5-E129408FFDE1
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Visual Studio Code built-in commands reference.
diff --git a/api/references/contribution-points.md b/api/references/contribution-points.md
index 8018d85ba7..ada3f28d94 100644
--- a/api/references/contribution-points.md
+++ b/api/references/contribution-points.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 2F27A240-8E36-4CC2-973C-9A1D8069F83F
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: To extend Visual Studio Code, your extension (plug-in) declares which of the various Contribution Points it is using in its package.json Extension Manifest file.
diff --git a/api/references/document-selector.md b/api/references/document-selector.md
index 2e91893a25..ed17e8b14c 100644
--- a/api/references/document-selector.md
+++ b/api/references/document-selector.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: f328d7e0-8982-4510-b7fb-975188eca502
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Visual Studio Code extensions can filter their features based on Document Selectors by language, file type, and location.
diff --git a/api/references/extension-manifest.md b/api/references/extension-manifest.md
index adc738c84d..34fa789454 100644
--- a/api/references/extension-manifest.md
+++ b/api/references/extension-manifest.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: C4F184A5-A804-4B0B-9EBA-AFE83B88EE49
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: At the core of Visual Studio Code's extensibility model is an extension (plug-in) manifest file where your extension declares its extension type(s), activation rules, and runtime resources.
diff --git a/api/references/icons-in-labels.md b/api/references/icons-in-labels.md
index 9f8d991564..4130ae6c5a 100644
--- a/api/references/icons-in-labels.md
+++ b/api/references/icons-in-labels.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 109a10fc-2d64-44b6-98ce-b8375d245776
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Reference of all product icons by id
diff --git a/api/references/theme-color.md b/api/references/theme-color.md
index 00f4377987..0f23f1d6ad 100644
--- a/api/references/theme-color.md
+++ b/api/references/theme-color.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8e03996d-35e9-4e9f-a60e-50d0962231b8
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Theme Color reference that lists all themable colors in Visual Studio Code.
@@ -217,6 +217,7 @@ The Activity Bar is usually displayed either on the far left or right of the wor
- `profileBadge.background`: Profile badge background color. The profile badge shows on top of the settings gear icon in the activity bar.
- `profileBadge.foreground`: Profile badge foreground color. The profile badge shows on top of the settings gear icon in the activity bar.
+- `profiles.sashBorder`: The color of the Profiles editor splitview sash border.
## Side Bar
@@ -295,6 +296,9 @@ Editor Groups are the containers of editors. There can be many editor groups. A
- `tab.activeForeground`: Active Tab foreground color in an active group.
- `tab.border`: Border to separate Tabs from each other.
- `tab.activeBorder`: Bottom border for the active tab.
+- `tab.selectedBorderTop`: Border to the top of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.
+- `tab.selectedBackground`: Background of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.
+- `tab.selectedForeground`: Foreground of a selected tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.
- `tab.dragAndDropBorder`: Border between tabs to indicate that a tab can be inserted between two tabs. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.
- `tab.unfocusedActiveBorder`: Bottom border for the active tab in an inactive editor group.
- `tab.activeBorderTop`: Top border for the active tab.
@@ -337,6 +341,7 @@ All other editor colors are listed here:
- `editorMultiCursor.primary.background`: The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.
- `editorMultiCursor.secondary.foreground`: Color of secondary editor cursors when multiple cursors are present.
- `editorMultiCursor.secondary.background`: The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.
+- `editor.placeholder.foreground`: Foreground color of the placeholder text in the editor.
Selection colors are visible when selecting one or more characters. In addition to the selection also all regions with the same content are highlighted.
@@ -364,6 +369,8 @@ Find colors depend on the current find string in the Find/Replace dialog.
![Find matches](images/theme-color/findmatches.png)
- `editor.findMatchBackground`: Color of the current search match.
+- `editor.findMatchForeground`: Text color of the current search match.
+- `editor.findMatchHighlightForeground`: Foreground color of the other search matches.
- `editor.findMatchHighlightBackground`: Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.
- `editor.findRangeHighlightBackground`: Color the range limiting the search (Enable 'Find in Selection' in the find widget). The color must not be opaque so as not to hide underlying decorations.
- `editor.findMatchBorder`: Border color of the current search match.
@@ -508,6 +515,7 @@ Bracket pair guides:
Folding:
- `editor.foldBackground`: Background color for folded ranges. The color must not be opaque so as not to hide underlying decorations.
+- `editor.foldPlaceholderForeground`: Color of the collapsed text after the first line of a folded range.
Overview ruler:
@@ -611,9 +619,9 @@ For coloring inserted and removed text, use either a background or a border colo
## Inline Chat colors
- `inlineChat.background`: Background color of the interactive editor widget.
+- `inlineChat.foreground`: Foreground color of the interactive editor widget
- `inlineChat.border`: Border color of the interactive editor widget.
- `inlineChat.shadow`: Shadow color of the interactive editor widget.
-- `inlineChat.regionHighlight`: Background highlighting of the current interactive region. Must be transparent.
- `inlineChatInput.border`: Border color of the interactive editor input.
- `inlineChatInput.focusBorder`: Border color of the interactive editor input when focused.
- `inlineChatInput.placeholderForeground`: Foreground color of the interactive editor input placeholder.
@@ -948,7 +956,9 @@ The following customizations are available:
- `terminalOverviewRuler.cursorForeground`: The overview ruler cursor color.
- `terminalOverviewRuler.findMatchForeground`: Overview ruler marker color for find matches in the terminal.
- `terminalStickyScroll.background`: The background color of the sticky scroll overlay in the terminal.
+- `terminalStickyScroll.border`: The border of the sticky scroll overlay in the terminal.
- `terminalStickyScrollHover.background`: The background color of the sticky scroll overlay in the terminal when hovered.
+- `terminal.initialHintForeground`: Foreground color of the terminal initial hint.
## Debug colors
@@ -969,6 +979,7 @@ The following customizations are available:
- `debugTokenExpression.boolean`: Foreground color for booleans in debug views.
- `debugTokenExpression.number`: Foreground color for numbers in debug views.
- `debugTokenExpression.error`: Foreground color for expression errors in debug views.
+- `debugTokenExpression.type`: Foreground color for the token types shown in the debug views (ie. the Variables or Watch view).
## Testing colors
diff --git a/api/references/vscode-api.md b/api/references/vscode-api.md
index e5630a01e1..0e16244459 100644
--- a/api/references/vscode-api.md
+++ b/api/references/vscode-api.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8CEBCDF8-4F0A-4C81-A904-3DEA43480EA6
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
VSCodeCommitHash: 96d03d1ecc393a047d549dc8bd13c74dc174f20a
VSCodeVersion: 1.51.0
diff --git a/api/references/vscode-api.template b/api/references/vscode-api.template
index f93653e7e5..d542c61c7c 100644
--- a/api/references/vscode-api.template
+++ b/api/references/vscode-api.template
@@ -1,10 +1,10 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 8CEBCDF8-4F0A-4C81-A904-3DEA43480EA6
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
-VSCodeCommitHash: f36826b4c1737fcc234a73ec043261ea893e6698
-VSCodeVersion: 1.90.0
+VSCodeCommitHash: aea213b7fcc7de5c24ad797ac1af209b159d451f
+VSCodeVersion: 1.91.0
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Visual Studio Code extensions (plug-in) API Reference.
diff --git a/api/references/when-clause-contexts.md b/api/references/when-clause-contexts.md
index f8359536b5..c163a145b4 100644
--- a/api/references/when-clause-contexts.md
+++ b/api/references/when-clause-contexts.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 38af73fd-ca95-48e3-9965-81f4cfe29996
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code when clause context reference.
---
diff --git a/api/ux-guidelines/activity-bar.md b/api/ux-guidelines/activity-bar.md
index 949631eb66..b2fa752f74 100644
--- a/api/ux-guidelines/activity-bar.md
+++ b/api/ux-guidelines/activity-bar.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 13b649f1-156f-489a-9c03-c2cff8060733
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for the Activity Bar in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/command-palette.md b/api/ux-guidelines/command-palette.md
index 3e20360860..fbf94b9102 100644
--- a/api/ux-guidelines/command-palette.md
+++ b/api/ux-guidelines/command-palette.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: bf0d9a5e-897b-450a-adf4-3c8ca9b8e9de
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for the Command Palette in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/context-menus.md b/api/ux-guidelines/context-menus.md
index ef1dd85706..3531745944 100644
--- a/api/ux-guidelines/context-menus.md
+++ b/api/ux-guidelines/context-menus.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: fdd5476c-13e2-4f78-9dd3-0157eed36a29
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for using context menus in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/editor-actions.md b/api/ux-guidelines/editor-actions.md
index 43499c78c7..f47a02e40d 100644
--- a/api/ux-guidelines/editor-actions.md
+++ b/api/ux-guidelines/editor-actions.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: ce5c9fff-df86-454a-b4e8-4ae05c8158e2
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for editor actions in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/notifications.md b/api/ux-guidelines/notifications.md
index a19f12f29a..9a75900495 100644
--- a/api/ux-guidelines/notifications.md
+++ b/api/ux-guidelines/notifications.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 92904eb4-6ef0-4801-80d2-6c2c3326ad82
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for notifications in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/overview.md b/api/ux-guidelines/overview.md
index b1d93ac0e7..69f4109713 100644
--- a/api/ux-guidelines/overview.md
+++ b/api/ux-guidelines/overview.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 5b4962ff-2dc9-4201-aa95-46edb5a575b6
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Guidelines that showcase best practices for creating Visual Studio Code extensions.
diff --git a/api/ux-guidelines/panel.md b/api/ux-guidelines/panel.md
index 92b26a471e..6a3515a095 100644
--- a/api/ux-guidelines/panel.md
+++ b/api/ux-guidelines/panel.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 06ce3b57-9fd5-428a-98aa-d730edbd2728
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for the Panel Bar in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/quick-picks.md b/api/ux-guidelines/quick-picks.md
index 255151cedd..56974c1034 100644
--- a/api/ux-guidelines/quick-picks.md
+++ b/api/ux-guidelines/quick-picks.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 85918f63-ff5d-4ab8-8a18-26ad00618eff
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for quick picks used in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/settings.md b/api/ux-guidelines/settings.md
index 5386b2c41b..1e2d7bb4ed 100644
--- a/api/ux-guidelines/settings.md
+++ b/api/ux-guidelines/settings.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 9f5daebb-1566-46b8-a04d-0fd6c5d4a926
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for settings contributed by a Visual Studio Code extension.
diff --git a/api/ux-guidelines/sidebars.md b/api/ux-guidelines/sidebars.md
index 47212b6b7c..2fac9770ad 100644
--- a/api/ux-guidelines/sidebars.md
+++ b/api/ux-guidelines/sidebars.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 05bd995d-946e-4046-8816-c6d50dccb1b4
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for the Side Bar in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/status-bar.md b/api/ux-guidelines/status-bar.md
index d5e061a79b..4b2d2eef2d 100644
--- a/api/ux-guidelines/status-bar.md
+++ b/api/ux-guidelines/status-bar.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 2d16d367-2831-47ca-8f0e-22e3e5fd24bc
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for status bar and status bar items in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/views.md b/api/ux-guidelines/views.md
index 7f4182864b..ad61181e05 100644
--- a/api/ux-guidelines/views.md
+++ b/api/ux-guidelines/views.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 1e37b895-d0b3-45b8-a071-107bd665248e
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for views in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/walkthroughs.md b/api/ux-guidelines/walkthroughs.md
index a12cd78dc7..b2f1b2bc9a 100644
--- a/api/ux-guidelines/walkthroughs.md
+++ b/api/ux-guidelines/walkthroughs.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: e8e157c4-ac6e-4278-9994-953212a1bb88
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for walkthroughs in a Visual Studio Code extension.
diff --git a/api/ux-guidelines/webviews.md b/api/ux-guidelines/webviews.md
index 78804a8273..56cc4b5de9 100644
--- a/api/ux-guidelines/webviews.md
+++ b/api/ux-guidelines/webviews.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 1c1f6d51-5914-44fa-ae10-0360be0ae2a3
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: UX guidelines for webviews in a Visual Studio Code extension.
diff --git a/api/working-with-extensions/bundling-extension.md b/api/working-with-extensions/bundling-extension.md
index eb9f4a144c..46fae1dac9 100644
--- a/api/working-with-extensions/bundling-extension.md
+++ b/api/working-with-extensions/bundling-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 26f0c0d6-1ea8-4cc1-bd10-9fa744056e7c
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Bundling Visual Studio Code extensions (plug-ins) with webpack.
diff --git a/api/working-with-extensions/continuous-integration.md b/api/working-with-extensions/continuous-integration.md
index d4bf12d0d3..a2ee074648 100644
--- a/api/working-with-extensions/continuous-integration.md
+++ b/api/working-with-extensions/continuous-integration.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 891072bb-c46d-4392-800a-84d747072ce3
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Use Continuous Integration for testing Visual Studio Code extensions (plug-ins).
diff --git a/api/working-with-extensions/publishing-extension.md b/api/working-with-extensions/publishing-extension.md
index 95071505af..6d29a44de2 100644
--- a/api/working-with-extensions/publishing-extension.md
+++ b/api/working-with-extensions/publishing-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 7EA90618-43A3-4873-A9B5-61CC131CE4EE
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Learn how to publish Visual Studio Code extensions to the public Marketplace and share them with other developers.
@@ -336,7 +336,7 @@ To verify a publisher:
![Validation submitted](images/publishing-extension/validation-submitted.png)
- Once your TXT record has been validated, the Marketplace team will review your request and let you know the result within 5 business days. The validation includes, but is not limited to: domain, website and extensions content eligibility, legitimacy, trust and positive reputation. New publishers will need a consistent track record demonstrating these for at least 6 months.
+ Once your TXT record has been validated, the Marketplace team will review your request and let you know the result within 5 business days. The validation includes, but is not limited to: domain, website and extensions content eligibility, legitimacy, trust and positive reputation. New publishers will need a consistent track record demonstrating these for at least 6 months.
If validation is passed, you will see the corresponding badge next to your publisher name in the Visual Studio Marketplace publisher management page:
diff --git a/api/working-with-extensions/testing-extension.md b/api/working-with-extensions/testing-extension.md
index d7493de744..dea882966c 100644
--- a/api/working-with-extensions/testing-extension.md
+++ b/api/working-with-extensions/testing-extension.md
@@ -1,7 +1,7 @@
---
# DO NOT TOUCH — Managed by doc writer
ContentId: 2447F8EB-15F1-4279-B621-126C7B8EBF4B
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
# Summarize the whole topic in less than 300 characters for SEO purpose
MetaDescription: Write tests for your Visual Studio Code extension (plug-in).
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e97b7b1d3b..4d54c74f89 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -41,19 +41,10 @@ jobs:
path: vscode-website/dist
persistCredentials: true
- task: NodeTool@0
- displayName: Use Node 14.19.3
+ displayName: Use Node 20.x
inputs:
- versionSpec: 14.19.3
+ versionSpec: 20.x
checkLatest: true
- - task: Npm@0
- displayName: npm install yarn
- inputs:
- arguments: -g yarn
- - task: CmdLine@2
- displayName: yarn install
- inputs:
- script: 'yarn install'
- workingDirectory: '../vscode-website'
- task: Bash@3
displayName: Build Dist Setup
inputs:
diff --git a/build/keybindings/doc.keybindings.linux.json b/build/keybindings/doc.keybindings.linux.json
index 2204c97de4..591032666a 100644
--- a/build/keybindings/doc.keybindings.linux.json
+++ b/build/keybindings/doc.keybindings.linux.json
@@ -131,10 +131,6 @@
"when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" },
{ "key": "meta+enter", "command": "notebook.cell.quitEdit",
"when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" },
-{ "key": "escape", "command": "inlineChat.cancel",
- "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" },
-{ "key": "escape", "command": "inlineChat.close",
- "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "escape", "command": "inlineChat.discard",
"when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "ctrl+f", "command": "actions.find",
@@ -231,6 +227,12 @@
"when": "editorTextFocus && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineEdit.reject",
"when": "inlineEditVisible && !editorReadonly" },
+{ "key": "escape", "command": "editor.action.inlineEdits.hide",
+ "when": "inlineEditsVisible" },
+{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext",
+ "when": "inlineEditsVisible && !editorReadonly" },
+{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious",
+ "when": "inlineEditsVisible && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineSuggest.hide",
"when": "inlineSuggestionVisible" },
{ "key": "alt+]", "command": "editor.action.inlineSuggest.showNext",
@@ -427,6 +429,8 @@
"when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+k ctrl+l", "command": "editor.toggleFold",
"when": "editorTextFocus && foldingEnabled" },
+{ "key": "ctrl+k ctrl+shift+l", "command": "editor.toggleFoldRecursively",
+ "when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+shift+]", "command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+k ctrl+j", "command": "editor.unfoldAll",
@@ -441,12 +445,12 @@
"when": "isReadingLineWithInlayHints" },
{ "key": "tab", "command": "insertSnippet",
"when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" },
+{ "key": "ctrl+enter", "command": "interactive.execute",
+ "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "shift+enter", "command": "interactive.execute",
"when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
{ "key": "enter", "command": "interactive.execute",
"when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
-{ "key": "meta+enter", "command": "interactive.execute",
- "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "escape", "command": "notebook.cell.chat.discard",
"when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" },
{ "key": "pagedown", "command": "notebook.cell.cursorPageDown",
@@ -765,22 +769,34 @@
"when": "iconSelectBoxFocus" },
{ "key": "alt+=", "command": "increaseSearchEditorContextLines",
"when": "inSearchEditor" },
+{ "key": "escape", "command": "inlineChat.close",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "escape", "command": "inlineChat.discardHunkChange",
+ "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" },
{ "key": "ctrl+i", "command": "inlineChat.holdForSpeech",
"when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" },
{ "key": "f7", "command": "inlineChat.moveToNextHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "ctrl+r", "command": "inlineChat.regenerate",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "ctrl+k i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "ctrl+i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "ctrl+z", "command": "inlineChat.unstash",
"when": "inlineChatHasStashedSession && !editorReadonly" },
+{ "key": "ctrl+down", "command": "inlineChat.viewInChat",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "down", "command": "interactive.history.next",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
+{ "key": "down", "command": "interactive.history.next",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "up", "command": "interactive.history.previous",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
+{ "key": "up", "command": "interactive.history.previous",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+end", "command": "interactive.scrollToBottom",
"when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "ctrl+home", "command": "interactive.scrollToTop",
@@ -878,9 +894,9 @@
{ "key": "ctrl+up", "command": "notebook.cell.chat.focusPreviousCell",
"when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+k i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "ctrl+i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "alt+delete", "command": "notebook.cell.clearOutputs",
"when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "ctrl+k ctrl+c", "command": "notebook.cell.collapseCellInput",
@@ -937,12 +953,8 @@
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+down", "command": "notebook.focusNextEditor",
"when": "notebookEditorFocused && notebookOutputFocused" },
-{ "key": "ctrl+alt+pagedown", "command": "notebook.focusNextEditor",
- "when": "notebookEditorFocused" },
{ "key": "up", "command": "notebook.focusPreviousEditor",
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
-{ "key": "ctrl+alt+pageup", "command": "notebook.focusPreviousEditor",
- "when": "notebookEditorFocused" },
{ "key": "ctrl+home", "command": "notebook.focusTop",
"when": "notebookEditorFocused && !inputFocus" },
{ "key": "left", "command": "notebook.fold",
@@ -1044,6 +1056,8 @@
"when": "listFocus && referenceSearchVisible && !inputFocus && !treeElementCanCollapse && !treeElementCanExpand && !treestickyScrollFocused" },
{ "key": "ctrl+enter", "command": "scm.acceptInput",
"when": "scmRepository" },
+{ "key": "escape", "command": "scm.clearInput",
+ "when": "scmRepository && !suggestWidgetVisible" },
{ "key": "alt+down", "command": "scm.forceViewNextCommit",
"when": "scmRepository" },
{ "key": "alt+up", "command": "scm.forceViewPreviousCommit",
@@ -1351,19 +1365,23 @@
{ "key": "ctrl+down", "command": "workbench.action.terminal.chat.focusResponse",
"when": "terminalChatFocus" },
{ "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "enter", "command": "workbench.action.terminal.chat.makeRequest",
- "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+ "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory",
+ "when": "terminalChatFocus" },
+{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory",
+ "when": "terminalChatFocus" },
{ "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "escape", "command": "workbench.action.terminal.clearSelection",
"when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" },
{ "key": "ctrl+shift+c", "command": "workbench.action.terminal.copySelection",
@@ -1540,6 +1558,10 @@
"when": "notebookOutputInputFocused" },
{ "key": "ctrl+a", "command": "notebook.cell.output.selectAll",
"when": "notebookEditorFocused && notebookOutputFocused" },
+{ "key": "ctrl+pagedown", "command": "notebook.focusNextEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
+{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
{ "key": "ctrl+k down", "command": "views.moveViewDown",
"when": "focusedView != ''" },
{ "key": "ctrl+k left", "command": "views.moveViewLeft",
@@ -1716,7 +1738,7 @@
{ "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock",
"when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" },
{ "key": "ctrl+i", "command": "workbench.action.terminal.chat.start",
- "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" },
+ "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" },
{ "key": "ctrl+.", "command": "acceptSelectedCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "enter", "command": "acceptSelectedCodeAction",
@@ -1736,5 +1758,7 @@
{ "key": "up", "command": "selectPrevCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "escape", "command": "diffEditor.exitCompareMove",
- "when": "comparingMovedCode" }
+ "when": "comparingMovedCode" },
+{ "key": "ctrl+space", "command": "editor.action.inlineEdits.accept",
+ "when": "inlineEditsVisible" }
]
\ No newline at end of file
diff --git a/build/keybindings/doc.keybindings.osx.json b/build/keybindings/doc.keybindings.osx.json
index 1cb7dd70ef..b94f171a0e 100644
--- a/build/keybindings/doc.keybindings.osx.json
+++ b/build/keybindings/doc.keybindings.osx.json
@@ -181,10 +181,6 @@
"when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" },
{ "key": "ctrl+enter", "command": "notebook.cell.quitEdit",
"when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" },
-{ "key": "escape", "command": "inlineChat.cancel",
- "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" },
-{ "key": "escape", "command": "inlineChat.close",
- "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "escape", "command": "inlineChat.discard",
"when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "cmd+f", "command": "actions.find",
@@ -194,6 +190,8 @@
"when": "breakpointWidgetVisible && inBreakpointWidget" },
{ "key": "cmd+up", "command": "chat.action.focus",
"when": "chatCursorAtTop && inChatInput && chatLocation == 'panel'" },
+{ "key": "cmd+up", "command": "chat.action.focus",
+ "when": "inChatInput && isLinux && chatLocation == 'panel' || inChatInput && isWindows && chatLocation == 'panel'" },
{ "key": "shift+escape", "command": "closeBreakpointWidget",
"when": "breakpointWidgetVisible && textInputFocus" },
{ "key": "escape", "command": "closeBreakpointWidget",
@@ -297,6 +295,12 @@
"when": "editorTextFocus && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineEdit.reject",
"when": "inlineEditVisible && !editorReadonly" },
+{ "key": "escape", "command": "editor.action.inlineEdits.hide",
+ "when": "inlineEditsVisible" },
+{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext",
+ "when": "inlineEditsVisible && !editorReadonly" },
+{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious",
+ "when": "inlineEditsVisible && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineSuggest.hide",
"when": "inlineSuggestionVisible" },
{ "key": "alt+]", "command": "editor.action.inlineSuggest.showNext",
@@ -503,6 +507,8 @@
"when": "editorTextFocus && foldingEnabled" },
{ "key": "cmd+k cmd+l", "command": "editor.toggleFold",
"when": "editorTextFocus && foldingEnabled" },
+{ "key": "cmd+k shift+cmd+l", "command": "editor.toggleFoldRecursively",
+ "when": "editorTextFocus && foldingEnabled" },
{ "key": "alt+cmd+]", "command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled" },
{ "key": "cmd+k cmd+j", "command": "editor.unfoldAll",
@@ -517,12 +523,12 @@
"when": "isReadingLineWithInlayHints" },
{ "key": "tab", "command": "insertSnippet",
"when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" },
+{ "key": "cmd+enter", "command": "interactive.execute",
+ "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "shift+enter", "command": "interactive.execute",
"when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
{ "key": "enter", "command": "interactive.execute",
"when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
-{ "key": "ctrl+enter", "command": "interactive.execute",
- "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "escape", "command": "notebook.cell.chat.discard",
"when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" },
{ "key": "pagedown", "command": "notebook.cell.cursorPageDown",
@@ -848,22 +854,34 @@
"when": "iconSelectBoxFocus" },
{ "key": "alt+=", "command": "increaseSearchEditorContextLines",
"when": "inSearchEditor" },
+{ "key": "escape", "command": "inlineChat.close",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "escape", "command": "inlineChat.discardHunkChange",
+ "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" },
{ "key": "cmd+i", "command": "inlineChat.holdForSpeech",
"when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" },
{ "key": "f7", "command": "inlineChat.moveToNextHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "cmd+r", "command": "inlineChat.regenerate",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "cmd+k i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "cmd+i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "cmd+z", "command": "inlineChat.unstash",
"when": "inlineChatHasStashedSession && !editorReadonly" },
+{ "key": "cmd+down", "command": "inlineChat.viewInChat",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "down", "command": "interactive.history.next",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
+{ "key": "down", "command": "interactive.history.next",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "up", "command": "interactive.history.previous",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
+{ "key": "up", "command": "interactive.history.previous",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "cmd+down", "command": "interactive.scrollToBottom",
"when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "cmd+up", "command": "interactive.scrollToTop",
@@ -975,9 +993,9 @@
{ "key": "cmd+up", "command": "notebook.cell.chat.focusPreviousCell",
"when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "cmd+k i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "cmd+i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "alt+delete", "command": "notebook.cell.clearOutputs",
"when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "cmd+k cmd+c", "command": "notebook.cell.collapseCellInput",
@@ -1036,12 +1054,8 @@
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+cmd+down", "command": "notebook.focusNextEditor",
"when": "notebookEditorFocused && notebookOutputFocused" },
-{ "key": "alt+cmd+pagedown", "command": "notebook.focusNextEditor",
- "when": "notebookEditorFocused" },
{ "key": "up", "command": "notebook.focusPreviousEditor",
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
-{ "key": "alt+cmd+pageup", "command": "notebook.focusPreviousEditor",
- "when": "notebookEditorFocused" },
{ "key": "cmd+home", "command": "notebook.focusTop",
"when": "notebookEditorFocused && !inputFocus" },
{ "key": "cmd+up", "command": "notebook.focusTop",
@@ -1182,6 +1196,8 @@
{ "key": "alt+cmd+s", "command": "saveAll" },
{ "key": "cmd+enter", "command": "scm.acceptInput",
"when": "scmRepository" },
+{ "key": "escape", "command": "scm.clearInput",
+ "when": "scmRepository && !suggestWidgetVisible" },
{ "key": "alt+down", "command": "scm.forceViewNextCommit",
"when": "scmRepository" },
{ "key": "alt+up", "command": "scm.forceViewPreviousCommit",
@@ -1492,19 +1508,23 @@
{ "key": "cmd+down", "command": "workbench.action.terminal.chat.focusResponse",
"when": "terminalChatFocus" },
{ "key": "alt+cmd+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "alt+cmd+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "enter", "command": "workbench.action.terminal.chat.makeRequest",
- "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+ "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory",
+ "when": "terminalChatFocus" },
+{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory",
+ "when": "terminalChatFocus" },
{ "key": "cmd+enter", "command": "workbench.action.terminal.chat.runCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "cmd+enter", "command": "workbench.action.terminal.chat.runFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "escape", "command": "workbench.action.terminal.clearSelection",
"when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" },
{ "key": "cmd+c", "command": "workbench.action.terminal.copySelection",
@@ -1696,6 +1716,10 @@
"when": "notebookOutputInputFocused" },
{ "key": "cmd+a", "command": "notebook.cell.output.selectAll",
"when": "notebookEditorFocused && notebookOutputFocused" },
+{ "key": "ctrl+pageup", "command": "notebook.focusNextEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
+{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
{ "key": "cmd+k down", "command": "views.moveViewDown",
"when": "focusedView != ''" },
{ "key": "cmd+k left", "command": "views.moveViewLeft",
@@ -1892,7 +1916,7 @@
{ "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock",
"when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" },
{ "key": "cmd+i", "command": "workbench.action.terminal.chat.start",
- "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" },
+ "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" },
{ "key": "cmd+.", "command": "acceptSelectedCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "enter", "command": "acceptSelectedCodeAction",
@@ -1916,5 +1940,7 @@
{ "key": "up", "command": "selectPrevCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "escape", "command": "diffEditor.exitCompareMove",
- "when": "comparingMovedCode" }
+ "when": "comparingMovedCode" },
+{ "key": "cmd+space", "command": "editor.action.inlineEdits.accept",
+ "when": "inlineEditsVisible" }
]
\ No newline at end of file
diff --git a/build/keybindings/doc.keybindings.win.json b/build/keybindings/doc.keybindings.win.json
index 48d4b4a3db..16ba11aab3 100644
--- a/build/keybindings/doc.keybindings.win.json
+++ b/build/keybindings/doc.keybindings.win.json
@@ -147,10 +147,6 @@
"when": "inputFocus && notebookEditorFocused && !editorHasMultipleSelections && !editorHasSelection && !editorHoverVisible && !inlineChatFocused" },
{ "key": "ctrl+alt+enter", "command": "notebook.cell.quitEdit",
"when": "inputFocus && notebookEditorFocused && !inlineChatFocused && notebookCellType == 'markup'" },
-{ "key": "escape", "command": "inlineChat.cancel",
- "when": "inlineChatHasProvider && inlineChatVisible && config.inlineChat.mode == 'preview'" },
-{ "key": "escape", "command": "inlineChat.close",
- "when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "escape", "command": "inlineChat.discard",
"when": "inlineChatHasProvider && inlineChatVisible && !inlineChatUserDidEdit" },
{ "key": "ctrl+f", "command": "actions.find",
@@ -249,6 +245,12 @@
"when": "editorTextFocus && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineEdit.reject",
"when": "inlineEditVisible && !editorReadonly" },
+{ "key": "escape", "command": "editor.action.inlineEdits.hide",
+ "when": "inlineEditsVisible" },
+{ "key": "alt+]", "command": "editor.action.inlineEdits.showNext",
+ "when": "inlineEditsVisible && !editorReadonly" },
+{ "key": "alt+[", "command": "editor.action.inlineEdits.showPrevious",
+ "when": "inlineEditsVisible && !editorReadonly" },
{ "key": "escape", "command": "editor.action.inlineSuggest.hide",
"when": "inlineSuggestionVisible" },
{ "key": "alt+]", "command": "editor.action.inlineSuggest.showNext",
@@ -441,6 +443,8 @@
"when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+k ctrl+l", "command": "editor.toggleFold",
"when": "editorTextFocus && foldingEnabled" },
+{ "key": "ctrl+k ctrl+shift+l", "command": "editor.toggleFoldRecursively",
+ "when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+shift+]", "command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled" },
{ "key": "ctrl+k ctrl+j", "command": "editor.unfoldAll",
@@ -455,12 +459,12 @@
"when": "isReadingLineWithInlayHints" },
{ "key": "tab", "command": "insertSnippet",
"when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" },
+{ "key": "ctrl+enter", "command": "interactive.execute",
+ "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "shift+enter", "command": "interactive.execute",
"when": "config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
{ "key": "enter", "command": "interactive.execute",
"when": "!config.interactiveWindow.executeWithShiftEnter && activeEditor == 'workbench.editor.interactive'" },
-{ "key": "ctrl+enter", "command": "interactive.execute",
- "when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "escape", "command": "notebook.cell.chat.discard",
"when": "inlineChatFocused && notebookCellChatFocused && !notebookCellEditorFocused && !notebookChatUserDidEdit" },
{ "key": "pagedown", "command": "notebook.cell.cursorPageDown",
@@ -776,22 +780,34 @@
"when": "iconSelectBoxFocus" },
{ "key": "alt+=", "command": "increaseSearchEditorContextLines",
"when": "inSearchEditor" },
+{ "key": "escape", "command": "inlineChat.close",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "escape", "command": "inlineChat.discardHunkChange",
+ "when": "inlineChatHasProvider && inlineChatVisible && inlineChatResponseType == 'messagesAndEdits'" },
{ "key": "ctrl+i", "command": "inlineChat.holdForSpeech",
"when": "hasSpeechProvider && inlineChatHasProvider && inlineChatVisible && textInputFocus" },
{ "key": "f7", "command": "inlineChat.moveToNextHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "shift+f7", "command": "inlineChat.moveToPreviousHunk",
"when": "inlineChatHasProvider && inlineChatVisible" },
+{ "key": "ctrl+r", "command": "inlineChat.regenerate",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "ctrl+k i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "ctrl+i", "command": "inlineChat.start",
"when": "editorFocus && inlineChatHasProvider && !editorReadonly" },
{ "key": "ctrl+z", "command": "inlineChat.unstash",
"when": "inlineChatHasStashedSession && !editorReadonly" },
+{ "key": "ctrl+down", "command": "inlineChat.viewInChat",
+ "when": "inlineChatHasProvider && inlineChatVisible" },
{ "key": "down", "command": "interactive.history.next",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
+{ "key": "down", "command": "interactive.history.next",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'none' && interactiveInputCursorAtBoundary != 'top'" },
{ "key": "up", "command": "interactive.history.previous",
"when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.interactive' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
+{ "key": "up", "command": "interactive.history.previous",
+ "when": "!suggestWidgetVisible && activeEditor == 'workbench.editor.repl' && interactiveInputCursorAtBoundary != 'bottom' && interactiveInputCursorAtBoundary != 'none'" },
{ "key": "ctrl+end", "command": "interactive.scrollToBottom",
"when": "activeEditor == 'workbench.editor.interactive'" },
{ "key": "ctrl+home", "command": "interactive.scrollToTop",
@@ -889,9 +905,9 @@
{ "key": "ctrl+up", "command": "notebook.cell.chat.focusPreviousCell",
"when": "inlineChatFocused && notebookCellChatFocused" },
{ "key": "ctrl+k i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "ctrl+i", "command": "notebook.cell.chat.start",
- "when": "config.notebook.experimental.cellChat && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && inlineChatHasProvider && notebookEditable && notebookEditorFocused && !inputFocus" },
+ "when": "config.notebook.experimental.cellChat && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus || config.notebook.experimental.generate && notebookChatAgentRegistered && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "alt+delete", "command": "notebook.cell.clearOutputs",
"when": "notebookCellEditable && notebookCellHasOutputs && notebookEditable && notebookEditorFocused && !inputFocus" },
{ "key": "ctrl+k ctrl+c", "command": "notebook.cell.collapseCellInput",
@@ -948,12 +964,8 @@
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
{ "key": "ctrl+down", "command": "notebook.focusNextEditor",
"when": "notebookEditorFocused && notebookOutputFocused" },
-{ "key": "ctrl+alt+pagedown", "command": "notebook.focusNextEditor",
- "when": "notebookEditorFocused" },
{ "key": "up", "command": "notebook.focusPreviousEditor",
"when": "config.notebook.navigation.allowNavigateToSurroundingCells && notebookCursorNavigationMode && notebookEditorFocused && !accessibilityModeEnabled && !isEmbeddedDiffEditor && !notebookCellMarkdownEditMode && notebookCellType == 'markup'" },
-{ "key": "ctrl+alt+pageup", "command": "notebook.focusPreviousEditor",
- "when": "notebookEditorFocused" },
{ "key": "ctrl+home", "command": "notebook.focusTop",
"when": "notebookEditorFocused && !inputFocus" },
{ "key": "left", "command": "notebook.fold",
@@ -1056,6 +1068,8 @@
{ "key": "ctrl+k s", "command": "saveAll" },
{ "key": "ctrl+enter", "command": "scm.acceptInput",
"when": "scmRepository" },
+{ "key": "escape", "command": "scm.clearInput",
+ "when": "scmRepository && !suggestWidgetVisible" },
{ "key": "alt+down", "command": "scm.forceViewNextCommit",
"when": "scmRepository" },
{ "key": "alt+up", "command": "scm.forceViewPreviousCommit",
@@ -1167,7 +1181,7 @@
"when": "inputFocus && navigableContainerFocused || navigableContainerFocused && treestickyScrollFocused || navigableContainerFocused && !listFocus || navigableContainerFocused && listScrollAtBoundary == 'both' || navigableContainerFocused && listScrollAtBoundary == 'bottom'" },
{ "key": "ctrl+up", "command": "widgetNavigation.focusPrevious",
"when": "inputFocus && navigableContainerFocused || navigableContainerFocused && treestickyScrollFocused || navigableContainerFocused && !listFocus || navigableContainerFocused && listScrollAtBoundary == 'both' || navigableContainerFocused && listScrollAtBoundary == 'top'" },
-{ "key": "ctrl+escape", "command": "workbench.action.chat.cancel" },
+{ "key": "alt+backspace", "command": "workbench.action.chat.cancel" },
{ "key": "ctrl+down", "command": "workbench.action.chat.focusInput",
"when": "inChat && !inChatInput" },
{ "key": "ctrl+i", "command": "workbench.action.chat.holdToVoiceChatInChatView",
@@ -1368,19 +1382,23 @@
{ "key": "ctrl+down", "command": "workbench.action.terminal.chat.focusResponse",
"when": "terminalChatFocus" },
{ "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "ctrl+alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "alt+enter", "command": "workbench.action.terminal.chat.insertFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "enter", "command": "workbench.action.terminal.chat.makeRequest",
- "when": "inlineChatFocused && terminalChatAgentRegistered && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || inlineChatFocused && terminalChatAgentRegistered && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+ "when": "terminalChatFocus && terminalHasBeenCreated && !inlineChatEmpty && !terminalChatActiveRequest || terminalChatFocus && terminalProcessSupported && !inlineChatEmpty && !terminalChatActiveRequest" },
+{ "key": "down", "command": "workbench.action.terminal.chat.nextFromHistory",
+ "when": "terminalChatFocus" },
+{ "key": "up", "command": "workbench.action.terminal.chat.previousFromHistory",
+ "when": "terminalChatFocus" },
{ "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatAgentRegistered && terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
+ "when": "terminalChatResponseContainsCodeBlock && terminalHasBeenCreated && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks || terminalChatResponseContainsCodeBlock && terminalProcessSupported && !terminalChatActiveRequest && !terminalChatResponseContainsMultipleCodeBlocks" },
{ "key": "ctrl+enter", "command": "workbench.action.terminal.chat.runFirstCommand",
- "when": "terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatAgentRegistered && terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
+ "when": "terminalChatResponseContainsMultipleCodeBlocks && terminalHasBeenCreated && !terminalChatActiveRequest || terminalChatResponseContainsMultipleCodeBlocks && terminalProcessSupported && !terminalChatActiveRequest" },
{ "key": "escape", "command": "workbench.action.terminal.clearSelection",
"when": "terminalFocusInAny && terminalHasBeenCreated && terminalTextSelected && !terminalFindVisible || terminalFocusInAny && terminalProcessSupported && terminalTextSelected && !terminalFindVisible" },
{ "key": "ctrl+c", "command": "workbench.action.terminal.copyAndClearSelection",
@@ -1558,6 +1576,10 @@
"when": "notebookOutputInputFocused" },
{ "key": "ctrl+a", "command": "notebook.cell.output.selectAll",
"when": "notebookEditorFocused && notebookOutputFocused" },
+{ "key": "ctrl+pagedown", "command": "notebook.focusNextEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
+{ "key": "ctrl+pageup", "command": "notebook.focusPreviousEditor",
+ "when": "accessibilityModeEnabled && notebookCellEditorFocused" },
{ "key": "ctrl+k down", "command": "views.moveViewDown",
"when": "focusedView != ''" },
{ "key": "ctrl+k left", "command": "views.moveViewLeft",
@@ -1736,7 +1758,7 @@
{ "key": "ctrl+enter", "command": "workbench.action.chat.insertCodeBlock",
"when": "accessibleViewInCodeBlock && chatIsEnabled || chatIsEnabled && inChat && !inChatInput" },
{ "key": "ctrl+i", "command": "workbench.action.terminal.chat.start",
- "when": "inlineChatHasProvider && terminalFocusInAny && terminalHasBeenCreated || inlineChatHasProvider && terminalFocusInAny && terminalProcessSupported" },
+ "when": "terminalChatAgentRegistered && terminalFocusInAny && terminalHasBeenCreated || terminalChatAgentRegistered && terminalFocusInAny && terminalProcessSupported" },
{ "key": "ctrl+.", "command": "acceptSelectedCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "enter", "command": "acceptSelectedCodeAction",
@@ -1756,5 +1778,7 @@
{ "key": "up", "command": "selectPrevCodeAction",
"when": "codeActionMenuVisible" },
{ "key": "escape", "command": "diffEditor.exitCompareMove",
- "when": "comparingMovedCode" }
+ "when": "comparingMovedCode" },
+{ "key": "ctrl+space", "command": "editor.action.inlineEdits.accept",
+ "when": "inlineEditsVisible" }
]
\ No newline at end of file
diff --git a/docs/copilot/ai-powered-suggestions.md b/docs/copilot/ai-powered-suggestions.md
index b0d6275088..3fd808779c 100644
--- a/docs/copilot/ai-powered-suggestions.md
+++ b/docs/copilot/ai-powered-suggestions.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Code Completions
ContentId: 7ab2cd6c-45fd-4278-a6e8-1c9e060593ea
PageTitle: AI-powered code completions with GitHub Copilot
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Enhance your coding with AI-powered code completions from GitHub Copilot in Visual Studio Code.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/copilot-chat.md b/docs/copilot/copilot-chat.md
index b38604ac36..00769ec288 100644
--- a/docs/copilot/copilot-chat.md
+++ b/docs/copilot/copilot-chat.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Copilot Chat
ContentId: 130ecf6c-6f06-4ddd-8b1d-f85f023af77b
PageTitle: AI-powered chat conversations with GitHub Copilot
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Interact with GitHub Copilot through AI-powered chat conversations in VS Code to generate code, increase your code understanding, and even configure your editor.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/faq.md b/docs/copilot/faq.md
index 27159681c5..3eb4d7881d 100644
--- a/docs/copilot/faq.md
+++ b/docs/copilot/faq.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: FAQ
ContentId: e02ded07-6e5a-4f94-b618-434a2c3e8f09
PageTitle: GitHub Copilot frequently asked questions
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Frequently asked questions for using GitHub Copilot in Visual Studio Code.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/getting-started-chat.md b/docs/copilot/getting-started-chat.md
index 1ec17aac11..c14ae56475 100644
--- a/docs/copilot/getting-started-chat.md
+++ b/docs/copilot/getting-started-chat.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Copilot Chat Tutorial
ContentId: ae1f36a9-7597-425f-97fc-49bd51c153a3
PageTitle: Getting started with Copilot Chat
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get started with AI-powered chat conversations with GitHub Copilot in Visual Studio Code, inline while you're coding, or in a separate chat view.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/getting-started.md b/docs/copilot/getting-started.md
index 655d857f12..cc321bd722 100644
--- a/docs/copilot/getting-started.md
+++ b/docs/copilot/getting-started.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Getting Started Tutorial
ContentId: 37fd3bd2-4209-49f6-bec5-c544d6b1b289
PageTitle: GitHub Copilot getting started
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get started with GitHub Copilot in Visual Studio Code and create your first AI-powered suggestions in the editor.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/overview.md b/docs/copilot/overview.md
index d5d5bf63fb..99b619177c 100644
--- a/docs/copilot/overview.md
+++ b/docs/copilot/overview.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Overview
ContentId: 0aefcb70-7884-487f-953e-46c3e07f7cbe
PageTitle: GitHub Copilot overview
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Enhance your coding with AI-powered suggestions and chat conversations with GitHub Copilot in Visual Studio Code.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/prompt-crafting.md b/docs/copilot/prompt-crafting.md
index aa4922a9db..e7818efb12 100644
--- a/docs/copilot/prompt-crafting.md
+++ b/docs/copilot/prompt-crafting.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Best Practices
ContentId: 5dfd207f-fcee-42c3-b7fe-622b42b3397c
PageTitle: Best practices for GitHub Copilot in VS Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Optimize your development experience with GitHub Copilot in VS Code with best practices for crafting chat prompts and providing context.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/copilot/workspace-context.md b/docs/copilot/workspace-context.md
index aa6ce2205e..fc90215e50 100644
--- a/docs/copilot/workspace-context.md
+++ b/docs/copilot/workspace-context.md
@@ -4,7 +4,7 @@ Area: copilot
TOCTitle: Workspace Context
ContentId: c77dcce9-4ba9-40ac-8ae5-2df855088090
PageTitle: Chat using @workspace Context References
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: How to use Copilot's @workspace chat to ask questions against your entire codebase.
MetaSocialImage: images/shared/github-copilot-social.png
---
diff --git a/docs/devcontainers/attach-container.md b/docs/devcontainers/attach-container.md
index a559d008eb..c2472ce91a 100644
--- a/docs/devcontainers/attach-container.md
+++ b/docs/devcontainers/attach-container.md
@@ -5,7 +5,7 @@ TOCTitle: Attach to Container
PageTitle: Attach to a running container using Visual Studio Code Remote Development
ContentId: ed14ef07-f44c-4675-b95b-cb5faffc7abb
MetaDescription: Attach to a running container using Visual Studio Code Remote Development
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Attach to a running container
diff --git a/docs/devcontainers/containers-advanced.md b/docs/devcontainers/containers-advanced.md
index f27531efe8..982579fe2a 100644
--- a/docs/devcontainers/containers-advanced.md
+++ b/docs/devcontainers/containers-advanced.md
@@ -5,7 +5,7 @@ TOCTitle: Advanced Containers
PageTitle: Advanced Container Configuration
ContentId: f180ac25-1d59-47ec-bad2-3ccbf214bbd8
MetaDescription: Advanced setup for using the VS Code Dev Containers extension
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Advanced Container Configuration
diff --git a/docs/devcontainers/containers.md b/docs/devcontainers/containers.md
index f899d9368f..4ab7ece652 100644
--- a/docs/devcontainers/containers.md
+++ b/docs/devcontainers/containers.md
@@ -5,7 +5,7 @@ TOCTitle: Overview
PageTitle: Developing inside a Container using Visual Studio Code Remote Development
ContentId: 7ec8a02b-2eb7-45c1-bb16-ddeaac694ff6
MetaDescription: Developing inside a Container using Visual Studio Code Remote Development
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Developing inside a Container
diff --git a/docs/devcontainers/create-dev-container.md b/docs/devcontainers/create-dev-container.md
index 8c99efa174..4da6d05ddf 100644
--- a/docs/devcontainers/create-dev-container.md
+++ b/docs/devcontainers/create-dev-container.md
@@ -5,7 +5,7 @@ TOCTitle: Create a Dev Container
PageTitle: Create a development container using Visual Studio Code Remote Development
ContentId: bae55561-1032-40d4-b6a6-47054da96098
MetaDescription: Create a development container using Visual Studio Code Remote Development
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Create a Dev Container
diff --git a/docs/devcontainers/devcontainer-cli.md b/docs/devcontainers/devcontainer-cli.md
index 568f289332..5f2b23dea6 100644
--- a/docs/devcontainers/devcontainer-cli.md
+++ b/docs/devcontainers/devcontainer-cli.md
@@ -5,7 +5,7 @@ TOCTitle: Dev Container CLI
PageTitle: Installing and working with the devcontainer CLI
ContentId: 8946213d-716e-41ca-955f-944a41c70353
MetaDescription: Documentation on using the development container (dev container) command-line interface
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Dev Container CLI
diff --git a/docs/devcontainers/devcontainerjson-reference.md b/docs/devcontainers/devcontainerjson-reference.md
index 01bd06be2a..9b32893320 100644
--- a/docs/devcontainers/devcontainerjson-reference.md
+++ b/docs/devcontainers/devcontainerjson-reference.md
@@ -5,7 +5,7 @@ TOCTitle: devcontainer.json
PageTitle: devcontainer.json reference
ContentId: 52eaec33-21c6-410c-8e10-1ee3658a854f
MetaDescription: devcontainer.json reference
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# devcontainer.json reference
diff --git a/docs/devcontainers/faq.md b/docs/devcontainers/faq.md
index 4678cf107b..3e265ebd99 100644
--- a/docs/devcontainers/faq.md
+++ b/docs/devcontainers/faq.md
@@ -5,7 +5,7 @@ TOCTitle: FAQ
PageTitle: Visual Studio Code Dev Containers Frequently Asked Questions
ContentId: c4784db6-ab00-4ac7-bca8-88edb638c593
MetaDescription: Visual Studio Code troubleshooting tips and tricks for Dev Containers
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Dev Containers FAQ
diff --git a/docs/devcontainers/tips-and-tricks.md b/docs/devcontainers/tips-and-tricks.md
index 42eb5b195c..75f6b0b09c 100644
--- a/docs/devcontainers/tips-and-tricks.md
+++ b/docs/devcontainers/tips-and-tricks.md
@@ -5,7 +5,7 @@ TOCTitle: Tips and Tricks
PageTitle: Visual Studio Code Dev Containers Tips and Tricks
ContentId: c4784db6-ab00-4ac7-bca8-88edb638c593
MetaDescription: Visual Studio Code Remote Development troubleshooting tips and tricks for Dev Containers
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Dev Containers Tips and Tricks
diff --git a/docs/devcontainers/tutorial.md b/docs/devcontainers/tutorial.md
index a27d81aa89..d84fe38f73 100644
--- a/docs/devcontainers/tutorial.md
+++ b/docs/devcontainers/tutorial.md
@@ -5,7 +5,7 @@ TOCTitle: Tutorial
PageTitle: Get started with development Containers in Visual Studio Code
ContentId: 8e1fb9e0-1a67-4e0c-a21b-c5ab9a6d979c
MetaDescription: Get started with development Containers in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Dev Containers tutorial
diff --git a/docs/editor/accessibility.md b/docs/editor/accessibility.md
index e1875c3ac0..9e09175a36 100644
--- a/docs/editor/accessibility.md
+++ b/docs/editor/accessibility.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Accessibility
ContentId: 62894B41-CC33-400A-8A56-8C761C77B4C7
PageTitle: Accessibility in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code user accessibility features. Learn here about the various ways VS Code aids user accessibility.
---
# Accessibility
diff --git a/docs/editor/codebasics.md b/docs/editor/codebasics.md
index 6a47073a73..4afb284b85 100644
--- a/docs/editor/codebasics.md
+++ b/docs/editor/codebasics.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Basic Editing
ContentId: DE4EAE2F-4542-4363-BB74-BE47D64141E6
PageTitle: Basic Editing in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about the basic editing features of Visual Studio Code. Search, multiple selection, code formatting.
MetaSocialImage: images/codebasics/code-basics-social.png
---
@@ -97,7 +97,7 @@ For more control over `Auto Save`, open User or Workspace [settings](/docs/getst
## Hot Exit
-VS Code will remember unsaved changes to files when you exit by default. Hot exit is triggered when the application is closed via **File** > **Exit** (**Code** > **Quit** on macOS) or when the last window is closed.
+By default, VS Code remembers unsaved changes to files when you exit. Hot exit is triggered when the application is closed via **File** > **Exit** (**Code** > **Quit** on macOS) or when the last window is closed.
You can configure hot exit by setting `files.hotExit` to the following values:
@@ -105,7 +105,7 @@ You can configure hot exit by setting `files.hotExit` to the following values:
* `"onExit"`: Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (from the **Command Palette**, keyboard shortcut or menu). All windows without folders opened will be restored upon next launch.
* `"onExitAndWindowClose"`: Hot exit will be triggered when the application is closed, that is when the last window is closed on Windows/Linux or when the `workbench.action.quit` command is triggered (from the **Command Palette**, keyboard shortcut or menu), and also for any window with a folder opened regardless of whether it is the last window. All windows without folders opened will be restored upon next launch. To restore folder windows as they were before shutdown, set `window.restoreWindows` to `all`.
-If something happens to go wrong with hot exit, all backups are stored in the following folders for standard install locations:
+If something goes wrong with hot exit, all backups are stored in the following folders for standard install locations:
* **Windows** `%APPDATA%\Code\Backups`
* **macOS** `$HOME/Library/Application Support/Code/Backups`
@@ -259,7 +259,7 @@ The `search.searchEditor.reusePriorSearchConfiguration` setting (default is `fal
We'll always offer word completion, but for the rich [languages](/docs/languages/overview.md), such as JavaScript, JSON, HTML, CSS, SCSS, Less, C# and TypeScript, we offer a true IntelliSense experience. If a language service knows possible completions, the IntelliSense suggestions will pop up as you type. You can always manually trigger it with `kb(editor.action.triggerSuggest)`. By default, `kbstyle(Tab)` or `kbstyle(Enter)` are the accept keyboard triggers but you can also [customize these key bindings](/docs/getstarted/keybindings.md).
-> **Tip:** The suggestions filtering supports CamelCase so you can type the letters which are upper cased in a method name to limit the suggestions. For example, "cra" will quickly bring up "createApplication".
+> **Tip:** The suggestions filtering supports CamelCase, so you can type the letters which are upper cased in a method name to limit the suggestions. For example, "cra" will quickly bring up "createApplication".
> **Tip:** IntelliSense suggestions can be configured via the `editor.quickSuggestions` and `editor.suggestOnTriggerCharacters` [settings](/docs/getstarted/settings.md).
@@ -398,6 +398,23 @@ Then choose an encoding.
![Select an encoding](images/codebasics/encodingselection.png)
+## Compare files
+
+VS Code supports several ways to compare the content of the current file or of any two files.
+
+When you have an active file open in the editor, you have the following compare options:
+
+* **Compare with a workspace file**: in the Command Palette, select **File: Compare Active File With...**, and then choose another file to compare with.
+* **Compare with clipboard**: in the Command Palette, select **File: Compare Active File with Clipboard** (`kb(workbench.files.action.compareWithClipboard)`) to compare the current file with the clipboard content.
+* **Compare with saved**: in the Command Palette, select **File: Compare Active File with Saved** (`kb(workbench.files.action.compareWithSaved)`) to compare the current file with the last saved version.
+
+To compare any two files:
+
+* Right-click on a file in the Explorer view and select **Select for Compare**. Then, right-click on a second file and select **Compare with Selected**.
+* To start a comparison between two empty editor windows, select **File: Compare New Untitled Text Files** from the Command Palette.
+
+> **Tip:** You can start VS Code from the command line with the `--diff` option to compare two files. Learn more about the [VS Code command line interface](/docs/editor/command-line.md#core-cli-options).
+
## Next steps
You've covered the basic user interface - there is a lot more to VS Code. Read on to find out about:
diff --git a/docs/editor/command-line.md b/docs/editor/command-line.md
index 28dae315f8..75975930ca 100644
--- a/docs/editor/command-line.md
+++ b/docs/editor/command-line.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Command Line Interface
ContentId: 8faef870-7a5f-4070-ad17-8ba791006912
PageTitle: The Visual Studio Code command-line interface
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code command-line interface (switches).
---
# Command Line Interface (CLI)
diff --git a/docs/editor/debugging.md b/docs/editor/debugging.md
index 8b89117f3f..0d23c3a9bd 100644
--- a/docs/editor/debugging.md
+++ b/docs/editor/debugging.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Debugging
ContentId: 4E9A74AA-D778-4D1C-B369-83763B3C340F
PageTitle: Debugging in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: One of the great things in Visual Studio Code is debugging support. Set breakpoints, step-in, inspect variables and more.
MetaSocialImage: images/debugging/debugging-social.png
---
diff --git a/docs/editor/editingevolved.md b/docs/editor/editingevolved.md
index 1345ab0c6d..f467d47a03 100644
--- a/docs/editor/editingevolved.md
+++ b/docs/editor/editingevolved.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Code Navigation
ContentId: 8966BBFD-C66D-4283-9DCA-8CAC0179886E
PageTitle: Code Navigation in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code is a first class editor - but it's also so much more with features such as IntelliSense and smart code navigation.
---
# Code Navigation
diff --git a/docs/editor/emmet.md b/docs/editor/emmet.md
index 6a0b1ddb15..54b6042c5d 100644
--- a/docs/editor/emmet.md
+++ b/docs/editor/emmet.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Emmet
ContentId: baf4717c-ea52-486e-9ea3-7bf1c4134dad
PageTitle: Emmet in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Using Emmet abbreviations inside Visual Studio Code.
---
# Emmet in Visual Studio Code
diff --git a/docs/editor/extension-marketplace.md b/docs/editor/extension-marketplace.md
index f4a7bf783a..f35a40fa45 100644
--- a/docs/editor/extension-marketplace.md
+++ b/docs/editor/extension-marketplace.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Extension Marketplace
ContentId: 319916C4-93F2-471F-B448-FD416736C40C
PageTitle: Managing Extensions in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Discover, add, update, disable and uninstall Visual Studio Code extensions (plug-ins) through the Extension Marketplace.
---
# Extension Marketplace
@@ -31,6 +31,10 @@ Each extension in the list includes a brief description, the publisher, the down
To install an extension, select the **Install** button. Once the installation is complete, the **Install** button will change to the **Manage** gear button.
+If you want to install a specific version of an extension, right-click the extension and select **Install Another Version**. You can then select a version from the available list.
+
+When [Settings Sync](/docs/editor/settings-sync.md) is enabled, you can share your VS Code configurations, such as extensions, across your machines. To install an extension and not sync it across your machines, right-click the extension and select **Install (Do not Sync)**.
+
### Find and install an extension
For example, let's install the popular [TODO Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) extension. This extension highlights text like 'TODO:' and 'FIXME:' in your source code so you can quickly find undone sections.
diff --git a/docs/editor/glob-patterns.md b/docs/editor/glob-patterns.md
index 3dfd1689c7..0c40e42268 100644
--- a/docs/editor/glob-patterns.md
+++ b/docs/editor/glob-patterns.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Glob Patterns Reference
ContentId: c2d81f09-3c24-4659-8aa0-9ca24ef4950d
PageTitle: Visual Studio Code glob patterns reference
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code glob patterns reference
---
# Glob Patterns Reference
diff --git a/docs/editor/intellisense.md b/docs/editor/intellisense.md
index fb381ba40c..73d3f2285a 100644
--- a/docs/editor/intellisense.md
+++ b/docs/editor/intellisense.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: IntelliSense
ContentId: 80f4fa1e-d4c5-42cf-8b12-4b8e88c41c3e
PageTitle: IntelliSense in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about Visual Studio Code IntelliSense (intelligent code completion).
---
# IntelliSense
diff --git a/docs/editor/multi-root-workspaces.md b/docs/editor/multi-root-workspaces.md
index 63828df9e4..bd6cf30769 100644
--- a/docs/editor/multi-root-workspaces.md
+++ b/docs/editor/multi-root-workspaces.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Multi-root Workspaces
ContentId: 8d55f6b8-977f-4c26-a888-f3d8d982dd2d
PageTitle: Multi-root Workspaces in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: You can open and work on multiple project folders in Visual Studio Code with multi-root workspaces.
---
# Multi-root Workspaces
diff --git a/docs/editor/port-forwarding.md b/docs/editor/port-forwarding.md
index 84c680de4e..5ff4cbaabf 100644
--- a/docs/editor/port-forwarding.md
+++ b/docs/editor/port-forwarding.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Port Forwarding
ContentId: d7a80c88-c091-4d13-9240-d432c12407a7
PageTitle: Port forwarding local services with VS Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Make your local web services accessible over the internet with Visual Studio Code
---
# Local Port Forwarding
diff --git a/docs/editor/portable.md b/docs/editor/portable.md
index e38dfd80d5..f5492900b6 100644
--- a/docs/editor/portable.md
+++ b/docs/editor/portable.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Portable Mode
ContentId: A5C839C4-67E9-449C-94B8-4B310FCAAB1B
PageTitle: Portable Mode in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code supports a Portable Mode.
---
# Portable Mode
diff --git a/docs/editor/profiles.md b/docs/editor/profiles.md
index c820a03366..0928f2f3b1 100644
--- a/docs/editor/profiles.md
+++ b/docs/editor/profiles.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Profiles
ContentId: a65efc48-5a2d-4c7d-bd23-03f0393b53f6
PageTitle: Profiles in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Expand your development workflow with task integration in Visual Studio Code.
---
# Profiles in Visual Studio Code
@@ -21,7 +21,7 @@ To create a new profile, you can use the **File** > **Preferences** > **Profiles
You can create a new profile based on the current profile (**Profiles: Create from Current Profiles**) or create an Empty Profile. An Empty Profile includes no user customizations (settings, extensions, snippets, etc.).
-You can also access the Profile command menu via the **Manage** gear button in the lower right of the Activity bar.
+You can also access the **Profiles** command menu via the **Manage** gear button in the Activity bar.
![Create Profile command via the Manage button in the Activity bar](images/profiles/create-profile-via-manage.png)
@@ -59,17 +59,13 @@ You can configure a profile just as you would normally change any VS Code config
When you create or select an existing profile, it is associated with the current workspace and whenever you open that folder, the workspace's profile is active. If you open another folder, the profile switches to that folder's associated profile if one has been set.
-If no profile has been set, you can specify which profile should be used when opening a new window by configuring the `window.newWindowProfile` [setting](/docs/getstarted/settings.md).
-
-![Configure custom profile for new window](images/profiles/profile-new-window.png)
-
## Managing profiles
### Switch profiles
You can quickly switch between profiles with the **Profiles: Switch Profile** command in the Command Palette, which presents a dropdown listing your available profiles.
-You can also switch profiles by selecting a profile from the list displayed in the Profiles menus, available via the **Manage** gear button or **File** > **Preferences** > **Profiles**.
+You can also switch profiles by selecting a profile from the list displayed in the **Profiles** menus, available via the **Manage** gear button or **File** > **Preferences** > **Profiles**.
### Edit a profile
@@ -79,6 +75,14 @@ You can edit an existing profile via the **Edit** command in the Profiles menu.
You can delete a profile via the **Delete Profile** command. The **Delete Profile** drop down lets you select which profile(s) to delete.
+### Open a new window with a profile
+
+When you open a new VS Code window, the profile used is the one associated with the workspace you are opening or the profile specified in the `window.newWindowProfile` [setting](/docs/getstarted/settings.md).
+
+![Configure custom profile for new window](images/profiles/profile-new-window.png)
+
+You can directly open a new VS Code window for a specific profile by using the **File** > **New Window with Profile** menu, and selecting the profile you want to use.
+
## Profile contents
The **Profiles: Show Contents** command (available in the Command Palette or Profiles menus) brings up the Profiles view, where you can review the customizations for the profile.
diff --git a/docs/editor/refactoring.md b/docs/editor/refactoring.md
index 0bceec6d75..df141c687f 100644
--- a/docs/editor/refactoring.md
+++ b/docs/editor/refactoring.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Refactoring
ContentId: 481dfd3a-d847-4ed3-b37b-7fc8d234a4c2
PageTitle: Refactoring source code in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Refactoring source code in Visual Studio Code.
---
# Refactoring
diff --git a/docs/editor/settings-sync.md b/docs/editor/settings-sync.md
index 99b2251d0c..3ed6247c90 100644
--- a/docs/editor/settings-sync.md
+++ b/docs/editor/settings-sync.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Settings Sync
ContentId: 6cb84e60-6d90-4137-83f6-bdab3438b8f5
PageTitle: Settings Sync in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Synchronize your user settings across all your Visual Studio Code instances.
---
# Settings Sync
diff --git a/docs/editor/tasks-appendix.md b/docs/editor/tasks-appendix.md
index aa29f9b529..6d191706e5 100644
--- a/docs/editor/tasks-appendix.md
+++ b/docs/editor/tasks-appendix.md
@@ -2,7 +2,7 @@
TOCTitle: Tasks Appendix
ContentId: 6DCA48F5-0566-4AEB-9C4C-CCBBA2945347
PageTitle: Visual Studio Code Tasks Appendix
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Additional info for using task runners in Visual Studio Code.
---
# Appendix
diff --git a/docs/editor/tasks.md b/docs/editor/tasks.md
index 5bef3239f0..2bfbb761be 100644
--- a/docs/editor/tasks.md
+++ b/docs/editor/tasks.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Tasks
ContentId: F5EA1A52-1EF2-4127-ABA6-6CEF5447C608
PageTitle: Tasks in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Expand your development workflow with task integration in Visual Studio Code.
---
# Integrate with External Tools via Tasks
diff --git a/docs/editor/testing.md b/docs/editor/testing.md
index 3698c87d02..1b9a2df0aa 100644
--- a/docs/editor/testing.md
+++ b/docs/editor/testing.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Testing
ContentId: d44f1a5c-5454-4037-92d5-c2bf5d4cffed
PageTitle: Testing in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: One of the great things in Visual Studio Code is testing support. Automatically discover tests in your project, run and debug your tests, and get test coverage results.
---
# Testing
diff --git a/docs/editor/userdefinedsnippets.md b/docs/editor/userdefinedsnippets.md
index 7691dbf413..29d067a695 100644
--- a/docs/editor/userdefinedsnippets.md
+++ b/docs/editor/userdefinedsnippets.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Snippets
ContentId: 79CD9B45-97FF-48B1-8DD5-2555F56206A6
PageTitle: Snippets in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: It is easy to add code snippets to Visual Studio Code both for your own use or to share with others on the public Extension Marketplace. TextMate .tmSnippets files are supported.
---
# Snippets in Visual Studio Code
diff --git a/docs/editor/variables-reference.md b/docs/editor/variables-reference.md
index fd971028b6..a63ad37d76 100644
--- a/docs/editor/variables-reference.md
+++ b/docs/editor/variables-reference.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Variables reference
ContentId: ff9cd4ea-e3f0-4170-9451-2f2ea2b909ea
PageTitle: Visual Studio Code Variables Reference
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code variable substitution reference
---
# Variables Reference
diff --git a/docs/editor/vscode-web.md b/docs/editor/vscode-web.md
index 254645d395..f3a89b1fdf 100644
--- a/docs/editor/vscode-web.md
+++ b/docs/editor/vscode-web.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: VS Code for the Web
ContentId: d665a790-1da1-4f45-bc0f-c09822528e55
PageTitle: Visual Studio Code for the Web
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code for the Web and the vscode.dev URL
---
# Visual Studio Code for the Web
diff --git a/docs/editor/whyvscode.md b/docs/editor/whyvscode.md
index 8d1a44d483..c9e19a0298 100644
--- a/docs/editor/whyvscode.md
+++ b/docs/editor/whyvscode.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Why VS Code
ContentId: FF543B32-703C-4894-9A3B-2B5BFAF8B6B8
PageTitle: Why Visual Studio Code?
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code provides developers with a new choice of tool that combines the simplicity of a code editor with the best tooling for their core edit-build-debug cycle. Visual Studio Code is available for macOS, Linux, and Windows.
---
# Why did we build Visual Studio Code?
diff --git a/docs/editor/workspace-trust.md b/docs/editor/workspace-trust.md
index 54d1ad2fbd..48bd4d24d5 100644
--- a/docs/editor/workspace-trust.md
+++ b/docs/editor/workspace-trust.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Workspace Trust
ContentId: 51280c26-f78b-4f9c-997f-8350bd6ed07f
PageTitle: Visual Studio Code Workspace Trust security
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code Workspace Trust folder security
---
# Workspace Trust
diff --git a/docs/editor/workspaces.md b/docs/editor/workspaces.md
index 2d4bf03356..7d077bd3d7 100644
--- a/docs/editor/workspaces.md
+++ b/docs/editor/workspaces.md
@@ -4,7 +4,7 @@ Area: editor
TOCTitle: Workspaces
ContentId: 0144ad9a-14df-41b5-9629-cbba7dbfc396
PageTitle: Workspaces in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about Visual Studio Code workspaces
---
# What is a VS Code "workspace"?
diff --git a/docs/getstarted/introvideos.md b/docs/getstarted/introvideos.md
index 8835465c91..34de02b61e 100644
--- a/docs/getstarted/introvideos.md
+++ b/docs/getstarted/introvideos.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Intro Videos
ContentId: f29747b9-0f4f-4f62-b0a7-037ffc49d972
PageTitle: Visual Studio Code Introductory Videos
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Overview of Visual Studio Code's introductory videos.
MetaSocialImage: ../introvideos/images/opengraph/introvideos-social.png
---
diff --git a/docs/getstarted/keybindings.md b/docs/getstarted/keybindings.md
index d098667911..2b04830d95 100644
--- a/docs/getstarted/keybindings.md
+++ b/docs/getstarted/keybindings.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Key Bindings
ContentId: 045980C1-62C7-4E8E-8CE4-BAD722FFE31E
PageTitle: Visual Studio Code Key Bindings
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Here you will find the complete list of key bindings for Visual Studio Code and how to change them.
MetaSocialImage: images/keybinding/customization-keybindings-social.png
---
diff --git a/docs/getstarted/locales.md b/docs/getstarted/locales.md
index 0dcb1e5389..307048d9d0 100644
--- a/docs/getstarted/locales.md
+++ b/docs/getstarted/locales.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Display Language
PageTitle: Visual Studio Code Display Language (Locale)
ContentId: 413A7FA3-94F8-4FCB-A4A3-F4C1E77EF716
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: How to change the display language (locale) of Visual Studio Code.
---
# Display Language
diff --git a/docs/getstarted/settings.md b/docs/getstarted/settings.md
index b9a69c3a75..d190954a0a 100644
--- a/docs/getstarted/settings.md
+++ b/docs/getstarted/settings.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Settings
ContentId: FDA6D86C-FF24-49BC-A1EB-E3BA43130FA0
PageTitle: Visual Studio Code User and Workspace Settings
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: How to modify Visual Studio Code User and Workspace Settings.
---
# User and Workspace Settings
@@ -1539,6 +1539,7 @@ Below are the Visual Studio Code default settings and their values. You can also
"workbench.editor.chatSession": false,
"workbench.editorinputs.searchEditorInput": false,
"workbench.editors.gettingStartedInput": false,
+ "repl": false,
"terminalEditor": true,
"jupyter-notebook": false,
"imagePreview.previewEditor": false,
@@ -2087,6 +2088,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// When enabled, will limit auto save of editors to files that are inside the opened workspace. Only applies when `files.autoSave` is enabled.
"files.autoSaveWorkspaceFilesOnly": false,
+ // List of character set encodings that the editor should attempt to guess in the order they are listed. In case it cannot be determined, `files.encoding` is respected.
+ "files.candidateGuessEncodings": [],
+
// The default language identifier that is assigned to new files. If configured to `${activeEditorLanguage}`, will use the language identifier of the currently active text editor if any.
"files.defaultLanguage": "",
@@ -2396,6 +2400,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// Whether to include results from a global symbol search in the file results for Quick Open.
"search.quickOpen.includeSymbols": false,
+ // Number of threads to use for searching. When set to 0, the engine automatically determines this value.
+ "search.ripgrep.maxThreads": 0,
+
// The default number of surrounding context lines to use when creating new Search Editors. If using `search.searchEditor.reusePriorSearchConfiguration`, this can be set to `null` (empty) to use the prior Search Editor's configuration.
"search.searchEditor.defaultNumberOfContextLines": 1,
@@ -2454,6 +2461,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// HTTP
+ // Specifies domain names for which proxy settings should be ignored for HTTP/HTTPS requests.
+ "http.noProxy": [],
+
// The proxy setting to use. If not set, will be inherited from the `http_proxy` and `https_proxy` environment variables.
"http.proxy": "",
@@ -2625,6 +2635,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// Controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false the stop command on a sub-session will also stop the parent session.
"debug.showSubSessionsInToolBar": false,
+ // Show variable type in variable pane during debug session
+ "debug.showVariableTypes": false,
+
// Before starting a new debug session in an integrated or external terminal, clear the terminal.
"debug.terminal.clearBeforeReusing": false,
@@ -3322,6 +3335,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// - When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command.
"typescript.tsdk": "",
+ // Enables region-based diagnostics in TypeScript.
+ "typescript.tsserver.enableRegionDiagnostics": true,
+
// Enables tracing TS server performance to a directory. These trace files can be used to diagnose TS Server performance issues. The log may contain file paths, source code, and other potentially sensitive information from your project.
"typescript.tsserver.enableTracing": false,
@@ -3748,6 +3764,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// When enabled, automatically checks extensions for updates. If an extension has an update, it is marked as outdated in the Extensions view. The updates are fetched from a Microsoft online service.
"extensions.autoCheckUpdates": true,
+ // If activated, extensions will automatically restart following an update if the window is not in focus.
+ "extensions.autoRestart": false,
+
// Controls the automatic update behavior of extensions. The updates are fetched from a Microsoft online service.
// - true: Download and install updates automatically for all extensions except for those updates are ignored.
// - onlyEnabledExtensions: Download and install updates automatically only for enabled extensions except for those updates are ignored. Disabled extensions are not updated automatically.
@@ -3955,7 +3974,7 @@ Below are the Visual Studio Code default settings and their values. You can also
// - mouseover: The folding controls are visible only on mouseover.
"notebook.showFoldingControls": "mouseover",
- // Controls whether to render notebook Sticky Scroll headers in the notebook editor.
+ // Experimental. Controls whether to render notebook Sticky Scroll headers in the notebook editor.
"notebook.stickyScroll.enabled": false,
// Control whether nested sticky lines appear to stack flat or indented.
@@ -3970,11 +3989,14 @@ Below are the Visual Studio Code default settings and their values. You can also
"interactiveWindow.alwaysScrollOnNewCell": true,
// Execute the interactive window (REPL) input box with shift+enter, so that enter can be used to create a newline.
- "interactiveWindow.executeWithShiftEnter": true,
+ "interactiveWindow.executeWithShiftEnter": false,
// Prompt to save the interactive window when it is closed. Only new interactive windows will be affected by this setting change.
"interactiveWindow.promptToSaveOnClose": false,
+ // Display a hint in the Interactive Window (REPL) input box to indicate how to execute code.
+ "interactiveWindow.showExecutionHint": true,
+
// Terminal
// When opening a file from the Explorer in a terminal, determines what kind of terminal will be launched
@@ -4098,6 +4120,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// - Command Prompt: $(terminal-cmd) Command Prompt
// - path: C:\WINDOWS\System32\cmd.exe
// - args: []
+ // - Ubuntu-22.04 (WSL): $(terminal-ubuntu) Ubuntu-22.04 (WSL)
+ // - path: C:\WINDOWS\System32\wsl.exe
+ // - args: ['-d','Ubuntu-22.04']
// - JavaScript Debug Terminal: $($(debug)) JavaScript Debug Terminal
// - extensionIdentifier: ms-vscode.js-debug
"terminal.integrated.defaultProfile.windows": null,
@@ -4884,27 +4909,13 @@ Below are the Visual Studio Code default settings and their values. You can also
// On keypress, close the Accessible View and focus the element from which it was invoked.
"accessibility.accessibleView.closeOnKeyPress": true,
- // Configures the behavior of signals (audio cues and announcements) in the workbench. Includes volume, debounce position changes, and delays for different types of signals.
- "accessibility.signalOptions": {
- "volume": 70,
- "debouncePositionChanges": false,
- "experimental.delays": {
- "general": {
- "announcement": 3000,
- "sound": 400
- },
- "warningAtPosition": {
- "announcement": 3000,
- "sound": 1000
- },
- "errorAtPosition": {
- "announcement": 3000,
- "sound": 1000
- }
- }
- },
+ // Whether or not position changes should be debounced
+ "accessibility.signalOptions.debouncePositionChanges": false,
- // Plays a signal when a chat request is made.
+ // The volume of the sounds in percent (0-100).
+ "accessibility.signalOptions.volume": 70,
+
+ // Indicates when a chat request is made.
"accessibility.signals.chatRequestSent": {
"sound": "auto",
"announcement": "auto"
@@ -4915,7 +4926,7 @@ Below are the Visual Studio Code default settings and their values. You can also
"sound": "auto"
},
- // Plays a signal when a feature is cleared (for example, the terminal, Debug Console, or Output channel).
+ // Indicates when a feature is cleared (for example, the terminal, Debug Console, or Output channel).
"accessibility.signals.clear": {
"sound": "auto",
"announcement": "auto"
@@ -4936,13 +4947,13 @@ Below are the Visual Studio Code default settings and their values. You can also
"sound": "auto"
},
- // Plays a signal when a file or notebook is formatted.
+ // Indicates when a file or notebook is formatted.
"accessibility.signals.format": {
"sound": "never",
"announcement": "never"
},
- // Plays a signal when the active line has a breakpoint.
+ // Indicates when the active line has a breakpoint.
"accessibility.signals.lineHasBreakpoint": {
"sound": "auto",
"announcement": "auto"
@@ -4965,106 +4976,109 @@ Below are the Visual Studio Code default settings and their values. You can also
"sound": "auto"
},
- // Plays a signal when the active line has a warning.
+ // Indicates when the active line has a warning.
"accessibility.signals.lineHasWarning": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when trying to read a line with inlay hints that has no inlay hints.
+ // Indicates when trying to read a line with inlay hints that has no inlay hints.
"accessibility.signals.noInlayHints": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a notebook cell execution is successfully completed.
+ // Indicates when a notebook cell execution is successfully completed.
"accessibility.signals.notebookCellCompleted": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a notebook cell execution fails.
+ // Indicates when a notebook cell execution fails.
"accessibility.signals.notebookCellFailed": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when the debugger stopped on a breakpoint.
+ // Indicates when the debugger stopped on a breakpoint.
"accessibility.signals.onDebugBreak": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when the active line has a warning.
+ // Indicates when the active line has a warning.
"accessibility.signals.positionHasError": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when the active line has a warning.
+ // Indicates when the active line has a warning.
"accessibility.signals.positionHasWarning": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal on loop while progress is occurring.
+ // Indicates on loop while progress is occurring.
"accessibility.signals.progress": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a file is saved.
+ // Indicates when a file is saved.
"accessibility.signals.save": {
"sound": "never",
"announcement": "never"
},
- // Plays a signal when a task is completed.
+ // Indicates when a task is completed.
"accessibility.signals.taskCompleted": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a task fails (non-zero exit code).
+ // Indicates when a task fails (non-zero exit code).
"accessibility.signals.taskFailed": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when the terminal bell is ringing.
+ // Indicates when the terminal bell is ringing.
"accessibility.signals.terminalBell": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a terminal command fails (non-zero exit code).
+ // Indicates when a terminal command fails (non-zero exit code) or when a command with such an exit code is navigated to in the accessible view.
"accessibility.signals.terminalCommandFailed": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when a terminal command succeeds (zero exit code) or when a command with such an exit code is navigated to in the accessible view.
+ // Indicates when a terminal command succeeds (zero exit code) or when a command with such an exit code is navigated to in the accessible view.
"accessibility.signals.terminalCommandSucceeded": {
"sound": "auto",
"announcement": "auto"
},
- // Plays a signal when terminal Quick Fixes are available.
+ // Indicates when terminal Quick Fixes are available.
"accessibility.signals.terminalQuickFix": {
"sound": "auto",
"announcement": "auto"
},
- // Indicates when the voice recording has started.
+ // Plays a sound / audio cue when the voice recording has started.
"accessibility.signals.voiceRecordingStarted": {
"sound": "on"
},
- // Indicates when the voice recording has stopped.
+ // Plays a sound / audio cue when the voice recording has stopped.
"accessibility.signals.voiceRecordingStopped": {
"sound": "auto"
},
+ // Controls whether links should be underlined in the workbench.
+ "accessibility.underlineLinks": false,
+
// Provide information about actions that can be taken in the comment widget or in a file which contains comments.
"accessibility.verbosity.comments": true,
@@ -5098,6 +5112,9 @@ Below are the Visual Studio Code default settings and their values. You can also
// Provide information about how to access the chat help menu when the chat input is focused.
"accessibility.verbosity.panelChat": true,
+ // Provide information about relevant actions for the REPL input.
+ "accessibility.verbosity.replInputHint": true,
+
// Provide information about how to access the terminal accessibility help menu when the terminal is focused.
"accessibility.verbosity.terminal": true,
diff --git a/docs/getstarted/telemetry.md b/docs/getstarted/telemetry.md
index 016f53bacf..ec640565ce 100644
--- a/docs/getstarted/telemetry.md
+++ b/docs/getstarted/telemetry.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Telemetry
PageTitle: Visual Studio Code Telemetry
ContentId: 47a2e3b1-24f2-42e6-a6e6-272c2a0f3218
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about Visual Studio Code collected telemetry and how to opt out.
---
# Telemetry
diff --git a/docs/getstarted/themes.md b/docs/getstarted/themes.md
index ab0fa60e36..f77ebb9da4 100644
--- a/docs/getstarted/themes.md
+++ b/docs/getstarted/themes.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Themes
ContentId: CAC88BC7-90A5-4384-8A05-2187117C0F72
PageTitle: Visual Studio Code Themes
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Changing the color theme in Visual Studio Code. You can use color themes provided by VS Code, the community or create your own new themes.
---
# Themes
@@ -96,6 +96,14 @@ If a customization applies to more than one theme, you can name multiple themes
}
```
+If a theme sets a color or border that you don't like, you can use `default` to set it back to the original value:
+
+```json
+ "workbench.colorCustomizations": {
+ "diffEditor.removedTextBorder": "default"
+ }
+```
+
### Editor syntax highlighting
To tune the editor's syntax highlighting colors, use `editor.tokenColorCustomizations` in your user [settings](/docs/getstarted/settings.md) `settings.json` file:
diff --git a/docs/getstarted/tips-and-tricks.md b/docs/getstarted/tips-and-tricks.md
index 9f54e80ed2..bcaeb3d363 100644
--- a/docs/getstarted/tips-and-tricks.md
+++ b/docs/getstarted/tips-and-tricks.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: Tips and Tricks
ContentId: 9bbbe55d-cf81-428f-8a9f-4f60280cb874
PageTitle: Visual Studio Code Tips and Tricks
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code Tips and Tricks for power users.
---
# Visual Studio Code Tips and Tricks
@@ -912,6 +912,12 @@ git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
```
+## Compare file with the clipboard
+
+Keyboard Shortcut: `kb(workbench.files.action.compareWithClipboard)`
+
+Quickly compare the active file with the contents of the clipboard with the **File: Compare Active File with Clipboard** command in the Command Palette (`kb(workbench.action.showCommands)`).
+
## Debugging
### Configure debugger
diff --git a/docs/getstarted/userinterface.md b/docs/getstarted/userinterface.md
index 101f0dfb0c..fd5dff9e1c 100644
--- a/docs/getstarted/userinterface.md
+++ b/docs/getstarted/userinterface.md
@@ -4,7 +4,7 @@ Area: getstarted
TOCTitle: User Interface
ContentId: 3a33f35b-cded-4f7f-8674-6f2ba5fca023
PageTitle: Visual Studio Code User Interface
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: A quick overview of the Visual Studio Code user interface. Learn about the editor, window management, and special UI to handle source control, extension management, full text search and more.
---
# User Interface
@@ -292,7 +292,7 @@ To enable custom display labels for tabs, set the `workbench.editor.customLabels
You can specify one or more naming patterns for the tab display labels with the `workbench.editor.customLabels.patterns` setting. A name pattern consists of two components:
- **Item** - a [glob pattern](/docs/editor/glob-patterns.md) that matches file paths for which to apply a custom label. For example, `**/static/**/*.html`.
-- **Value** - a template for the custom label. Templates can use variables such as `${filename}`, `${extname}`, `${dirname}`, and `${dirname(N)}`, which are dynamically replaced with values from the file's path.
+- **Value** - a template for the custom label. Templates can use variables such as `${filename}`, `${extname}`, `${extname(N)}`, `${dirname}`, and `${dirname(N)}`, which are dynamically replaced with values from the file's path.
The following sample displays the `/src/orders/index.html` file with a tab label of `orders/index`.
@@ -304,6 +304,15 @@ The following sample displays the `/src/orders/index.html` file with a tab label
![Screenshot of Setting editor to enable and specify custom labels for tabs](images/userinterface/tabs-custom-labels.png)
+The following examples use the `${extname}` variable for the file `tests/editor.test.ts`:
+
+* `${filename}` => editor
+* `${extname}` => test.ts
+* `${extname(0)}` => ts
+* `${extname(1)}` => test
+* `${extname(-1)}` => test
+* `${extname(-2)}` => ts
+
> **Note**: The custom tab labels also apply in the Open Editors view and in [Quick Open](/docs/getstarted/tips-and-tricks.md#quick-open) (`kb(workbench.action.quickOpen)`).
## Preview mode
diff --git a/docs/languages/css.md b/docs/languages/css.md
index 1d386cdb93..2f69fd2ecf 100644
--- a/docs/languages/css.md
+++ b/docs/languages/css.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: CSS, SCSS and Less
ContentId: 039882CB-B5C4-46BD-A8D5-DB24A5E82706
PageTitle: CSS, SCSS, and Less support in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Find out how Visual Studio Code can support your CSS, SCSS and Less development.
---
# CSS, SCSS and Less
diff --git a/docs/languages/html.md b/docs/languages/html.md
index 552fb5d3ad..ac294ba3c2 100644
--- a/docs/languages/html.md
+++ b/docs/languages/html.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: HTML
ContentId: 43095EAF-4B93-407C-A6F9-6DB173D79088
PageTitle: HTML Programming with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get the best out of Visual Studio Code for HTML development
---
# HTML in Visual Studio Code
diff --git a/docs/languages/identifiers.md b/docs/languages/identifiers.md
index 330dabd838..f9e98dd816 100644
--- a/docs/languages/identifiers.md
+++ b/docs/languages/identifiers.md
@@ -3,7 +3,7 @@ Area: languages
TOCTitle: Language Identifiers
ContentId: 3f773ade-7e71-4fb9-9bb9-d9e0b20fa799
PageTitle: Visual Studio Code language identifiers
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code language mode identifiers
---
# Language Identifiers
diff --git a/docs/languages/javascript.md b/docs/languages/javascript.md
index 8d1e01df4e..92141f087c 100644
--- a/docs/languages/javascript.md
+++ b/docs/languages/javascript.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: JavaScript
ContentId: F54BB3D4-76FB-4547-A9D0-F725CEBB905C
PageTitle: JavaScript Programming with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get the best out of Visual Studio Code for JavaScript development
---
diff --git a/docs/languages/jsconfig.md b/docs/languages/jsconfig.md
index 8e44001206..a853c09fe5 100644
--- a/docs/languages/jsconfig.md
+++ b/docs/languages/jsconfig.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: Appendix - jsconfig.json
ContentId: 201cd81d-523c-4f62-b1f5-ed26c091657b
PageTitle: jsconfig.json Reference
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: View the reference for jsconfig.json.
---
# jsconfig.json
diff --git a/docs/languages/json.md b/docs/languages/json.md
index 3eab988169..02db6bcbac 100644
--- a/docs/languages/json.md
+++ b/docs/languages/json.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: JSON
ContentId: FB3B14D9-A59A-4968-ACFC-5FB5D4E9B70E
PageTitle: JSON editing in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Edit JSON files in Visual Studio Code
---
# Editing JSON with Visual Studio Code
diff --git a/docs/languages/markdown.md b/docs/languages/markdown.md
index 1821b6b87f..da344751ba 100644
--- a/docs/languages/markdown.md
+++ b/docs/languages/markdown.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: Markdown
ContentId: 47A8BA5A-A103-4B61-B5FB-185C15E54C52
PageTitle: Markdown editing with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get the best out of Visual Studio Code for Markdown
---
# Markdown and Visual Studio Code
diff --git a/docs/languages/overview.md b/docs/languages/overview.md
index 1b0f49f76e..d1953e6138 100644
--- a/docs/languages/overview.md
+++ b/docs/languages/overview.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: Overview
ContentId: AC888642-FBE5-43E5-9DC2-47B197717940
PageTitle: Language Support in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: In Visual Studio Code we have support for all common languages including smart code completion and debugging.
---
# Programming Languages
diff --git a/docs/languages/php.md b/docs/languages/php.md
index a8e11bc9ce..b370b4f367 100644
--- a/docs/languages/php.md
+++ b/docs/languages/php.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: PHP
ContentId: DD4E5A59-1586-4A5D-8047-3D58B2FE6937
PageTitle: PHP Programming with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about Visual Studio Code editor features (syntax highlighting, snippets, linting) and extensions for PHP.
---
# PHP in Visual Studio Code
diff --git a/docs/languages/typescript.md b/docs/languages/typescript.md
index 476f9faa78..2455308415 100644
--- a/docs/languages/typescript.md
+++ b/docs/languages/typescript.md
@@ -4,7 +4,7 @@ Area: languages
TOCTitle: TypeScript
ContentId: 05C114DF-4FDC-4C65-8954-58F5F293FAFD
PageTitle: TypeScript Programming with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get the best out editing TypeScript with Visual Studio Code.
MetaSocialImage: images/typescript/typescript-social.png
---
diff --git a/docs/nodejs/angular-tutorial.md b/docs/nodejs/angular-tutorial.md
index 8adcf8bd3e..370371eed7 100644
--- a/docs/nodejs/angular-tutorial.md
+++ b/docs/nodejs/angular-tutorial.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Angular Tutorial
ContentId: f6b7b0c2-ccbe-4e5f-8f2e-6c1ecea52f69
PageTitle: Angular TypeScript Tutorial in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Angular TypeScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor.
MetaSocialImage: images/angular/Welcome-to-app.png
---
diff --git a/docs/nodejs/browser-debugging.md b/docs/nodejs/browser-debugging.md
index 002da28135..52449d285c 100644
--- a/docs/nodejs/browser-debugging.md
+++ b/docs/nodejs/browser-debugging.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Browser Debugging
ContentId: d0e271da-0372-4ab9-a2ab-b7add855bd5a
PageTitle: Debug Browser Apps using Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: The Visual Studio Code editor includes browser debugging support. Set breakpoints, step-in, inspect variables and more.
MetaSocialImage: ../editor/images/debugging/debugging-social.png
---
diff --git a/docs/nodejs/debugging-recipes.md b/docs/nodejs/debugging-recipes.md
index 1d7e45aaa3..9eb8ba43b3 100644
--- a/docs/nodejs/debugging-recipes.md
+++ b/docs/nodejs/debugging-recipes.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Debugging Recipes
ContentId: 215832f9-d5bd-4cea-8cea-bfc4dc7ff7d1
PageTitle: JavaScript Debugging Recipes for Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn more about how to setup debugging in Visual Studio Code with debugging recipes
MetaSocialImage: ../editor/images/debugging/debugging-social.png
---
diff --git a/docs/nodejs/extensions.md b/docs/nodejs/extensions.md
index 0a1e5d6b77..bb2d7a5b86 100644
--- a/docs/nodejs/extensions.md
+++ b/docs/nodejs/extensions.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Extensions
ContentId: 3224f624-a3fc-4eeb-81d1-eb653a90a6fc
PageTitle: JavaScript Extensions in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn more about installing and integrating JavaScript and Node.js extensions in the Visual Studio Code editor.
---
# JavaScript extensions for VS Code
diff --git a/docs/nodejs/nodejs-debugging.md b/docs/nodejs/nodejs-debugging.md
index 683147feb0..721cf23df8 100644
--- a/docs/nodejs/nodejs-debugging.md
+++ b/docs/nodejs/nodejs-debugging.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Node.js Debugging
ContentId: 3AC4DBB5-1469-47FD-9CC2-6C94684D4A9D
PageTitle: Debug Node.js Apps using Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: The Visual Studio Code editor includes Node.js debugging support. Set breakpoints, step-in, inspect variables and more.
MetaSocialImage: ../editor/images/debugging/debugging-social.png
---
@@ -437,6 +437,23 @@ Here are some things to try when your breakpoints turn gray:
* Try searching for help with your particular setup on Stack Overflow or by filing an issue on GitHub.
* Try adding a `debugger` statement. If it breaks into the `.ts` file there, but breakpoints at that spot don't bind, that is useful information to include with a GitHub issue.
+### Overriding source map paths
+
+The debugger uses `sourceMapPathOverrides` to implement custom sourcemap-to-disk path mapping. Good defaults are in place for most tools, but in advanced cases you may need to customize it. The default paths overrides is an object map that looks like this:
+
+```js
+{
+ 'webpack:///./~/*': "${workspaceFolder}/node_modules/*",
+ 'webpack:////*': '/*',
+ 'webpack://@?:*/?:*/*': "${workspaceFolder}/*",
+ // and some more patterns...
+}
+```
+
+This maps paths or URLs in the source map from the left to the right. The pattern `?:*` is a non-greedy, non-capturing match, and `*` is a greedy capturing match. The debugger then replaces the corresponding `*` in the right-hand pattern with the fragment captured from the source map path. For example, the last pattern in the above example would map `webpack://@my/package/foo/bar` to `${workspaceFolder}/foo/bar`.
+
+Note that for browser debugging, the `webRoot` is used in place of the `workspaceFolder` in the default `sourceMapPathOverrides`.
+
## Remote debugging
> **Note:** VS Code now has universal [remote development capabilities](/docs/remote/remote-overview.md). Using the [Remote Development](https://aka.ms/vscode-remote/download/extension) extensions, Node.js development in remote scenarios and containers is no different than Node.js development in a local setup. **This is the recommended way to remote debug Node.js programs**. Check out the [Getting started](/docs/remote/remote-overview.md#getting-started) section and [Remote tutorials](/docs/remote/remote-overview.md#remote-tutorials) to learn more.
diff --git a/docs/nodejs/nodejs-deployment.md b/docs/nodejs/nodejs-deployment.md
index 8c2b64d4a3..7f036fc6b5 100644
--- a/docs/nodejs/nodejs-deployment.md
+++ b/docs/nodejs/nodejs-deployment.md
@@ -5,7 +5,7 @@ TOCTitle: Deploy Node.js Apps
PageTitle: Node.js Deployment with Visual Studio Code
ContentId: 856a4a73-a4b4-4418-b88d-1f65d0ba7824
MetaDescription: Node.js Deployment to Azure with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Deploy Node.js Web Apps
diff --git a/docs/nodejs/nodejs-tutorial.md b/docs/nodejs/nodejs-tutorial.md
index d5521e30dc..3822e52aff 100644
--- a/docs/nodejs/nodejs-tutorial.md
+++ b/docs/nodejs/nodejs-tutorial.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Node.js Tutorial
ContentId: ED394CD2-D09E-4E3A-96AD-6D3D8337BA9D
PageTitle: Build Node.js Apps with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: The Visual Studio Code editor has great support for writing and debugging Node.js applications. This tutorial takes you from Hello World to a full Express web application.
MetaSocialImage: images/nodejs/runtimes-node-social.png
---
diff --git a/docs/nodejs/profiling.md b/docs/nodejs/profiling.md
index 354516e086..536d25b159 100644
--- a/docs/nodejs/profiling.md
+++ b/docs/nodejs/profiling.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Performance Profiling
ContentId: 3DAE803B-D479-4143-976F-B69F00A73891
PageTitle: Performance Profiling JavaScript in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn more about profiling your JavaScript performance in the Visual Studio Code editor.
---
# Performance Profiling JavaScript
diff --git a/docs/nodejs/reactjs-tutorial.md b/docs/nodejs/reactjs-tutorial.md
index 08e415ef7a..53f6fbbf7d 100644
--- a/docs/nodejs/reactjs-tutorial.md
+++ b/docs/nodejs/reactjs-tutorial.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: React Tutorial
ContentId: 2dd2eeff-2eb3-4a0c-a59d-ea9a0b10c468
PageTitle: React JavaScript Tutorial in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: React JavaScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor.
---
# Using React in Visual Studio Code
diff --git a/docs/nodejs/vuejs-tutorial.md b/docs/nodejs/vuejs-tutorial.md
index 55ab758c08..a845f6a15e 100644
--- a/docs/nodejs/vuejs-tutorial.md
+++ b/docs/nodejs/vuejs-tutorial.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Vue Tutorial
ContentId: 85ce0bcc-d2b8-4b7c-b744-5eddce9a8d00
PageTitle: Vue JavaScript Tutorial in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Vue JavaScript tutorial showing IntelliSense, debugging, and code navigation support in the Visual Studio Code editor.
---
# Using Vue in Visual Studio Code
diff --git a/docs/nodejs/working-with-javascript.md b/docs/nodejs/working-with-javascript.md
index c20fc47791..0b055c9ae1 100644
--- a/docs/nodejs/working-with-javascript.md
+++ b/docs/nodejs/working-with-javascript.md
@@ -4,7 +4,7 @@ Area: nodejs
TOCTitle: Working with JavaScript
PageTitle: Working with JavaScript in Visual Studio Code
ContentId: 3e5af2a6-7669-4b5d-b19f-78077af14fda
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Working with JavaScript in Visual Studio Code
---
# Working with JavaScript
diff --git a/docs/remote/codespaces.md b/docs/remote/codespaces.md
index 48ee11e290..5a81d720fa 100644
--- a/docs/remote/codespaces.md
+++ b/docs/remote/codespaces.md
@@ -5,7 +5,7 @@ TOCTitle: GitHub Codespaces
PageTitle: Developing with GitHub Codespaces
ContentId: 8d30ed21-208f-4b4e-8510-5a4a33c42618
MetaDescription: Using GitHub Codespaces
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# GitHub Codespaces
diff --git a/docs/remote/dev-containers.md b/docs/remote/dev-containers.md
index 693fa4a82d..6527631dc3 100644
--- a/docs/remote/dev-containers.md
+++ b/docs/remote/dev-containers.md
@@ -5,7 +5,7 @@ TOCTitle: Dev Containers
PageTitle: Developing inside a Container using Visual Studio Code Remote Development
ContentId: 4f0942be-6808-4252-8940-b9e9688792af
MetaDescription: Developing inside a Container using Visual Studio Code Remote Development
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Dev Containers
diff --git a/docs/remote/faq.md b/docs/remote/faq.md
index 309d9d451e..4fd1d9c9ba 100644
--- a/docs/remote/faq.md
+++ b/docs/remote/faq.md
@@ -5,7 +5,7 @@ TOCTitle: FAQ
PageTitle: Visual Studio Code Remote Development Frequently Asked Questions
ContentId: 66bc3337-5fe1-4dac-bde1-a9302ff4c0cb
MetaDescription: Visual Studio Code Remote Development Frequently Asked Questions (FAQ) for SSH, Containers, and WSL
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote Development FAQ
diff --git a/docs/remote/linux.md b/docs/remote/linux.md
index d8b9eeeb1c..0930cdae5e 100644
--- a/docs/remote/linux.md
+++ b/docs/remote/linux.md
@@ -5,7 +5,7 @@ TOCTitle: Linux Prerequisites
PageTitle: Linux Prerequisites for Visual Studio Code Remote Development
ContentId: 7ec8dedf-0659-437e-98f1-2d27f5e243eb
MetaDescription: Linux Prerequisites for VS Code Remote - SSH, Dev Containers, and WSL extensions
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote Development with Linux
diff --git a/docs/remote/remote-overview.md b/docs/remote/remote-overview.md
index 444782164b..9032523107 100644
--- a/docs/remote/remote-overview.md
+++ b/docs/remote/remote-overview.md
@@ -5,7 +5,7 @@ TOCTitle: Overview
PageTitle: Visual Studio Code Remote Development
ContentId: eceea3f0-feee-47c2-8b65-1f1b0825355b
MetaDescription: Visual Studio Code Remote Development
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# VS Code Remote Development
diff --git a/docs/remote/ssh-tutorial.md b/docs/remote/ssh-tutorial.md
index 8edb8f766a..6356134252 100644
--- a/docs/remote/ssh-tutorial.md
+++ b/docs/remote/ssh-tutorial.md
@@ -5,7 +5,7 @@ TOCTitle: SSH Tutorial
PageTitle: Connect over SSH with Visual Studio Code
ContentId: beb86509-a36f-4e3b-a32e-b3d8c3966dd7
MetaDescription: Connect over SSH with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote development over SSH
diff --git a/docs/remote/ssh.md b/docs/remote/ssh.md
index 6d0f505ed7..263d1d255e 100644
--- a/docs/remote/ssh.md
+++ b/docs/remote/ssh.md
@@ -5,7 +5,7 @@ TOCTitle: SSH
PageTitle: Developing on Remote Machines using SSH and Visual Studio Code
ContentId: 42e65445-fb3b-4561-8730-bbd19769a160
MetaDescription: Developing on Remote Machines or VMs using Visual Studio Code Remote Development and SSH
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote Development using SSH
diff --git a/docs/remote/troubleshooting.md b/docs/remote/troubleshooting.md
index 0ab9343d75..ca57caf4ba 100644
--- a/docs/remote/troubleshooting.md
+++ b/docs/remote/troubleshooting.md
@@ -5,7 +5,7 @@ TOCTitle: Tips and Tricks
PageTitle: Visual Studio Code Remote Development Troubleshooting Tips and Tricks
ContentId: 42e65445-fb3b-4561-8730-bbd19769a160
MetaDescription: Visual Studio Code Remote Development troubleshooting tips and tricks for SSH, Containers, and the Windows Subsystem for Linux (WSL)
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote Development Tips and Tricks
diff --git a/docs/remote/tunnels.md b/docs/remote/tunnels.md
index 55ddc4310a..02ae692db5 100644
--- a/docs/remote/tunnels.md
+++ b/docs/remote/tunnels.md
@@ -5,7 +5,7 @@ TOCTitle: Tunnels
PageTitle: Remote Tunnels
ContentId: 5d33c1af-b4e6-4894-aae1-acf95ee3ffa8
MetaDescription: Using the Visual Studio Code Remote Tunnels extension
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Developing with Remote Tunnels
diff --git a/docs/remote/vscode-server.md b/docs/remote/vscode-server.md
index d556c4e0c7..7d1f1b330e 100644
--- a/docs/remote/vscode-server.md
+++ b/docs/remote/vscode-server.md
@@ -5,7 +5,7 @@ TOCTitle: VS Code Server
PageTitle: Visual Studio Code Server
ContentId: d750ab6d-82c2-4e64-8fbb-7888e1374381
MetaDescription: Using Visual Studio Code Server
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Visual Studio Code Server
diff --git a/docs/remote/wsl-tutorial.md b/docs/remote/wsl-tutorial.md
index 1377b69748..3d59a024a8 100644
--- a/docs/remote/wsl-tutorial.md
+++ b/docs/remote/wsl-tutorial.md
@@ -5,7 +5,7 @@ TOCTitle: WSL Tutorial
PageTitle: Work in Windows Subsystem for Linux with Visual Studio Code
ContentId: 44988826-46b8-498a-b1c9-f821378c2870
MetaDescription: Work in Windows Subsystem for Linux with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Remote development in WSL
diff --git a/docs/remote/wsl.md b/docs/remote/wsl.md
index 9e9fb2fdad..36b2915798 100644
--- a/docs/remote/wsl.md
+++ b/docs/remote/wsl.md
@@ -5,7 +5,7 @@ TOCTitle: Windows Subsystem for Linux
PageTitle: Developing in the Windows Subsystem for Linux with Visual Studio Code
ContentId: 79bcdbf9-d6a5-4e04-bbee-e7bb71f09f0a
MetaDescription: Using Visual Studio Code Remote Development with the Windows Subsystem for Linux (WSL)
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Developing in WSL
diff --git a/docs/setup/additional-components.md b/docs/setup/additional-components.md
index 3d288fb88f..56ec0871f5 100644
--- a/docs/setup/additional-components.md
+++ b/docs/setup/additional-components.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Additional Components
ContentId: 243B79C2-819F-4257-B80D-2CD9CCB04C84
PageTitle: Setting up additional components to use with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Setting up additional components to use with Visual Studio Code.
---
# Additional components and tools
diff --git a/docs/setup/enterprise.md b/docs/setup/enterprise.md
index 2753500600..393373eca2 100644
--- a/docs/setup/enterprise.md
+++ b/docs/setup/enterprise.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Enterprise
ContentId: 936ab8e0-3bbe-4842-bb17-ea314665c20a
PageTitle: Visual Studio Code enterprise support
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about Visual Studio Code's enterprise support features.
---
diff --git a/docs/setup/linux.md b/docs/setup/linux.md
index 442cc88bbf..799b32d584 100644
--- a/docs/setup/linux.md
+++ b/docs/setup/linux.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Linux
ContentId: 7FDF94DB-3527-4296-BE1C-493495B89408
PageTitle: Running Visual Studio Code on Linux
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Visual Studio Code up and running on Linux.
---
# Visual Studio Code on Linux
diff --git a/docs/setup/mac.md b/docs/setup/mac.md
index 96cc28c543..51d9a9bdea 100644
--- a/docs/setup/mac.md
+++ b/docs/setup/mac.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: macOS
ContentId: EEADB50A-F5E3-41E9-89DA-35F165196691
PageTitle: Running Visual Studio Code on macOS
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Visual Studio Code up and running on Mac (macOS).
---
# Visual Studio Code on macOS
diff --git a/docs/setup/network.md b/docs/setup/network.md
index 99cb012c93..6c9b3a45a4 100644
--- a/docs/setup/network.md
+++ b/docs/setup/network.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Network
ContentId: 84F36EDE-4D66-4A2E-B4D1-F020C73EB2AD
PageTitle: Setup Visual Studio Code's Network Connection
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Setup VS Code's Network Connection.
---
# Network Connections in Visual Studio Code
diff --git a/docs/setup/raspberry-pi.md b/docs/setup/raspberry-pi.md
index 817663a6ed..750074bc61 100644
--- a/docs/setup/raspberry-pi.md
+++ b/docs/setup/raspberry-pi.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Raspberry Pi
ContentId: E059E35A-8AD0-4D4A-9BE1-E23D45D75C1C
PageTitle: Running Visual Studio Code on Raspberry Pi OS
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Visual Studio Code up and running on Raspberry Pi OS.
---
# Visual Studio Code on Raspberry Pi
diff --git a/docs/setup/setup-overview.md b/docs/setup/setup-overview.md
index ca160a0264..5c177b4d05 100644
--- a/docs/setup/setup-overview.md
+++ b/docs/setup/setup-overview.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Overview
ContentId: FC5262F3-D91D-4665-A5D2-BCBCCF66E53A
PageTitle: Setting up Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Visual Studio Code up and running.
MetaSocialImage: images/quicksetup/quick-setup-social.png
---
diff --git a/docs/setup/uninstall.md b/docs/setup/uninstall.md
index 5a2f20ce46..5f7067cef2 100644
--- a/docs/setup/uninstall.md
+++ b/docs/setup/uninstall.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Uninstall
ContentId: 435486d3-ad55-4a31-a087-d108f75ba669
PageTitle: Uninstall Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Uninstall Visual Studio Code and clean up.
---
# Uninstall Visual Studio Code
diff --git a/docs/setup/windows.md b/docs/setup/windows.md
index f36e861457..9407a2f354 100644
--- a/docs/setup/windows.md
+++ b/docs/setup/windows.md
@@ -4,7 +4,7 @@ Area: setup
TOCTitle: Windows
ContentId: 4670C281-5761-46E6-8C46-10D523946FFB
PageTitle: Running Visual Studio Code on Windows
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Visual Studio Code up and running on Windows
---
# Visual Studio Code on Windows
diff --git a/docs/sourcecontrol/faq.md b/docs/sourcecontrol/faq.md
index 82a6b50011..59318cc073 100644
--- a/docs/sourcecontrol/faq.md
+++ b/docs/sourcecontrol/faq.md
@@ -5,7 +5,7 @@ TOCTitle: FAQ
PageTitle: Source Control, Git & GitHub in VS Code Frequently Asked Questions
ContentId: 431b4458-34c4-4aba-a0ee-eaddf7cd91a1
MetaDescription: Visual Studio Code's Frequently Asked Questions (FAQ) for Source Control, Git & GitHub in VS Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
---
# Source Control FAQ
diff --git a/docs/sourcecontrol/github.md b/docs/sourcecontrol/github.md
index 541808a907..579516532b 100644
--- a/docs/sourcecontrol/github.md
+++ b/docs/sourcecontrol/github.md
@@ -4,7 +4,7 @@ Area: sourcecontrol
TOCTitle: Collaborate on GitHub
ContentId: bd1be8cf-b745-4737-be48-db381ec3acc6
PageTitle: Collaborate on GitHub
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Working with GitHub Pull Requests and Issues in Visual Studio Code
---
# Working with GitHub in VS Code
diff --git a/docs/sourcecontrol/intro-to-git.md b/docs/sourcecontrol/intro-to-git.md
index f332ae6a21..a652afc770 100644
--- a/docs/sourcecontrol/intro-to-git.md
+++ b/docs/sourcecontrol/intro-to-git.md
@@ -4,7 +4,7 @@ Area: sourcecontrol
TOCTitle: Introduction to Git
ContentId: b3e4717d-81e2-4bfa-a022-c37aab950bce
PageTitle: Introduction to Git in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get started with Git in Visual Studio Code and take control of your code! Our beginner's guide covers everything you need to know, from setting up a repository to committing changes and collaborating with others. Learn Git today and streamline your development workflow.
---
# Introduction to Git in VS Code
diff --git a/docs/sourcecontrol/overview.md b/docs/sourcecontrol/overview.md
index 85d838ad4c..37a3438a98 100644
--- a/docs/sourcecontrol/overview.md
+++ b/docs/sourcecontrol/overview.md
@@ -4,7 +4,7 @@ Area: sourcecontrol
TOCTitle: Overview
ContentId: 7E22CCC0-2AB8-4729-A4C9-BE2B16853820
PageTitle: Source Control with Git in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code source control management with integrated Git support.
---
# Using Git source control in VS Code
@@ -171,7 +171,7 @@ The Diff editor has a separate gutter in the middle, which enables you to **Stag
![Screenshot of the Diff editor, showing the Stage and Revert controls in the gutter](images/overview/diffEditor-stage-revert-demo.gif)
->**Tip:** You can diff any two files by first right clicking on a file in the Explorer or **OPEN EDITORS** list and selecting **Select for Compare** and then right-click on the second file to compare with and select **Compare with 'file_name_you_chose'**. Alternatively from the keyboard hit `kb(workbench.action.showCommands)` and select **File: Compare Active File With** and you will be presented with a list of recent files.
+> **Tip**: You can diff any two files by first right-clicking on a file in the Explorer view and selecting **Select for Compare** and then right-click on the second file to compare with and select **Compare with Selected**. Alternatively, open the Command Palette (`kb(workbench.action.showCommands)`), and select ay of the **File: Compare** commands. Learn more about the different options to [compare files in VS Code](/docs/editor/codebasics.md#compare-files).
### Accessible Diff Viewer
diff --git a/docs/supporting/faq.md b/docs/supporting/faq.md
index 1717c909b4..a3ddd60df2 100644
--- a/docs/supporting/faq.md
+++ b/docs/supporting/faq.md
@@ -2,7 +2,7 @@
TOCTitle: FAQ
ContentId: E02F97FD-842B-4D27-B461-37DD18B2582E
PageTitle: Visual Studio Code Frequently Asked Questions
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code Frequently Asked Questions
---
# Visual Studio Code FAQ
diff --git a/docs/supporting/oss-extensions.md b/docs/supporting/oss-extensions.md
index 7e01b213fe..388afcb9d3 100644
--- a/docs/supporting/oss-extensions.md
+++ b/docs/supporting/oss-extensions.md
@@ -3,7 +3,7 @@ Order:
TOCTitle: Microsoft Extension Licenses
ContentId: 661ad650-7bed-41f6-a62b-9eb1407010ab
PageTitle: Microsoft Extension Licenses
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: List of Microsoft Extension Licenses
---
# Microsoft Extension Licenses
diff --git a/docs/supporting/requirements.md b/docs/supporting/requirements.md
index c818736fd3..9bcb8dc272 100644
--- a/docs/supporting/requirements.md
+++ b/docs/supporting/requirements.md
@@ -3,7 +3,7 @@ Order:
TOCTitle: Requirements
ContentId: 1D4850EE-85E2-4152-81BE-FECAE62EA99E
PageTitle: Requirements for Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code hardware and platform (operating system) requirements.
---
# Requirements for Visual Studio Code
diff --git a/docs/supporting/troubleshoot-terminal-launch.md b/docs/supporting/troubleshoot-terminal-launch.md
index 3ed62e761e..b068c4cbc6 100644
--- a/docs/supporting/troubleshoot-terminal-launch.md
+++ b/docs/supporting/troubleshoot-terminal-launch.md
@@ -3,7 +3,7 @@ Order:
TOCTitle: Troubleshoot Terminal Launch
ContentId: c9dd7da5-2ad9-4862-bf24-2ed0fb65675e
PageTitle: Troubleshoot Visual Studio Code Integrated Terminal launch failures
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Troubleshoot Visual Studio Code Integrated Terminal launch failures
---
diff --git a/docs/terminal/advanced.md b/docs/terminal/advanced.md
index 4c96b9de75..894a07618a 100644
--- a/docs/terminal/advanced.md
+++ b/docs/terminal/advanced.md
@@ -1,10 +1,10 @@
---
-Order: 5
+Order: 6
Area: terminal
TOCTitle: Advanced
ContentId: D458AFDC-C001-43FD-A4BB-9474767B2C04
PageTitle: Advanced Terminal Usage in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code's integrated terminal has several advanced features.
---
# Terminal Advanced
diff --git a/docs/terminal/appearance.md b/docs/terminal/appearance.md
index 2024a70357..882e8f7d13 100644
--- a/docs/terminal/appearance.md
+++ b/docs/terminal/appearance.md
@@ -1,10 +1,10 @@
---
-Order: 4
+Order: 5
Area: terminal
TOCTitle: Appearance
ContentId: F1AA7F3E-E078-4C02-B2DE-EC3F5F36F751
PageTitle: Terminal Appearance in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code's integrated terminal allows customizing its appearance in various ways.
---
# Terminal Appearance
diff --git a/docs/terminal/basics.md b/docs/terminal/basics.md
index 87fc16c818..0fbf5cfc69 100644
--- a/docs/terminal/basics.md
+++ b/docs/terminal/basics.md
@@ -1,10 +1,10 @@
---
-Order: 1
+Order: 2
Area: terminal
TOCTitle: Terminal Basics
ContentId: 7B4DC928-2414-4FC7-9C76-E4A13D6675FE
PageTitle: Integrated Terminal in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code has an integrated terminal to enable working in your shell of choice without leaving the editor.
---
# Terminal Basics
diff --git a/docs/terminal/getting-started.md b/docs/terminal/getting-started.md
new file mode 100644
index 0000000000..7f06baffc2
--- /dev/null
+++ b/docs/terminal/getting-started.md
@@ -0,0 +1,156 @@
+---
+Order: 1
+Area: terminal
+TOCTitle: Getting Started Tutorial
+ContentId: 7B4DC928-2414-4FC7-9C76-E4A13D6675FE
+PageTitle: Getting started with the integrated terminal
+DateApproved: 07/03/2024
+MetaDescription: Learn how to get started running shell commands with the integrated terminal in Visual Studio Code.
+---
+# Getting started with the terminal
+
+Visual Studio Code includes a fully featured integrated terminal. You can use it to run commands like `echo`, `ls`, and `git`, just like a standalone terminal. The terminal in VS Code also provides integration with the editor to support features such as links to workspace files and error detection.
+
+The terminal can use various shells installed on your machine. A shell is a program that interprets and executes the commands by interacting with the operating system. Examples of shells include Bash, Zsh, and PowerShell.
+
+This tutorial guides you through the basics of using the terminal in Visual Studio Code.
+
+## Run your first command in the terminal
+
+While you're writing code, you might have to run shell commands to build, test, or deploy your application. The terminal in VS Code enables you to run these commands without leaving the editor.
+
+To get started with the terminal:
+
+1. Start VS Code and open a folder or workspace.
+
+1. Open the terminal by selecting **View** > **Terminal** from the menu bar, or by pressing the `kb(workbench.action.terminal.toggleTerminal)` keyboard shortcut.
+
+ Based on your operating system configuration, the terminal opens with a default shell like Bash, PowerShell, or Zsh. The shell's working directory starts at the root of the workspace folder.
+
+ ![Open the terminal](./images/getting-started/open-terminal.png)
+
+1. Enter a basic command like `ls` to list the files in the current directory.
+
+ The terminal displays the output of the command, similar to a standalone terminal, except that you stay within the editor.
+
+ ![Run a command in the terminal](./images/getting-started/terminal-output.png)
+
+ > **Tip**: You can enlarge the terminal by dragging the terminal panel's border or by selecting the `^` icon to maximize the panel.
+
+## Interact with command output
+
+The terminal in VS Code also provides features to interact with command output. Commands often output file paths or URLs that you might want to open or navigate to. For example, a compiler or linter might return an error message with a file path and line number. Instead of searching for that file, you can select the link in the terminal output to open the file directly in the editor.
+
+Let's see how you can interact with the command outputs in the terminal:
+
+1. Open the terminal where you previously ran the `ls` command.
+
+1. In the terminal, hold the `kbstyle(Ctrl)`/`kbstyle(Cmd)` key, hover over a file name, and then select the link.
+
+ Notice that when you hover over text in the output, it changes into a link. When you select a file name, VS Code opens the selected file in the editor.
+
+ ![Navigate to files/URLs using links in terminal output](./images/getting-started/terminal-links.png)
+
+ All text in the terminal output is clickable. If you select a hyperlink in the terminal, it opens the link in the default browser. For other text, VS Code tries to search the workspace for files that contain the text.
+
+1. Run the following command to create a `Command.txt` file that contains a list of available shell commands.
+
+ * PowerShell
+
+ ```powershell
+ Get-Command | Out-File -FilePath .\Command.txt
+ ```
+
+ * Bash / Zsh
+
+ ```bash
+ ls -l /usr/bin > Command.txt
+ ```
+
+1. Enter the following command to search for a command in the `Command.txt` file.
+
+ * PowerShell
+
+ ```powershell
+ Get-ChildItem *.txt | Select-String "dir"
+ ```
+
+ * Bash / Zsh
+
+ ```bash
+ grep -n "dir" *.txt
+ ```
+
+ Notice that the command output contains the file name and the line number where the search result is found. The terminal identifies this text as a link.
+
+1. Select one of the links to open the file in the editor at that specific line in the file.
+
+ ![Navigate to a specific line in a file](./images/getting-started/terminal-line-column.png)
+
+Learn more about the different types of [links in the terminal](/docs/terminal/basics.md#links).
+
+## Navigate to previous commands
+
+As you work in the terminal, you might need to review a previous command and its output, or maybe you want to rerun a command. You can quickly navigate to the previous commands by using keyboard shortcuts.
+
+To navigate to previous commands:
+
+1. Open the terminal you used previously.
+
+1. Press the `kb(workbench.action.terminal.scrollToPreviousCommand)` keyboard shortcut to scroll to the previous command in the terminal history.
+
+ Notice that the terminal scrolls to the previous command and highlights it.
+
+ ![Navigate to the previous command](./images/getting-started/previous-command.png)
+
+ If you press `kb(workbench.action.terminal.scrollToPreviousCommand)` multiple times, the terminal scrolls further through the command history. You can use the `kb(workbench.action.terminal.scrollToNextCommand)` keyboard shortcut to navigate in the other direction.
+
+1. You might see a circle icon in the gutter next to a previously run command. Select the circle icon, and then select **Rerun Command** to run the command again.
+
+ ![Rerun a command](./images/getting-started/rerun-command.png)
+
+Learn more about [navigating through the command history](/docs/terminal/shell-integration.md#command-navigation).
+
+## Run commands in another shell
+
+The terminal supports having multiple terminals open at the same time. For example, you could dedicate one terminal to run Git commands and another terminal to run build scripts. You can also run commands in different shells based on your preference.
+
+To add a new terminal in a different shell:
+
+1. Select the `˅` icon in the terminal panel to open the terminal dropdown, and then select from one of the available shells.
+
+ > **Note**: The available shells depend on the shells installed on your machine.
+
+ ![Select a different shell](./images/getting-started/select-shell.png)
+
+ A new terminal opens with the selected shell, where you can enter commands like you did previously.
+
+ > **Tip**: You can also select the `+` icon to create a new terminal for the default shell, use the `kb(workbench.action.terminal.new)` keyboard shortcut, or select **Terminal** > **New Terminal** from the menu bar.
+
+1. You can view the open terminals from the list in the terminal panel.
+
+ ![View the list of terminals](./images/getting-started/terminal-list.png)
+
+ To switch to another terminal, select it from the list of terminals.
+
+ > **Tip**: You can rename a terminal in the list by right-clicking on it and selecting **Rename**.
+
+1. Drag a terminal from the terminal list into the editor area.
+
+ The terminal is moved to an editor tab, where you can arrange it like other editor tabs. For example, you can drag the terminal tab out of the VS Code window to make it a floating window. Learn more about [custom layouts](/docs/editor/custom-layout.md#editor).
+
+ ![Move a terminal to the editor area](./images/getting-started/move-terminal.png)
+
+1. Select the trashcan icon when hovering over the terminal list to close an open terminal.
+
+ ![Close a terminal](./images/getting-started/close-terminal.png)
+
+Learn more about [managing terminals](/docs/terminal/basics.md#managing-terminals).
+
+## Next steps
+
+In this tutorial, you learned how to get started with the terminal in VS Code. Here are some more topics to explore:
+
+* Learn the [fundamental concepts and features of the terminal](/docs/terminal/basics.md)
+* Explore how to [create and manage terminal profiles](/docs/terminal/profiles.md)
+* Discover various ways to [customize the appearance and behavior](/docs/terminal/appearance.md) of the terminal
diff --git a/docs/terminal/images/getting-started/close-terminal.png b/docs/terminal/images/getting-started/close-terminal.png
new file mode 100644
index 0000000000..3d61cd114d
--- /dev/null
+++ b/docs/terminal/images/getting-started/close-terminal.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7bd5a7b15eab23adc81a2001793a570548cf58f67c1be2738df4c2d150901863
+size 82244
diff --git a/docs/terminal/images/getting-started/move-terminal.png b/docs/terminal/images/getting-started/move-terminal.png
new file mode 100644
index 0000000000..096436f049
--- /dev/null
+++ b/docs/terminal/images/getting-started/move-terminal.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:519c5312b858c09f7b075836cca7047a6e74072e7a37a4b18967e5242922b75b
+size 104282
diff --git a/docs/terminal/images/getting-started/open-terminal.png b/docs/terminal/images/getting-started/open-terminal.png
new file mode 100644
index 0000000000..b8d5dbb378
--- /dev/null
+++ b/docs/terminal/images/getting-started/open-terminal.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:00ee248c95d6cb7b48b38d894018349e4a67422b47de4a3953eb0b86b1262b6a
+size 68959
diff --git a/docs/terminal/images/getting-started/previous-command.png b/docs/terminal/images/getting-started/previous-command.png
new file mode 100644
index 0000000000..896d147211
--- /dev/null
+++ b/docs/terminal/images/getting-started/previous-command.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:68f254ea7ce499df4b03f3f26ff24177d8972c33f6fc1ead7d17989091e70120
+size 98460
diff --git a/docs/terminal/images/getting-started/rerun-command.png b/docs/terminal/images/getting-started/rerun-command.png
new file mode 100644
index 0000000000..469792cc40
--- /dev/null
+++ b/docs/terminal/images/getting-started/rerun-command.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd481089a4354f59233e86e856580c79da2f03221a97c5d5c38b989e1e0a7971
+size 127841
diff --git a/docs/terminal/images/getting-started/select-shell.png b/docs/terminal/images/getting-started/select-shell.png
new file mode 100644
index 0000000000..9c7c2be6df
--- /dev/null
+++ b/docs/terminal/images/getting-started/select-shell.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2ac6ebf8f6bc81c89f0a53f34429f0d1486549283c85a28ef892099c37aa77a8
+size 73085
diff --git a/docs/terminal/images/getting-started/terminal-line-column.png b/docs/terminal/images/getting-started/terminal-line-column.png
new file mode 100644
index 0000000000..1659a88cc3
--- /dev/null
+++ b/docs/terminal/images/getting-started/terminal-line-column.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:26efbd9d3fe6919d091df26783c40c8512b19b3995d3f4f18bed6f44d0b5ef7a
+size 247923
diff --git a/docs/terminal/images/getting-started/terminal-links.png b/docs/terminal/images/getting-started/terminal-links.png
new file mode 100644
index 0000000000..ff516ff526
--- /dev/null
+++ b/docs/terminal/images/getting-started/terminal-links.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e695b7642f7b98869dc32729c47fdaa57749299fea66054ac515097e3971d6c8
+size 110201
diff --git a/docs/terminal/images/getting-started/terminal-list.png b/docs/terminal/images/getting-started/terminal-list.png
new file mode 100644
index 0000000000..917034c349
--- /dev/null
+++ b/docs/terminal/images/getting-started/terminal-list.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d0452e64d4860aa2af0f73dbdf5ff17ff5560640e4d16a19a0536bab02cee0d
+size 23338
diff --git a/docs/terminal/images/getting-started/terminal-output.png b/docs/terminal/images/getting-started/terminal-output.png
new file mode 100644
index 0000000000..98851f0dff
--- /dev/null
+++ b/docs/terminal/images/getting-started/terminal-output.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c0522d08766887dbeab0be69204fa66863a8588bad43117fdabdd03a40da3b3b
+size 63415
diff --git a/docs/terminal/profiles.md b/docs/terminal/profiles.md
index 57b1adc926..e605d563ad 100644
--- a/docs/terminal/profiles.md
+++ b/docs/terminal/profiles.md
@@ -1,10 +1,10 @@
---
-Order: 2
+Order: 3
Area: terminal
TOCTitle: Terminal Profiles
ContentId: 1a9d76e8-9c8c-446e-974e-d71570e7d62a
PageTitle: Terminal Profiles in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code's integrated terminal allows configuring various profiles to make launching various shells easier.
---
# Terminal Profiles
diff --git a/docs/terminal/shell-integration.md b/docs/terminal/shell-integration.md
index 689e6c55c5..8d96ab2b30 100644
--- a/docs/terminal/shell-integration.md
+++ b/docs/terminal/shell-integration.md
@@ -1,10 +1,10 @@
---
-Order: 3
+Order: 4
Area: terminal
TOCTitle: Shell Integration
ContentId: a6a1652b-c0d8-4054-a2da-feb915eef2cc
PageTitle: Terminal Shell Integration in Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Visual Studio Code's embedded terminal can integrate with some shells to enhance the capabilities of the terminal.
---
diff --git a/docs/typescript/typescript-compiling.md b/docs/typescript/typescript-compiling.md
index 90966e6db3..1b674639aa 100644
--- a/docs/typescript/typescript-compiling.md
+++ b/docs/typescript/typescript-compiling.md
@@ -4,7 +4,7 @@ Area: typescript
TOCTitle: Compiling
ContentId: 59543856-da91-4a0d-9a98-9d5f2bf70c71
PageTitle: TypeScript Compiling with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about TypeScript compiling with Visual Studio Code.
---
# Compiling TypeScript
diff --git a/docs/typescript/typescript-debugging.md b/docs/typescript/typescript-debugging.md
index 6ad0c7631f..154801c5cf 100644
--- a/docs/typescript/typescript-debugging.md
+++ b/docs/typescript/typescript-debugging.md
@@ -4,7 +4,7 @@ Area: typescript
TOCTitle: Debugging
ContentId: 19c60eb6-662b-444a-92f6-009642cc1e5b
PageTitle: TypeScript debugging with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: TypeScript debugging with Visual Studio Code.
MetaSocialImage: ../languages/images/typescript/typescript-social.png
---
diff --git a/docs/typescript/typescript-editing.md b/docs/typescript/typescript-editing.md
index 589a19147f..c08e3b5f25 100644
--- a/docs/typescript/typescript-editing.md
+++ b/docs/typescript/typescript-editing.md
@@ -4,7 +4,7 @@ Area: typescript
TOCTitle: Editing
ContentId: db5139eb-9623-4d0b-8180-8b495e2b8b06
PageTitle: TypeScript editing with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about TypeScript editing with Visual Studio Code.
---
# Editing TypeScript
diff --git a/docs/typescript/typescript-refactoring.md b/docs/typescript/typescript-refactoring.md
index 60ee572379..7e7d324233 100644
--- a/docs/typescript/typescript-refactoring.md
+++ b/docs/typescript/typescript-refactoring.md
@@ -4,7 +4,7 @@ Area: typescript
TOCTitle: Refactoring
ContentId: ff7a9f28-26b2-4ac6-8c16-1a16182bb6ca
PageTitle: TypeScript refactoring with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Learn about TypeScript refactorings supported by Visual Studio Code.
---
# Refactoring TypeScript
diff --git a/docs/typescript/typescript-tutorial.md b/docs/typescript/typescript-tutorial.md
index e9588fa6b4..1f07d9203c 100644
--- a/docs/typescript/typescript-tutorial.md
+++ b/docs/typescript/typescript-tutorial.md
@@ -4,7 +4,7 @@ Area: typescript
TOCTitle: Tutorial
ContentId: cb4f3742-733c-49d8-96db-d4bf8403bf64
PageTitle: TypeScript tutorial with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: TypeScript tutorial with Visual Studio Code.
MetaSocialImage: ../languages/images/typescript/typescript-social.png
---
diff --git a/learn/overview.md b/learn/overview.md
index f9ca55426c..850e74eec3 100644
--- a/learn/overview.md
+++ b/learn/overview.md
@@ -1,7 +1,7 @@
---
ContentId: f71d4b81-8361-48ee-82c0-48f69ec0d72e
PageTitle: Get Started with Visual Studio Code
-DateApproved: 06/05/2024
+DateApproved: 07/03/2024
MetaDescription: Get Started with Visual Studio Code
---
# Learn to code with Visual Studio Code
diff --git a/package.json b/package.json
index 6a684d7880..1c4d6a4861 100644
--- a/package.json
+++ b/package.json
@@ -1,20 +1,32 @@
{
- "name": "vscode-docs",
- "scripts": {
- "check-lfs": "node ./build/check-lfs.js",
- "prepare": "husky install"
- },
- "lint-staged": {
- "*.{gif,mp4,jpg,png,GIF,MP4,JPG,PNG}": [
- "yarn check-lfs"
- ]
- },
- "resolutions": {
- "glob-parent": ">=5.1.2",
- "hosted-git-info": "^3.0.8"
- },
- "devDependencies": {
- "lint-staged": "^15.2.7",
- "shelljs": "^0.8.5"
- }
+ "name": "vscode-docs",
+ "version": "0.10.3",
+ "author": {
+ "name": "Microsoft Corporation"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/microsoft/vscode-docs.git"
+ },
+ "scripts": {
+ "check-lfs": "node ./build/check-lfs.js",
+ "lint": "eslint **/*.js",
+ "prepare": "husky install"
+ },
+ "devDependencies": {
+ "eslint-plugin-security": "^1.7.1",
+ "gulp": "^4.0.2",
+ "husky": "^7.0.0",
+ "lint-staged": "^12.3.3",
+ "shelljs": "^0.8.5"
+ },
+ "lint-staged": {
+ "*.{gif,mp4,jpg,png,GIF,MP4,JPG,PNG}": [
+ "yarn check-lfs"
+ ]
+ },
+ "resolutions": {
+ "glob-parent": ">=5.1.2",
+ "hosted-git-info": "^3.0.8"
+ }
}
diff --git a/release-notes/images/1_91/accessible-view-hover.png b/release-notes/images/1_91/accessible-view-hover.png
new file mode 100644
index 0000000000..4fe8b0d0fa
--- /dev/null
+++ b/release-notes/images/1_91/accessible-view-hover.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d9625fe8e1e2ee7b973e5ab0d702ae0f13fe5baab58b35f868dfbf5ed4ee2d22
+size 101184
diff --git a/release-notes/images/1_91/apply-in-editor.png b/release-notes/images/1_91/apply-in-editor.png
new file mode 100644
index 0000000000..3364ffcc59
--- /dev/null
+++ b/release-notes/images/1_91/apply-in-editor.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6fbf22b5ee9e94be897a701c76656efd21108dae7e4e13b135762b42e0d6d227
+size 62605
diff --git a/release-notes/images/1_91/copilot-terminal-hint.png b/release-notes/images/1_91/copilot-terminal-hint.png
new file mode 100644
index 0000000000..629cb33880
--- /dev/null
+++ b/release-notes/images/1_91/copilot-terminal-hint.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dfe2cd08192f3a5f73d00760f9f5014f0a0df36a24f2af42d95cfe31732d8582
+size 16585
diff --git a/release-notes/images/1_91/debug-shadowed.png b/release-notes/images/1_91/debug-shadowed.png
new file mode 100644
index 0000000000..5fa24aded0
--- /dev/null
+++ b/release-notes/images/1_91/debug-shadowed.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:73913bfd478b0a9e65d34406978e193e3df4a5cec22b3a61b61e91bb880f5ec2
+size 31798
diff --git a/release-notes/images/1_91/extension-install-actions.png b/release-notes/images/1_91/extension-install-actions.png
new file mode 100644
index 0000000000..a42a339efb
--- /dev/null
+++ b/release-notes/images/1_91/extension-install-actions.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9cdd613fa3fcfd0afb6c604ef83e10cc9508c1c1aa35113c7e995c651fdb0739
+size 89703
diff --git a/release-notes/images/1_91/incoming-outgoing-changes.png b/release-notes/images/1_91/incoming-outgoing-changes.png
new file mode 100644
index 0000000000..182b948023
--- /dev/null
+++ b/release-notes/images/1_91/incoming-outgoing-changes.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b578b127c26cf41c68303a360d9e123c76173617a36a6e1749019d8e6d2e1d4e
+size 256802
diff --git a/release-notes/images/1_91/inline-chat.png b/release-notes/images/1_91/inline-chat.png
new file mode 100644
index 0000000000..66ed56b547
--- /dev/null
+++ b/release-notes/images/1_91/inline-chat.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:098fcf2d98b24d733fbbdffacb58f927f5e440044eee6ca210fa6cf23adba7b5
+size 179284
diff --git a/release-notes/images/1_91/notebook-find-in-selection.mp4 b/release-notes/images/1_91/notebook-find-in-selection.mp4
new file mode 100644
index 0000000000..4986436669
--- /dev/null
+++ b/release-notes/images/1_91/notebook-find-in-selection.mp4
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2f5b26ded779a3e44cf0b107f3129199a0fcd0dfeac8cf8011ddc6055054e093
+size 2172635
diff --git a/release-notes/images/1_91/notebook-output-context-menu.mp4 b/release-notes/images/1_91/notebook-output-context-menu.mp4
new file mode 100644
index 0000000000..d03bf85e56
--- /dev/null
+++ b/release-notes/images/1_91/notebook-output-context-menu.mp4
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:31a88811341a759bf9a37d68fe3ba4da50a6cb8c0261d13102303973024849e8
+size 560287
diff --git a/release-notes/images/1_91/profile-new-window-actions.png b/release-notes/images/1_91/profile-new-window-actions.png
new file mode 100644
index 0000000000..46f28d1116
--- /dev/null
+++ b/release-notes/images/1_91/profile-new-window-actions.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4fff2f1e064c78e6de66c111404ff45d80caf6188b48feba32ce74dde9d7e828
+size 113552
diff --git a/release-notes/images/1_91/profiles-editor-action.png b/release-notes/images/1_91/profiles-editor-action.png
new file mode 100644
index 0000000000..28aab31436
--- /dev/null
+++ b/release-notes/images/1_91/profiles-editor-action.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:983f28ba71ea2116d1756765931b932b5b63549f48dc8ac5fda210fc68d40555
+size 80459
diff --git a/release-notes/images/1_91/profiles-editor.png b/release-notes/images/1_91/profiles-editor.png
new file mode 100644
index 0000000000..2edf44e53b
--- /dev/null
+++ b/release-notes/images/1_91/profiles-editor.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:63c1c5f3dd378e93bfd6f2e6e014850def0fc1f27a8027acd0f0d2bd6546c51d
+size 280720
diff --git a/release-notes/images/1_91/pylance-restructuredtext.png b/release-notes/images/1_91/pylance-restructuredtext.png
new file mode 100644
index 0000000000..05a05477ef
--- /dev/null
+++ b/release-notes/images/1_91/pylance-restructuredtext.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:663b75b0fb7f44aee8faefbd93b78e8fe05bec348b0561fb694a0861d482fbac
+size 1018185
diff --git a/release-notes/images/1_91/quick-toggle-readonly.png b/release-notes/images/1_91/quick-toggle-readonly.png
new file mode 100644
index 0000000000..4a7023594a
--- /dev/null
+++ b/release-notes/images/1_91/quick-toggle-readonly.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:228890da98b2d1ec9c23c05ea95bd7feb6c5772082d51b4b3ff05125546f2919
+size 35391
diff --git a/release-notes/images/1_91/release-highlights.png b/release-notes/images/1_91/release-highlights.png
new file mode 100644
index 0000000000..e3fda3a5ba
--- /dev/null
+++ b/release-notes/images/1_91/release-highlights.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6ce7b92a26423c60a77195e245ef16fb39e191c986ec69f6134524bb6e9dd966
+size 35669
diff --git a/release-notes/images/1_91/terminal-powerline-scale.png b/release-notes/images/1_91/terminal-powerline-scale.png
new file mode 100644
index 0000000000..88c80d9b01
--- /dev/null
+++ b/release-notes/images/1_91/terminal-powerline-scale.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a983073801a8d38634395246eeef8468ffc3397f14599a5005d5c7d6c14d7da7
+size 8896
diff --git a/release-notes/images/1_91/terminal-powerline.png b/release-notes/images/1_91/terminal-powerline.png
new file mode 100644
index 0000000000..8d333d5478
--- /dev/null
+++ b/release-notes/images/1_91/terminal-powerline.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c57d9c72fb7dd2a8c1cffface696f68217be4ac7ad2e196e97d689072bd378f1
+size 2265
diff --git a/release-notes/images/1_91/ts-new-escape-from-regexp-error.png b/release-notes/images/1_91/ts-new-escape-from-regexp-error.png
new file mode 100644
index 0000000000..87d82c1760
--- /dev/null
+++ b/release-notes/images/1_91/ts-new-escape-from-regexp-error.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3ad189baa75ec2e7a3acb0310c919a6275b98c651af39be449082482bf62ee23
+size 107761
diff --git a/release-notes/images/1_91/ts-regexp-invalid-group.png b/release-notes/images/1_91/ts-regexp-invalid-group.png
new file mode 100644
index 0000000000..7e69f75628
--- /dev/null
+++ b/release-notes/images/1_91/ts-regexp-invalid-group.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:51176f76b5de606b889a38fada7565c9e7e161de0947c02c11629a769de3e671
+size 83786
diff --git a/release-notes/images/1_91/underline-links.png b/release-notes/images/1_91/underline-links.png
new file mode 100644
index 0000000000..f57a3a877e
--- /dev/null
+++ b/release-notes/images/1_91/underline-links.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ded43e1f3953d257940855a3be2972cfb077c669aa018f79e95e7856a228c26f
+size 56438
diff --git a/release-notes/v1_91.md b/release-notes/v1_91.md
index aade234b75..b6acb0e2e9 100644
--- a/release-notes/v1_91.md
+++ b/release-notes/v1_91.md
@@ -1,10 +1,10 @@
---
-Order:
+Order: 100
TOCTitle: June 2024
PageTitle: Visual Studio Code June 2024
MetaDescription: Learn what is new in the Visual Studio Code June 2024 Release (1.91)
MetaSocialImage: 1_91/release-highlights.png
-Date: 2024-7-4
+Date: 2024-7-3
DownloadVersion: 1.91.0
---
# June 2024 (version 1.91)
@@ -13,16 +13,458 @@ DownloadVersion: 1.91.0
---
-Welcome to the Insiders build. These are the preliminary notes for the June 1.91 release of Visual Studio Code. As we get closer to the release date, you'll find details below about new features and important fixes.
+Welcome to the June 2024 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include:
-Until the June milestone release notes are available, you can still track our progress:
+* [Preview: Incoming/Outgoing changes graph](#source-control) - Visualize incoming and outgoing changes in the Source Control view.
+* [Python environments](#python) - Enhanced environment discovery with python-environment-tools.
+* [Smart Send in native REPL](#smart-send-in-native-repl) - Smoothly run code chunks in the native REPL.
+* [GitHub Copilot extensibility](#chat-and-language-model-api) - Chat and Language Model APIs available in VS Code Stable.
+* [Preview: Profiles Editor](#profiles-editor-preview) - Manage your profiles in a single place.
+* [Custom tab labels](#access-file-extensions-in-custom-labels) - More variable options and support for multiple extensions.
+* [TypeScript 5.5](#syntax-checking-for-regular-expressions) - Syntax checking for regular expressions and other language features.
+* [JavaScript Debugger](#javascript-debugger) - Inspect shadowed variables while debugging JavaScript.
-* **[Commit log](https://github.com/Microsoft/vscode/commits/main)** - GitHub commits to the vscode open-source repository.
-* **[Closed issues](https://github.com/Microsoft/vscode/issues?q=is%3Aissue+is%3Aclosed+milestone%3A%22June+2024%22)** - Resolved bugs and implemented feature requests in the milestone.
+>If you'd like to read these release notes online, go to [Updates](https://code.visualstudio.com/updates) on [code.visualstudio.com](https://code.visualstudio.com).
+**Insiders:** Want to try new features as soon as possible? You can download the nightly [Insiders](https://code.visualstudio.com/insiders) build and try the latest updates as soon as they are available.
-We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new.
+## Accessibility
+
+### Accessible View for editor hover
+
+To improve accessibility when coding, the [Accessible View](https://code.visualstudio.com/docs/editor/accessibility#_accessible-view) and [accessibility help menu](https://code.visualstudio.com/docs/editor/accessibility#_accessibility-help) can now present the content of the editor hover information. Depending on the focused part of the hover, they show information about the focused part or the entire hover content.
+
+![Accessible View showing the contents of the editor hover information.](images/1_91/accessible-view-hover.png)
+
+### Link underlines
+
+To make links easier to distinguish from regular text in the workbench, you can enable the setting accessibility.underlineLinks to underline links.
+
+![The run and debug view showing a mix of regular text and underlined links.](images/1_91/underline-links.png)
+
+## Workbench
+
+### Search
+
+We added a new setting search.ripgrep.maxThreads that enables you to limit the number of threads that the ripgrep search engine uses. This setting applies regardless whether search is used by the core product or via the extension API.
+
+Set search.ripgrep.maxThreads to a nonzero value to configure the number of threads. Be cautious because fixing this setting to a specific value might slow down ripgrep.
+
+### Adjust allowed encodings for guessing
+
+With the new setting files.candidateGuessEncodings, you can configure a set of encodings that should be considered when files.autoGuessEncoding is enabled. The order of configuration determines the priority. This functionality enables you to limit the possible encodings that can be detected to a smaller set and to prioritize one encoding over another.
+
+### Profiles Editor preview
+
+In this milestone, we introduced a new Profiles Editor that enables you to manage [profiles](https://code.visualstudio.com/docs/editor/profiles) from a single place. This experience includes creating new profiles, editing and deleting existing profiles, and importing and exporting profiles to share with others. While creating a new profile, you can preview the profile and customize as needed before saving it. The Profiles Editor also enables you to open new windows with a specific profile, or set a profile as the default profile for new windows.
+
+![Profiles Editor showing all user profiles and their settings.](images/1_91/profiles-editor.png)
+
+The Profiles Editor is available as an experimental feature behind the workbench.experimental.enableNewProfilesUI setting. Once enabled, you can access the Profiles Editor from the Settings gear icon in the bottom left corner of the window.
+
+![Settings menu showing the Profiles menu item to open the Profiles Editor.](images/1_91/profiles-editor-action.png)
+
+Give it a try and give us feedback on how we can improve this experience further.
+
+### New Window with Profile menu item
+
+In addition to the Profiles Editor, we added actions to the File menu to open a new window with a specific profile. Use the **File** > **New Window with Profile** menu to open a new window with a specific profile.
+
+![Screenshot of the File menu showing the New Window with Profile menu items.](images/1_91/profile-new-window-actions.png)
+
+### Extension install options
+
+We added more options to give you more flexibility when installing extensions:
+
+* Install an extension without syncing it.
+* Install a specific version of an extension. Previously, you first had to install the latest version of the extension before you could select a specific version.
+
+These actions are available in the context menu of the extension in the Extensions view:
+
+![Context menu for the Extensions view, showing the additional install actions.](images/1_91/extension-install-actions.png)
+
+### Access file extensions in custom labels
+
+When you define [custom labels](https://code.visualstudio.com/docs/getstarted/userinterface#_customize-tab-labels), you have now more flexibility to access individual file extensions by using the `${extname(N)}` syntax. Additionally, `${extname(N)}` also supports negative indices to capture file extensions in the reverse order. To get the entire file extension, use `${extname}`.
+
+For example, for the file `tests/editor.test.ts`:
+
+- `${filename}` => `editor`
+- `${extname}` => `test.ts`
+- `${extname(0)}` => `ts`
+- `${extname(1)}` => `test`
+- `${extname(-1)}` => `test`
+- `${extname(-2)}` => `ts`
+
+### Merge custom label patterns from multiple extensions
+
+When two extensions contribute a default configuration for the setting workbench.editor.customLabels.patterns in their `configurationDefaults`, the contributed patterns are merged together.
+
+