当我在大文件中有很多选择时,Sublime text 2 不时卡住。过了一会儿,它继续。我在windows 2008上。
例如,当我多次按 ctrl-d 甚至按住它以添加许多选择时,就会发生这种情况。它添加选择,然后停止,一段时间后继续添加选择。
我怀疑这是由于垃圾收集。
有没有办法避免这种情况或缩短卡住期?也许给它更多的内存,或者更少的内存,这样 gc 更频繁但更短。
或者这可能是某种交换、丢失或错误的临时文件配置。
是什么原因,有没有好的解决办法?
最佳答案
Sublime Text 3 也可能会卡住。插件可能会导致这种情况。
第一件事
...您可能想做的是运行命令 CTRL + SHIFT + P
-> Plugin Development: Profile Events
.您将获得不同插件正在监听的事件列表以及它们处理事件所花费的时间。
特别关注 on_modified 事件。引自 sublime docs :
Expensive operations in event listeners can cause Sublime Text to become unresponsive, especially in events triggered frequently, like
on_modified()
andon_selection_modified()
. Be careful of how much work is done in these and don’t implement events you don’t need, even if they justpass
.
这是我的情况:一个插件精心处理每个 on_modified 事件,导致线程队列溢出并卡住 ST。
还
...不要忘记 Sublime Text 有一个控制台,有时您可以在其中找到有用的消息和回溯。要显示控制台,请使用键绑定(bind) CTRL+` .盯着控制台工作一段时间可能会帮助您了解是否出现问题。
关于garbage-collection - 如何避免 sublime text 2 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20888835/