【问题标题】:Notepad++ SourceCookifier plugin very slow on large C++ headersNotepad++ SourceCookifier 插件在大型 C++ 头文件上非常慢
【发布时间】:2012-05-11 10:34:30
【问题描述】:

我喜欢在 Notepad++ 中浏览我的 C++ 项目。我使用 SourceCookifier 插件以便在大文件的定义之间轻松跳转。但是,如果我加载一个大型 C++ 头文件(大约 30.000 行),其中有很多 #definetypedef 声明,它似乎会挂起并且需要很长时间才能加载。

有谁知道是否可以设置任何选项以使其更快,或者这个插件通常不会加载这么多定义?

【问题讨论】:

  • 一般来说解析 C++ 比较慢。大多数 IDE 为每个文件或每个项目构建一个数据库,用于缓存已解析的文件,以便后续和增量更改更快。所以除非你能打开类似的东西,否则我怀疑你能做的事情很多。

标签: c++ notepad++


【解决方案1】:

您可以通过将项目文件夹放入 SourceCookifier 面板来加速一切,同时(这是重要但记录不充分的部分)按下修饰键(shift、ctrl 或 alt)

.. 用于导入 INCLUDE 文件。但你必须另外要么 在将文件或文件夹拖放到 树视图。

甚至更聪明...单独添加您描述的大型定义/类型定义源。这将导致性能提升,因为他们的符号将不再列在树视图中,但 SourceCookifier 仍会在您在某处的其中一个符号上点击“转到定义”时将您导航到那里其他在项目中。

我有时也会将包含数千个定义的头文件添加到 SourceCookifier 会话中。不按 ctrl-key 每个文件最多需要 5 分钟,但按 ctrl-key 只需要 1 秒!

编辑/

添加源文件按 ctrl 键:

  • “转到定义”功能?是的。
  • 符号在树视图中显示为源文件节点的子节点?是的。
  • ==> 推荐用于 laaaarge 源文件。

添加源文件按 ctrl 键:

  • “转到定义”功能?是的。
  • 符号在树视图中显示为源文件节点的子节点? 没有。
  • ==> 推荐用于 laaaarge 源文件。

【讨论】:

  • 如果我使用 CTRL 或 SHIFT,我会在 INCLUDES 文件夹下的右侧看到 .hpp 文件,但没有任何符号。所以为了看到它下面的符号,我必须以正常的方式很重要,对吧?
  • 所以基本上,如果我想查看我的符号,我需要将源文件添加到树视图中。它们将被索引并显示在窗格中,但头文件符号将仅保存在内存中而不显示在窗格中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
相关资源
最近更新 更多