VSCode Intellisense 显示错误的自动完成模块
VSCode Intellisense shows wrong autocomplete modules
我有几个结构相同的模块,VSCode Intellisense 似乎把它们混在一起了。
这是我的项目结构的一部分:
project
|-- daos
| -- strategies
| -- __init__.py
| -- athena_strategy.py
| -- __init__.py
| -- db.py
|-- extractor
| -- strategies
| -- __init__.py
| -- extractor_strategy.py
| -- __init__.py
| -- extractor.py
问题是,当我试图在 extractor.py
中导入 strategies
时,Intellisense 向我显示 athena_strategy
模块而不是 extractor_strategy
:
这是 settings.json
里面的文件 .vscode
:
{
"python.pythonPath": "/usr/bin/python3",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.autoComplete.extraPaths": [
"${workspaceFolder}/extractor",
"${workspaceFolder}/daos",
"${workspaceFolder}/ingester",
]
}
是否需要添加任何其他配置才能在导入中获得正确的模块?
在VS Code中使用python时,其“Intellisense”功能由“python”扩展和语言服务提供,不同语言服务显示的“自动完成”内容不同.
使用“绝地武士”时:(settings.json 中的"python.languageServer": "Jedi",
)
使用“Microsoft”或“Pylance”时:
需要我们使用“from extractor.strategies.
”,“自动完成”会显示我们需要的内容。另外,为了使代码可运行,请添加“import sys
sys.path.append("./")
”在“extractor.py”的开头。
另外,建议大家使用不同的文件名和文件夹名,这种良好的编程习惯可以避免很多问题。
我有几个结构相同的模块,VSCode Intellisense 似乎把它们混在一起了。
这是我的项目结构的一部分:
project
|-- daos
| -- strategies
| -- __init__.py
| -- athena_strategy.py
| -- __init__.py
| -- db.py
|-- extractor
| -- strategies
| -- __init__.py
| -- extractor_strategy.py
| -- __init__.py
| -- extractor.py
问题是,当我试图在 extractor.py
中导入 strategies
时,Intellisense 向我显示 athena_strategy
模块而不是 extractor_strategy
:
这是 settings.json
里面的文件 .vscode
:
{
"python.pythonPath": "/usr/bin/python3",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.autoComplete.extraPaths": [
"${workspaceFolder}/extractor",
"${workspaceFolder}/daos",
"${workspaceFolder}/ingester",
]
}
是否需要添加任何其他配置才能在导入中获得正确的模块?
在VS Code中使用python时,其“Intellisense”功能由“python”扩展和语言服务提供,不同语言服务显示的“自动完成”内容不同.
使用“绝地武士”时:(settings.json 中的
"python.languageServer": "Jedi",
)使用“Microsoft”或“Pylance”时:
需要我们使用“
from extractor.strategies.
”,“自动完成”会显示我们需要的内容。另外,为了使代码可运行,请添加“import sys
sys.path.append("./")
”在“extractor.py”的开头。
另外,建议大家使用不同的文件名和文件夹名,这种良好的编程习惯可以避免很多问题。