docker 容器中的 VS Code:有没有办法在连接到正在运行的容器时自动安装扩展?

cha*_*dgh 12 docker visual-studio-code

当我使用 VS Code 的“附加到正在运行的容器...”功能时,我必须手动安装需要在容器中安装的几个扩展。

附加到正在运行的容器...

有没有办法设置 VS Code,以便当我附加到正在运行的容器时,它会自动安装我需要的扩展?

我知道这个问题:Automatically install extensions in VS Code?

但这并没有说明如何在运行的容器中自动安装扩展,也不清楚如何使用答案来实现这一点。

我需要安装的特定扩展是来自 Microsoft 的 Python 扩展。我不确定这是否相关,但以防万一。

gly*_*ict 13

不确定何时添加此功能,但在 VSCode 中,正常打开远程容器中的项目,然后在扩展侧选项卡下,找到所需的扩展并单击“cog”设置图标。它具有“添加到 devcontainer.json”的权限。

在此输入图像描述

此命令将该扩展名添加到文件customizations.vscode.extensions中的设置中devcontainer.json

{
    "name": "MyContainer",
    // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
    "dockerComposeFile": "docker-compose.yml",
    "service": "devcontainer",
    "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
    "customizations": {
        "vscode": {
            "extensions": [
                # added by VSCode
                "ms-python.python"
            ]
        }
    },
    ...
Run Code Online (Sandbox Code Playgroud)


小智 0

来自Github上的类似问题:

您可以将扩展 ID 数组添加到“附加”配置(“扩展”属性)。使用 F1 > Remote-Containers: Open Attached Container Configuration File... 打开它。请注意,对于每个容器扩展,仅在您第一次附加到它时才会安装,此后对配置文件中“扩展”的更改将仅适用于具有相同映像名称(或容器名称,如果配置为范围仅限于此)。