visual-studio-code - 通过庞大的代码库执行良好的文本搜索的编辑器
问题描述
我在 Windows 上有一个巨大的文本代码库,我面临着在整个项目中搜索任意单词的问题。
看起来,没有任何 IDE 在这样做时会获得良好的性能。我正在寻找的是一个免费的编辑器:
- 在可接受的时间内(对于 10M 行代码最好少于 10 秒)在文件夹和子文件夹中搜索全文。
- 几乎可以肯定,前面的功能需要使用索引。所以我希望这样的索引能够自动与文件更改同步。或者至少可以选择按需增量重建(不是完全重建)
- 在上下文中显示搜索结果(周围有环绕代码的片段,就像 Sublime 所做的那样)。
- 理想情况下,能够搜索正则表达式模式
- ...甚至,通过多行字符串搜索正则表达式。
我不需要它具有代码意识,但如果它能够理解 PL/SQL,它将是我梦寐以求的编辑器。
到目前为止,我的第一选择是 Sublime,它是一个响应迅速的编辑器。
Sublime 3 附带了一个内部索引,但不幸的是,对我来说,索引只是符号,而不是全文。内置的蛮力搜索无法使用该索引,大约需要 40 分钟才能返回结果。
我尝试了几个插入外部索引工具(CodeSearch、Platinum Searcher、Whoosh)的Sublime 扩展。但是所有都未能提供自动或增量索引重建,或者当他们提供这些功能时,索引本身占用了太多内存,以至于整个应用程序永远无法响应,或者插件主机崩溃了。
我也尝试过使用Atom和Visual Studio Code的类似方法,但我相信编辑器和他们的插件并不是为我手头的如此庞大的代码库编写的。
唯一表现良好的编辑器是带有InstaSearch插件的 Eclipse。但是,我在搜索中获得的速度在普通使用中会丢失:打开文件,滚动浏览其内容等(更不用说插件使用 Lucene 的语法,而不是正则表达式)。(感觉如果一个人不使用 Java 相关技术,使用 Eclipse 并没有真正的好处,这确实抵消了使用它的繁重操作)
解决方案
推荐阅读
- ios - 此 iPhone 运行 iOS 12.0 (16A366),此版本的 Xcode 可能不支持
- android - 在调试模式下更新 Firebase Analytics 中的 UserProperties
- amazon-web-services - 通过 AWS 请求 ID 获取请求参数
- django-viewflow - 跳转到上一个任务导致任务没有 flow_task 和进程
- java - 如何使用 java 运行 ngrok
- android - 如何在颤动中设置 FloatingActionButton 的背景透明?
- javascript - 将 highchart 导出为图像阿拉伯文文本
- javascript - 使用 MutationObserver 监听变化?
- python - 从 URL 获取音频并播放
- python - PDFMiner 不解析超过 1 页