Sublime Text 索引比平时花费更长的时间
Sublime Text indexing taking longer than usual
过去几天,Sublime Text 3 一直在为文件编制索引。通常这个过程需要 20-30 分钟。请注意,分子(在下面的屏幕截图中)没有变化,但分母是。
问题:
- 什么是索引过程?
- 为什么要花这么长时间?
official documentation中有很多关于 Sublime Text 索引的信息。这是关键引文,但您应该阅读链接页面。
Sublime Text includes an indexing engine that scans all of the files and folders in a window/project and uses that information to provide the ability to jump to definitions.
为了做到这一点,Sublime Text 必须监控项目文件夹文件中的文件写入,以便它可以更新其内部目录或 index。可能有几个 windows 打开,每个都有自己的项目,每个项目可能包含几个文件夹,每个文件夹又可能包含整个 folder tree of files.
如果您不想使用此功能,可以通过在 Preferences.sublime-settings
文件中将 index_files
设置为 false
来关闭索引。
某人的索引编制花费很长时间的 2 个最常见原因是这些。
将主文件夹或文件系统的根目录添加为项目文件夹 - 可能需要对大量文件进行索引和监控。当然,如果添加任何在其树中包含大量文件的文件夹,也会出现同样的问题。在我的台式计算机上添加我的 Programming
文件夹会导致严重的索引问题,因为该文件夹是包含 75,000 个文件的树的头部。
添加网络文件夹,即不在本地文件系统上但存在于局域网或广域网上的文件夹。通过网络建立索引和监控 files/folders 将比在本地 SSD 或 HDD 上慢得多。在某些开发环境中,很容易无意中这样做,例如一个文件夹被添加到一个项目中,后来一个网络驱动器被安装在它的一个子文件夹中。
Sublime Text 中的项目文件夹旨在成为特定开发项目所需的文件夹。它们不打算用于索引 1000 个文件。在我的编程项目中,最大的有 3 个项目文件夹,其中包含几十个子文件夹,也许(最多)100 个文件。
有些版本的 Sublime Text 引入了索引问题。这不太可能是您遇到问题的原因,因为您的问题是最近才开始出现的,而且 Sublime Text 3 已经一年多没有发布新版本了。
您也许可以通过查看其状态而不是查看您发布的控制台中的作业来诊断您的索引编制花费这么长时间的原因。关键的区别在于索引状态指定了文件夹名称,如下所示,因此您可以看出问题所在。例如
...snip...
index "ProjectFolderName" collated in 0.00s from 19 files
index "ProjectFolderName" is using 12304 bytes for 222 symbols across 323 locations
indexing [job 396]: spawning 1 workers to process 1 / 1 files
indexing [job 396]: indexed 1 files
...snip...
您可以使用 Help --> Indexing Status...
或在命令面板中选择 Indexing Status
从 Sublime Text 菜单打开索引状态 window。
过去几天,Sublime Text 3 一直在为文件编制索引。通常这个过程需要 20-30 分钟。请注意,分子(在下面的屏幕截图中)没有变化,但分母是。
问题:
- 什么是索引过程?
- 为什么要花这么长时间?
official documentation中有很多关于 Sublime Text 索引的信息。这是关键引文,但您应该阅读链接页面。
Sublime Text includes an indexing engine that scans all of the files and folders in a window/project and uses that information to provide the ability to jump to definitions.
为了做到这一点,Sublime Text 必须监控项目文件夹文件中的文件写入,以便它可以更新其内部目录或 index。可能有几个 windows 打开,每个都有自己的项目,每个项目可能包含几个文件夹,每个文件夹又可能包含整个 folder tree of files.
如果您不想使用此功能,可以通过在 Preferences.sublime-settings
文件中将 index_files
设置为 false
来关闭索引。
某人的索引编制花费很长时间的 2 个最常见原因是这些。
将主文件夹或文件系统的根目录添加为项目文件夹 - 可能需要对大量文件进行索引和监控。当然,如果添加任何在其树中包含大量文件的文件夹,也会出现同样的问题。在我的台式计算机上添加我的
Programming
文件夹会导致严重的索引问题,因为该文件夹是包含 75,000 个文件的树的头部。添加网络文件夹,即不在本地文件系统上但存在于局域网或广域网上的文件夹。通过网络建立索引和监控 files/folders 将比在本地 SSD 或 HDD 上慢得多。在某些开发环境中,很容易无意中这样做,例如一个文件夹被添加到一个项目中,后来一个网络驱动器被安装在它的一个子文件夹中。
Sublime Text 中的项目文件夹旨在成为特定开发项目所需的文件夹。它们不打算用于索引 1000 个文件。在我的编程项目中,最大的有 3 个项目文件夹,其中包含几十个子文件夹,也许(最多)100 个文件。
有些版本的 Sublime Text 引入了索引问题。这不太可能是您遇到问题的原因,因为您的问题是最近才开始出现的,而且 Sublime Text 3 已经一年多没有发布新版本了。
您也许可以通过查看其状态而不是查看您发布的控制台中的作业来诊断您的索引编制花费这么长时间的原因。关键的区别在于索引状态指定了文件夹名称,如下所示,因此您可以看出问题所在。例如
...snip...
index "ProjectFolderName" collated in 0.00s from 19 files
index "ProjectFolderName" is using 12304 bytes for 222 symbols across 323 locations
indexing [job 396]: spawning 1 workers to process 1 / 1 files
indexing [job 396]: indexed 1 files
...snip...
您可以使用 Help --> Indexing Status...
或在命令面板中选择 Indexing Status
从 Sublime Text 菜单打开索引状态 window。