diff --git a/api/extension-guides/overview.md b/api/extension-guides/overview.md
index 83a83c6930..dd15465798 100644
--- a/api/extension-guides/overview.md
+++ b/api/extension-guides/overview.md
@@ -64,7 +64,7 @@ Here is a list of additional samples from the [VS Code Extensions samples repo](
| [Commenting API Sample](https://github.com/microsoft/vscode-extension-samples/tree/main/comment-sample) | |
| [Document Editing Sample](https://github.com/microsoft/vscode-extension-samples/tree/main/document-editing-sample) | [commands](https://code.visualstudio.com/api/references/vscode-api#commands)
[contributes.commands](https://code.visualstudio.com/api/references/contribution-points#contributes.commands) |
| [Getting Started Sample](https://github.com/microsoft/vscode-extension-samples/tree/main/getting-started-sample) | [contributes.walkthroughs](https://code.visualstudio.com/api/references/contribution-points#contributes.walkthroughs) |
-| [Test extension](https://github.com/microsoft/vscode-extension-samples/tree/main/test-provider-sample) | [TestController](https://code.visualstudio.com/api/references/vscode-api#TestController)
[TestItem](https://code.visualstudio.com.azurewebsites.net/api/references/vscode-api#TestItem) |
+| [Test extension](https://github.com/microsoft/vscode-extension-samples/tree/main/test-provider-sample) | [TestController](https://code.visualstudio.com/api/references/vscode-api#TestController)
[TestItem](https://code.visualstudio.com/api/references/vscode-api#TestItem) |
## Language Extension Samples
diff --git a/api/references/contribution-points.md b/api/references/contribution-points.md
index 0ada97bfd5..0da0519a1f 100644
--- a/api/references/contribution-points.md
+++ b/api/references/contribution-points.md
@@ -714,7 +714,7 @@ See the [File Icon Theme Guide](/api/extension-guides/file-icon-theme) on how to
## contributes.jsonValidation
-Contribute a validation schema for a specific type of `json` file. The `url` value can be either a local path to a schema file included in the extension or a remote server URL such as a [json schema store](https://www.schemastore.org/json).
+Contribute a validation schema for a specific type of `json` file. The `url` value can be either a local path to a schema file included in the extension or a remote server URL such as a [json schema store](https://www.schemastore.org/).
```json
{
diff --git a/docs/azure/gettingstarted.md b/docs/azure/gettingstarted.md
index bfe3ab4c9c..7c3c917803 100644
--- a/docs/azure/gettingstarted.md
+++ b/docs/azure/gettingstarted.md
@@ -11,7 +11,7 @@ The [Azure Tools extension pack](https://marketplace.visualstudio.com/items?item
## Get started
-**Install the Azure Tools extension pack.** Open VS Code, navigate to the Extensions view, and search for “Azure Tools.” Install the [Azure Tools extension pack](overview.md) from Microsoft.
+**Install the Azure Tools extension pack.** Open VS Code, navigate to the Extensions view, and search for “Azure Tools.” Install the [Azure Tools extension pack](/docs/azure/overview.md) from Microsoft.
**Navigate to the Azure Resources view.** Select the Azure icon in the Activity Bar (sidebar) to open the **Azure Resources** view. Once you're signed in to your Azure account, the Azure Resources view displays all your existing resources. You can create and manage these services right from VS Code.
diff --git a/docs/configure/accessibility/accessibility.md b/docs/configure/accessibility/accessibility.md
index 5c52c43628..b0cbef630b 100644
--- a/docs/configure/accessibility/accessibility.md
+++ b/docs/configure/accessibility/accessibility.md
@@ -148,7 +148,7 @@ VS Code supports screen readers in the editor using a strategy based on text pag
* Windows: [NVDA](https://www.nvaccess.org) and [JAWS](https://www.freedomscientific.com/products/software/jaws)
* macOS: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/mac)
-* Linux: [Orca](https://help.gnome.org/users/orca/stable/introduction.html)
+* Linux: [Orca](https://help.gnome.org/users/orca/stable/)
> For NVDA, we recommend that you stay in focus mode and use the hotkeys to navigate, instead of using browse mode.
diff --git a/docs/configure/keybindings.md b/docs/configure/keybindings.md
index c2553473c0..4e416228f0 100644
--- a/docs/configure/keybindings.md
+++ b/docs/configure/keybindings.md
@@ -281,7 +281,7 @@ To override a specific keyboard shortcut rule with an empty action, you can spec
Keys are string representations for virtual keys and do not necessarily relate to the produced character when they are pressed. More precisely:
-* Reference: [Virtual-Key Codes (Windows)](https://msdn.microsoft.com/library/windows/desktop/dd375731)
+* Reference: [Virtual-Key Codes (Windows)](https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)
* `kbstyle(tab)` for `VK_TAB` (`0x09`)
* `kbstyle(;)` for `VK_OEM_1` (`0xBA`)
* `kbstyle(=)` for `VK_OEM_PLUS` (`0xBB`)
diff --git a/docs/containers/debug-common.md b/docs/containers/debug-common.md
index d94554888c..1816efb063 100644
--- a/docs/containers/debug-common.md
+++ b/docs/containers/debug-common.md
@@ -123,7 +123,7 @@ Example `launch.json` configuration for debugging a .NET application using `Dock
### node object properties
-> These properties are the same as those described in the [VS Code documentation](/docs/nodejs/nodejs-debugging-configuration.md#launch-configuration-attributes) for attaching a debugger to Node.js applications. All properties passed in the `node` object will be passed on to the Node.js debug adaptor, even if not specifically listed below.
+> These properties are the same as those described in the [VS Code documentation](/docs/nodejs/nodejs-debugging.md#launch-configuration-attributes) for attaching a debugger to Node.js applications. All properties passed in the `node` object will be passed on to the Node.js debug adaptor, even if not specifically listed below.
| Property | Description | Default |
| --- | --- | --- |
diff --git a/docs/containers/overview.md b/docs/containers/overview.md
index b818d90d1e..efaaf5de56 100644
--- a/docs/containers/overview.md
+++ b/docs/containers/overview.md
@@ -95,5 +95,4 @@ Read on to learn more about
- [Build and run a Node.js app in a container](/docs/containers/quickstart-node.md)
- [Build and run a .NET app in a container](/docs/containers/quickstart-aspnet-core.md)
- [Debug apps within Docker containers](/docs/containers/debug-common.md)
-- [Docker application development](https://docs.docker.com/develop)
- [Troubleshooting](/docs/containers/troubleshooting.md)
diff --git a/docs/containers/quickstart-python.md b/docs/containers/quickstart-python.md
index 02cc2b192e..eddfd5628b 100644
--- a/docs/containers/quickstart-python.md
+++ b/docs/containers/quickstart-python.md
@@ -8,7 +8,7 @@ MetaDescription: Develop, build, and debug a Python app in a container, using Vi
In this tutorial, you will learn how to:
- Create a `Dockerfile` file describing a simple Python container.
-- Build, run, and verify the functionality of a [Django](https://www.djangoproject.com/), [Flask](https://flask.palletsprojects.com/en/1.1.x), or General Python app.
+- Build, run, and verify the functionality of a [Django](https://www.djangoproject.com/), [Flask](https://flask.palletsprojects.com/en/stable/), or General Python app.
- Debug the app running in a container.
## Prerequisites
diff --git a/docs/cpp/configure-intellisense-crosscompilation.md b/docs/cpp/configure-intellisense-crosscompilation.md
index c090a80ebd..55a82e8c5c 100644
--- a/docs/cpp/configure-intellisense-crosscompilation.md
+++ b/docs/cpp/configure-intellisense-crosscompilation.md
@@ -69,7 +69,6 @@ Given the settings above, your `c_cpp_configuration.json` file will look somethi
## Next steps
-- For more information about IntelliSense configuration, see [Customizing default settings](/docs/cpp/customize-default-settings-cpp.md).
+- For more information about IntelliSense configuration, see [Customizing default settings](/docs/cpp/customize-cpp-settings.md).
- If you have trouble configuring the settings, please start a discussion at [GitHub discussions](https://github.com/microsoft/vscode-cpptools/discussions), or if you find an issue that needs to be fixed, file an issue at [GitHub issues](https://github.com/microsoft/vscode-cpptools/issues).
-- Explore the [c_cpp_properties schema](/docs/cpp/c-cpp-properties-schema-reference.md).
- Review the [Overview of the C++ extension](/docs/languages/cpp.md).
diff --git a/docs/cpp/configure-intellisense.md b/docs/cpp/configure-intellisense.md
index 4155a7dcca..3d9fa4bbc1 100644
--- a/docs/cpp/configure-intellisense.md
+++ b/docs/cpp/configure-intellisense.md
@@ -21,7 +21,7 @@ If you don't have IntelliSense configured, the C/C++ extension shows a yellow in
To configure, select the status bar indicator, which brings up the [configuration Quick Pick](#option-1-select-a-configuration-option-through-the-configuration-quick-pick). The Quick Pick can help you select or install a C/C++ compiler.
-If you do not see a status bar indicator, you can also check your project's `c_cpp_properties.json` file. This file stores all of your IntelliSense configuration settings. Navigate to this file by selecting **C/C++: Edit Configurations (UI)** from the Command Palette (`kb(workbench.action.showCommands)`). Check the `IntelliSense mode` to find your configuration. To learn more about the `c_cpp_properties.json` file, you can review the [schema reference](/docs/cpp/c-cpp-properties-schema-reference.md).
+If you do not see a status bar indicator, you can also check your project's `c_cpp_properties.json` file. This file stores all of your IntelliSense configuration settings. Navigate to this file by selecting **C/C++: Edit Configurations (UI)** from the Command Palette (`kb(workbench.action.showCommands)`). Check the `IntelliSense mode` to find your configuration.

diff --git a/docs/cpp/lldb-mi.md b/docs/cpp/lldb-mi.md
index b60c7718d8..56012b2c16 100644
--- a/docs/cpp/lldb-mi.md
+++ b/docs/cpp/lldb-mi.md
@@ -87,5 +87,4 @@ If you built your own `lldb-mi`, you can use it by setting `miDebuggerPath` to t
## References
-* [LLDB-MI Build](https://dev.azure.com/ms/vscode-cpptools/_build?definitionId=313)
* [LLDB-MI Repository](https://github.com/lldb-tools/lldb-mi)
diff --git a/docs/csharp/cs-dev-kit-faq.md b/docs/csharp/cs-dev-kit-faq.md
index 8a6968b907..8e78cf04d8 100644
--- a/docs/csharp/cs-dev-kit-faq.md
+++ b/docs/csharp/cs-dev-kit-faq.md
@@ -60,7 +60,7 @@ No. C# Dev Kit is closed source but depends upon the C# for VS Code extension, w
### How can I contribute?
-The C# extension, which is a part of the C# Dev Kit, is fully open source and is subject to [these license terms](https://devdiv.visualstudio.com/DevDiv/_git/vscode-csharp-next?path=/RuntimeLicenses/license.txt). The source code to this extension is available on [https://github.com/dotnet/vscode-csharp](https://github.com/dotnet/vscode-csharp) and licensed under the MIT license.
+The C# extension, which is a part of the C# Dev Kit, is fully open source and is subject to [these license terms](https://aka.ms/vs/csdevkit/license). The source code to this extension is available on [https://github.com/dotnet/vscode-csharp](https://github.com/dotnet/vscode-csharp) and licensed under the MIT license.
This project has adopted the code of conduct defined by the [Contributor Covenant](https://www.contributor-covenant.org) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/about/policies/code-of-conduct). By signing the [CLA](https://cla.dotnetfoundation.org/), the community is free to use your contribution to .NET Foundation projects.
diff --git a/docs/datascience/jupyter-notebooks.md b/docs/datascience/jupyter-notebooks.md
index 68b46fea0b..c9d2163016 100644
--- a/docs/datascience/jupyter-notebooks.md
+++ b/docs/datascience/jupyter-notebooks.md
@@ -316,7 +316,7 @@ To connect to a remote Jupyter server:

-> **Note:** For added security, Microsoft recommends configuring your Jupyter server with security precautions such as SSL and token support. This helps ensure that requests sent to the Jupyter server are authenticated and connections to the remote server are encrypted. For guidance about securing a notebook server, refer to the [Jupyter documentation](https://jupyter-notebook.readthedocs.io/en/stable/public_server.html#securing-a-notebook-server).
+> **Note:** For added security, Microsoft recommends configuring your Jupyter server with security precautions such as SSL and token support. This helps ensure that requests sent to the Jupyter server are authenticated and connections to the remote server are encrypted. For guidance about securing a notebook server, refer to the [Jupyter documentation](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html).
## Data Science profile template
diff --git a/docs/devcontainers/containers.md b/docs/devcontainers/containers.md
index a77f15b268..58e32da453 100644
--- a/docs/devcontainers/containers.md
+++ b/docs/devcontainers/containers.md
@@ -353,7 +353,7 @@ We recommend pre-building images with the tools you need rather than creating an
Even better - pre-built images can contain Dev Container metadata so when you reference an image, settings will be pulled across automatically.
-We recommend using the [Dev Container CLI](/docs/devcontainers/devcontainer-cli.md) (or other [specification](https://containers.dev) supporting utilities like the [GitHub Action](https://github.com/marketplace/actions/devcontainers-ci)) to pre-build your images since it is kept in sync with the Dev Containers extension's latest capabilities - including [dev container Features](#dev-container-features). Once you've built your image, you can push it to a container registry (like the [Azure Container Registry](https://learn.microsoft.com/azure/container-registry/container-registry-get-started-docker-cli?tabs=azure-cli), [GitHub Container Registry](https://docs.github.com/packages/working-with-a-github-packages-registry/working-with-the-container-registry#pushing-container-images), or [Docker Hub](https://docs.docker.com/engine/reference/commandline/push)) and reference it directly.
+We recommend using the [Dev Container CLI](/docs/devcontainers/devcontainer-cli.md) (or other [specification](https://containers.dev) supporting utilities like the [GitHub Action](https://github.com/marketplace/actions/dev-container-build-and-run-action)) to pre-build your images since it is kept in sync with the Dev Containers extension's latest capabilities - including [dev container Features](#dev-container-features). Once you've built your image, you can push it to a container registry (like the [Azure Container Registry](https://learn.microsoft.com/azure/container-registry/container-registry-get-started-docker-cli?tabs=azure-cli), [GitHub Container Registry](https://docs.github.com/packages/working-with-a-github-packages-registry/working-with-the-container-registry#pushing-container-images), or [Docker Hub](https://docs.docker.com/engine/reference/commandline/push)) and reference it directly.
You can use the GitHub Action in the [devcontainers/ci](https://github.com/devcontainers/ci) repository to help you reuse dev containers in your workflows.
@@ -604,7 +604,7 @@ See [here for a list of active issues](https://aka.ms/vscode-remote/containers/i
### Docker limitations
-See the Docker troubleshooting guide for [Windows](https://docs.docker.com/docker-for-windows/troubleshoot) or [Mac](https://docs.docker.com/docker-for-mac/troubleshoot), consult [Docker Support Resources](https://success.docker.com/article/best-support-resources) for more information.
+See the Docker troubleshooting guide for [Windows](https://docs.docker.com/docker-for-windows/troubleshoot) or [Mac](https://docs.docker.com/docker-for-mac/troubleshoot) for more information.
### Container Tools Extension limitations
diff --git a/docs/devcontainers/faq.md b/docs/devcontainers/faq.md
index 35bcc7a432..8766d6becb 100644
--- a/docs/devcontainers/faq.md
+++ b/docs/devcontainers/faq.md
@@ -70,7 +70,6 @@ The following articles may help answer your question:
* [Docker Compose file reference](https://docs.docker.com/compose/compose-file/)
* [Docker Desktop for Windows troubleshooting guide](https://docs.docker.com/docker-for-windows/troubleshoot) and [FAQ](https://docs.docker.com/docker-for-windows/faqs/)
* [Docker Desktop for Mac troubleshooting guide](https://docs.docker.com/docker-for-mac/troubleshoot) and [FAQ](https://docs.docker.com/docker-for-mac/faqs/)
-* [Docker Support Resources](https://success.docker.com/article/best-support-resources)
## Can I use dev containers outside of VS Code?
diff --git a/docs/devcontainers/tips-and-tricks.md b/docs/devcontainers/tips-and-tricks.md
index b2b401f1c0..6801ea9460 100644
--- a/docs/devcontainers/tips-and-tricks.md
+++ b/docs/devcontainers/tips-and-tricks.md
@@ -36,7 +36,7 @@ You can use custom instructions with dev containers to give Copilot more informa
2. **Switch out of "Linux Containers on Windows (LCOW)" mode.** While disabled by default, recent versions of Docker support [Linux Containers on Windows (LCOW)](https://learn.microsoft.com/virtualization/windowscontainers/deploy-containers/linux-containers) that can allow you to use both Windows and Linux containers at the same time. However, this is a new feature, so you may encounter issues and the Dev Containers extension only supports Linux containers currently. You can switch out of LCOW mode at any time by right-clicking on the Docker task bar item and selecting **Switch to Linux Containers...** from the context menu.
-3. **Make sure your firewall allows Docker to set up a shared drive.** Docker only needs to connect between two machine local IPs, but some firewall software may still block any drive sharing or the needed ports. See [this Docker KB article](https://success.docker.com/article/error-a-firewall-is-blocking-file-sharing-between-windows-and-the-containers) for next steps on resolving this problem.
+3. **Make sure your firewall allows Docker to set up a shared drive.** Docker only needs to connect between two machine local IPs, but some firewall software may still block any drive sharing or the needed ports.
Here are some tips that applied to older versions of Docker for Windows but should now be resolved. If you run into strange behaviors due to a possible regression, these tips have solved problems in the past.
diff --git a/docs/java/java-testing.md b/docs/java/java-testing.md
index 48da1acccd..4fd9ae754b 100644
--- a/docs/java/java-testing.md
+++ b/docs/java/java-testing.md
@@ -14,7 +14,7 @@ The extension supports the following test frameworks:
- [JUnit 4](https://junit.org/junit4/) (v4.8.0+)
- [JUnit 5](https://junit.org/junit5/) (v5.1.0+)
-- [TestNG](https://testng.org/doc/) (v6.9.13.3+)
+- [TestNG](https://testng.org/) (v6.9.13.3+)
The [Test Runner for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-test) works with the [Language Support for Java™ by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java) and [Debugger for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug) extensions to provide the following features:
diff --git a/docs/languages/markdown.md b/docs/languages/markdown.md
index 3433df5ec0..3c77019f23 100644
--- a/docs/languages/markdown.md
+++ b/docs/languages/markdown.md
@@ -332,7 +332,7 @@ Disables additional security in the preview window. This allows script execution
You select a profile template through the **Profiles** > **Create Profile...** dropdown:
-
+
Once you select a profile template, you can review the settings and extensions, and remove individual items if you don't want to include them in your new Profile. After creating the new profile based on a template, changes made to settings, extensions, or UI are persisted in your profile.
diff --git a/docs/languages/swift.md b/docs/languages/swift.md
index 35adbd881c..77a8ba8da2 100644
--- a/docs/languages/swift.md
+++ b/docs/languages/swift.md
@@ -174,7 +174,7 @@ be used:
- To Debug tests
The Swift extension supports [XCTest](https://developer.apple.com/documentation/xctest) as well as
-[Swift Testing](https://swiftpackageindex.com/apple/swift-testing/main/documentation/testing).
+[Swift Testing](https://swiftpackageindex.com/swiftlang/swift-testing).
As you write tests they are automatically added to the Test Explorer.

@@ -192,7 +192,7 @@ lines were executed. Line execution counts can be shown or hidden using the
`Test: Show Inline Coverage` command.
Swift Testing tests annotated with
-[tags](https://swiftpackageindex.com/apple/swift-testing/main/documentation/testing/addingtags)
+[tags](https://swiftpackageindex.com/swiftlang/swift-testing/6.2.0/documentation/testing/addingtags)
can be filtered in the Test Explorer using `@TestTarget:tagName`. You can then
run or debug the filtered list of tests.
diff --git a/docs/python/jupyter-support-py.md b/docs/python/jupyter-support-py.md
index 241ba22346..898e61e352 100644
--- a/docs/python/jupyter-support-py.md
+++ b/docs/python/jupyter-support-py.md
@@ -144,7 +144,7 @@ To connect to a remote Jupyter server:

-> **Note:** For added security, Microsoft recommends configuring your Jupyter server with security precautions such as SSL and token support. This helps ensure that requests sent to the Jupyter server are authenticated and connections to the remote server are encrypted. For guidance about securing a notebook server, see the [Jupyter docs](https://jupyter-notebook.readthedocs.io/en/stable/public_server.html#securing-a-notebook-server).
+> **Note:** For added security, Microsoft recommends configuring your Jupyter server with security precautions such as SSL and token support. This helps ensure that requests sent to the Jupyter server are authenticated and connections to the remote server are encrypted. For guidance about securing a notebook server, see the [Jupyter docs](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html).
## Convert Jupyter notebooks to Python code file
diff --git a/docs/python/tutorial-fastapi.md b/docs/python/tutorial-fastapi.md
index 6c94eb48f3..67b465f5da 100644
--- a/docs/python/tutorial-fastapi.md
+++ b/docs/python/tutorial-fastapi.md
@@ -354,7 +354,7 @@ If you are already working on **GitHub Codespaces** with our existing template,
If you are on Windows, you can work with Redis by setting up either a [Docker container](https://www.docker.com/products/docker-desktop) or a [GitHub Codespace](https://github.com/features/codespaces). In this tutorial we will use a Docker container, but you can refer to the [section above](#github-codespaces) for instructions on how to set up a GitHub Codespace.
-Otherwise, if you are on a Linux or a macOS machine, you can install Redis by following the [instructions on their website](https://redis.io/docs/install), and then skip to the [Replace the database](#replace-the-database) section.
+Otherwise, if you are on a Linux or a macOS machine, you can install Redis by following the [instructions on their website](https://redis.io/docs/latest/), and then skip to the [Replace the database](#replace-the-database) section.
### Setting up a Docker Container on Windows
@@ -715,11 +715,11 @@ Then when you want to reset the database, you can open the `flushdb.py` file in
Note that this should be done with caution because it will delete all the keys in the current database, which could lead to data loss if done in production.
-## Optional: Create a ChatGPT plugin
+## Optional: Create a GPT Action
-With GitHub Codespaces, you can host your application for testing purposes when using [ChatGPT Plugins](https://platform.openai.com/docs/plugins/introduction). ChatGPT Plugins are tools that enable [ChatGPT](https://chat.openai.com/) to interact with existing APIs to enhance ChatGPT's abilities, allowing it to perform a wide range of actions. ChatGPT Plugins are not currently publicly available, but you can join their [wait list](https://openai.com/waitlist/plugins) to get access. Once you do, you can follow along the live stream recording below to create your own grocery list plugin for ChatGPT:
+With GitHub Codespaces, you can host your application for testing purposes when using [GPT Actions](https://platform.openai.com/docs/actions/introduction). GPT Actions are tools that enable [ChatGPT](https://chatgpt.com/) to interact with existing APIs to enhance ChatGPT's abilities, allowing it to perform a wide range of actions. You can follow along the live stream recording below to create your own grocery list plugin for ChatGPT:
-
+
>**Note**: All personal GitHub.com accounts have a monthly quota of free use of GitHub Codespaces included in the Free or Pro plan. For more information, go to [About billing for GitHub Codespaces](https://docs.github.com/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces).
diff --git a/docs/python/tutorial-flask.md b/docs/python/tutorial-flask.md
index 38201fa1ab..79c9308a52 100644
--- a/docs/python/tutorial-flask.md
+++ b/docs/python/tutorial-flask.md
@@ -264,7 +264,7 @@ During your work with Flask or any other library, you may want to examine the co
## Use a template to render a page
-The app you've created so far in this tutorial generates only plain text web pages from Python code. Although it's possible to generate HTML directly in code, developers avoid such a practice because it opens the app to [cross-site scripting (XSS) attacks](https://flask.palletsprojects.com/security/#cross-site-scripting-xss). In the `hello_there` function of this tutorial, for example, one might think to format the output in code with something like `content = "