sublimetext3 - 我可以延迟 Pylint 在 Sublime Text 3 中保存时运行它吗?
问题描述
我将 Pylint 与Sublime Text 3 on Windows 8.1
. 它配置为在保存时运行Ctrl+S
:
// Set to true to automatically run Pylint on save
"run_on_save": true,
我喜欢这个。当我点击“构建”命令的快捷方式时出现问题 -Ctrl+B
或者F7
没有保存文件:Python 脚本和 Pylint 同时启动并且脚本输出(我在下面的“构建结果”窗格中看到)经常被破坏(大部分打印输出消失),或者导致 Pylint 错误消息框或我的 Sublime Text 崩溃。
但是当我第一次保存文件Ctrl+S
然后运行它时没有任何问题。
问题是我可以将 Pylint 配置为延迟启动(比如 1 秒),Ctrl+S
这样它不会影响脚本运行吗?
PS 对 Sublime-linter 设置的 Pylint 设置的简短搜索没有产生有用的结果。我检查的资源:Running Pylint 、 Pylint FAQ、Sublime Linter Settings。我没有发现任何关于修改pylintrc
文件的有趣内容(pylintrc 示例)。
有任何想法吗?提前致谢。
解决方案
您可以编写一个继承ViewEventListener
该类的插件并实现on_post_save_async()
回调方法以休眠一秒钟(真的足够了吗,它总是足够了吗!?)然后用于self.view.run_command()
启动Pylint。run_on_save
如果这样做,请确保为假。这是API 的相关部分。
但这样做不是一个好主意——你要求输出面板、错误消息和 Sublime 崩溃的进一步问题。
我建议您完全控制手动启动 linter。将Pylint run_on_save
设置为false
。分配方便的键以在需要时启动 linter,并摆脱每次保存文件时自动运行它的习惯。Linter 就像拼写检查器,不时运行它们并一次性完成所有必要的更改要高效得多,而不是让 linter 一遍又一遍地运行,反复验证相同的代码,只是为了检查最多最近几行。
如果您尝试编写越来越多的代码而不进行构建或 linting,那么您的编码的准确性和速度将会及时提高。
推荐阅读
- html - 如何在列中垂直居中内容?
- coreml - CoreML:无法执行矩阵乘法
- excel - 统计所有在“特定月份”注册但在“其他月份”转换的人
- tfs - 将测试用例导出到电子邮件看到错误“:”字符,十六进制值 0x3A,不能包含在名称中
- microsoft-graph-api - Microsoft graph API - 订阅任何日历时出现未经授权的错误
- intellij-idea - 如何在 intellij 文件观察器中调试 sass。找不到输出窗口
- sql - 删除保留最新记录的重复记录
- android - 如何为 Android 启用内部应用程序共享?
- excel - Excel 文本仅识别月份
- ruby-on-rails - 以活动记录/ arel DB 不可知的方式编写以下 sql