如何配置Pylance自动导入时移除导入路径首个多余模块前缀
Pylance自动导入移除多余路径前缀配置方法
之前配置不生效的核心原因是python.analysis.extraPaths和python.autoComplete.extraPaths指向了backend目录的上级(即工作区根目录),Pylance会将该目录下的backend识别为顶层包,生成导入语句时自然会带上backend前缀。
按以下步骤修改配置即可实现预期效果:
- 将两个extraPaths配置项的路径直接指向
backend目录本身,而非其上级目录,Pylance会将该目录作为模块搜索根路径,此时api会被识别为顶层包,导入时不会再携带backend前缀 - 开启
python.analysis.useImportHeuristic配置,让Pylance优先选择最短的合法导入路径,避免出现冗余前缀 - 之前配置的
python.linting.cwd仅控制代码检查工具的工作目录,不影响自动导入路径生成,可根据lint需求自行决定是否保留
修改完成后的settings.json参考配置如下:
{ "python.linting.cwd": "${workspaceFolder}\\backend", "python.analysis.extraPaths": ["${workspaceFolder}\\backend"], "python.autoComplete.extraPaths": ["${workspaceFolder}\\backend"], "python.analysis.indexing": true, "python.analysis.useImportHeuristic": true, "editor.formatOnSave": true }
配置修改完成后,按Ctrl+Shift+P打开命令面板,执行Developer: Reload Window重载窗口,等待Pylance完成文件重新索引后,触发自动导入就会生成from api.bills.serializers import ...格式的语句。
注意:如果配置后仍然出现带
backend前缀的导入选项,检查工作区下是否有其他路径配置将工作区根目录加入了Python搜索路径,移除对应配置即可。
内容的提问来源于stack exchange,提问作者Zkh
相关产品推荐
相关产品推荐

