vscode 远程容器中的自动完成 python

sig*_*per 3 python visual-studio-code vscode-remote

我正在使用 vscode 扩展 importmagic,当不在远程容器中工作时它可以正常工作。在远程容器中,我看不到自己的类和函数作为自动完成的建议。

我尝试过添加

        "python.autoComplete.extraPaths": [
            "${workspaceFolder}",
        ],
Run Code Online (Sandbox Code Playgroud)

devcontainer.json到where中的设置workspaceFolder=/app。如果我将其设置为${workspaceFolder}/module它会给我提供有关底层模块的建议。

例如,我有一个类似的结构module/sub_module/sub_sub_module,它会建议并自动添加导入from sub_module.sub_sub_module import ...,但module不包含在导入中,因此无法解析导入。

是否有我缺少的设置,或者为什么在仅使用workspaceFolder 作为额外路径时无法检测到底层模块?

hex*_*exr 6

将 settings.json 中的 Python 服务器从“Pylance”或“Microsoft”或您正在使用的任何内容更改为“Jedi”

"python.languageServer": "Jedi"
Run Code Online (Sandbox Code Playgroud)

老实说,除了这个之外,没有任何解决方案对我有用。

解决方案之一是继续将所有路径添加到 extraPaths 中,但这听起来不太好。而是使用“Jedi”服务器。不需要添加任何额外的路径,它默认使用打开的文件和文件夹的目录进行自动完成和分析。