我正在导入与导入Python脚本位于同一目录中的模块foo
。
src/proj
_ main.py
|_ foo.py
然而,/usr/local/lib/python3.6/site-packages
中也安装了一个foo。
当我尝试使用VSCode跳转到foo
中定义的方法("转到定义",F12
)时,什么都没有发生(因为foo
的系统实例没有这样的方法)。如果我将鼠标悬停在导入本身上,转到定义,我最终会进入系统foo
(这是一个包含__init__.py
和其他模块内容的目录)。
我如何才能强制VSCode使用我的CCD_转到定义/声明等";操作而不是系统foo
?(我相信配置了正确的Python解释器。)
我尝试过将'.'
添加到extraPaths
(Python)中,但这并没有帮助。我甚至尝试将'.'
添加到sys.path
的开头,这似乎也没有帮助。
请注意,我正在通过SSH进行远程编辑。
首先,我错误地认为只有foo
无法解决问题。事实上,同一目录中的其他模块也没有解析。在这些情况下,由于在系统空间中没有冲突的名称,所以我不能";转到定义";对于CCD_ 15线而言。
第二,似乎对我有效的解决方案是";打开文件夹";而不是打开我正在处理的每个文件。如果我打开文件夹,那么VSCode可以并且确实正确解析引用,包括foo
。它不会混淆。相反,它打开了我的foo
,而不是系统foo
。