vscode:由于工作空间很大,无法定义python

问题描述

随着我的项目越来越大,我无法在 Vscode 中使用 ctrl + 左键单击(或 F12)转到定义

我已经用一个新的工作区和一个 python 文件进行了测试。 转到定义功能运行良好。 (即 Python 和 Pylance 适用于小型项目。

def pp():
    print('test')

pp()

此外,我已经通过 Vscode 连接到远程服务器来测试该功能。它在具有更大内存/容量的服务器上运行良好。

在我的本地机器上,我总共有 15.6 GB 的内存。 bigger project 打开后,仍有 9 GB 可用内存。

也许它与内存没有直接关系,但实验表明,去定义取决于项目大小:

small project @ local machine:                ok
big   project @ local machine:                Failed
big   project @ Remote Server(larger memory): ok

我正在使用 pylance,它在 setting.json 中设置:

    "python.languageServer": "Pylance","python.jediEnabled": false,

我已经排除了 setting.json 中所有不必要的文件夹以减少项目大小:

"files.watcherExclude": {
    "**/build/**": true,"**/data/**": true,"**/output/**": true,"**/pcdet.egg-info/**": true,},

但是,当我用 ctrl 点击时,vscode 一直在加载。

如何使转到定义功能正常工作?

解决方法

我在服务器上遇到了同样的问题,它的容量比我的本地机器大得多。go to definition 的搜索过程大约需要 3 秒才能找到目的地。

它发生在我在工作区中生成大量图像之后。 (即使我将新文件/文件夹添加到 .gitignore 列表中。)

我会避免在工作区中添加大量新文件,以保持go to definition 函数的活动。