我目前正在使用 Docker 和 VSCode 开发 Django 应用程序。
要启动我的开发服务器,我运行
docker compose up
,并在 VSCode 上编写代码。我的应用程序的功能没有任何问题,但有时我需要使用 VSCode 的“转到定义”右键菜单来查看包源代码。
这在我之前使用 venvs 时有效,因为我在 VSCode 中指定
"python.defaultInterpreterPath"
到我的 venv 路径settings.json
。
当我使用 Docker 时,包位于我的容器中,因此 VSCode 自然无法找到导入包的转到代码定义。作为一个额外的缺点,它还报告缺少导入错误。
现在,我在我的机器上维护容器内包顶部的 venv 文件夹,通过将
"python.defaultInterpreterPath"
指向此 venv,我可以克服这两个问题。
但是,这看起来确实有点额外的工作,因为如果我想安装新包,我必须将两者安装到我的 venv 和容器中。
有没有更好的方法来处理这种情况?
我相信 VSCode Dev Containers 扩展可以满足您的需求:https://code.visualstudio.com/docs/devcontainers/containers