有时候,尽管我们启动一个 docker 环境可以执行代码,但是 vscode 补全未能生效。
这是由于相关的库都在 container 中,我们 vscode 一般是运行在 host os 上。
为了解决这个问题,我们可以在项目根目录下,使用 docker-compose.yml 来创建一个开发环境。
然后,创建一个.devcontainer/devcontainer.json
文件。
例如,如果你要开发 python 的程序,可以使用下面的 .devcontainer/devcontainer.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| {
"name": "MyPython",
"dockerComposeFile": "../docker-compose.yml",
"service": "notebook", # service in your docker-compose.yml
"workspaceFolder": "/app",
"shutdownAction": "none",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
"tamasfe.even-better-toml",
"charliermarsh.ruff",
"ms-python.black-formatter",
"ms-toolsai.jupyter"
]
}
}
}
|
如此一来,就可以启动一个安装好相关环境的『子』系统了。
深入阅读:Develop like a Pro with NVIDIA + Docker + VS Code + PyTorch。