问题描述
我正在使用 VScode 在下一个环境中开发 Django Web 应用程序:
• 操作系统和版本:Windows 10
• VS 代码版本:1.52.2
• Python 扩展版本:v2021.5.842923320
• 远程 – SSH 版本:v0.65.4
在我的 Windows 笔记本电脑上,我使用 Remote – SSH 插件在 Ubuntu 20.04 VM 上工作,所以我用 Django3.2 和其他 python 包配置了一个 python3.9 虚拟环境。另外,我已经安装了 pylint 并且一切正常。
当我通过 sshfs 从另一个站点在应用程序媒体文件夹内(在工作区内)安装文件夹时出现问题。发生的情况是自动完成停止工作,当您按 Clr+Space 时,我只会收到一条加载消息。
请注意,我通过 sshfs 挂载的这个文件夹非常大,超过 1 TB,其中包含许多文件,包括 python 脚本,而且我注意到即使关闭 VScode 我也无法卸载该文件夹,因为 fusermount 说该文件夹已被使用通过某个进程(我猜是 VM 内部的 VScode 进程)。毕竟,如果我不打开 VScode,我可以毫无问题地挂载和卸载此文件夹。
我还使用“files.exclude”和“files.watcherExclude”排除了这个媒体文件夹,但问题仍然存在。
有人以前遇到过这个问题或类似的问题。如有任何建议,我将不胜感激。
[更新]
即使使用 files.exclude
、serach.exclude
或不使用,如果我在打开 VScode 后挂载文件夹,Intellisence 也能正常工作一段时间。但是如果我关闭并重新打开 Vscode,智能就会停止工作。如果我在打开 VScode 之前挂载文件夹,也会出现同样的问题。
[更新 2] Python language sever OUTPUT panel
此致。
解决方法
在工作区的根目录创建一个“pyrightconfig.json”,并添加排除解决问题https://github.com/microsoft/pyright/blob/main/docs/configuration.md#main-pyright-config-options
{"exclude": ["**/application/media"]}
,
您应该使用 search.exclude
而不是 files.exclude
。
// Configure glob patterns for excluding files and folders in fulltext searches and quick open. Inherits all glob patterns from the `files.exclude` setting.
"search.exclude": {
"**/node_modules": true,"**/bower_components": true,"**/*.code-search": true
},// Configure glob patterns for excluding files and folders. For example,the file Explorer decides which files and folders to show or hide based on this setting. Refer to the `search.exclude` setting to define search specific excludes.
"files.exclude": {
"**/.git": true,"**/.svn": true,"**/.hg": true,"**/CVS": true,"**/.DS_Store": true
},
更新:
您使用的是哪种语言服务器? Pylance
?、Jedi
?。您可以尝试切换语言服务器吗?
你能看看这些面板吗?
更新 2:
您可以尝试升级 Python 扩展吗?如果它不起作用,您可以尝试将节点版本降级到12吗?您可以参考this page。