我可以将 Pylint 延迟一秒 运行 它保存在 Sublime Text 3 中吗?

Can I delay Pylint on a second running it on save in Sublime Text 3?

我在 Sublime Text 3 on Windows 8.1 中使用 Pylint。它配置为 运行 保存 Ctrl+S:

// Set to true to automatically run Pylint on save
"run_on_save": true,

我喜欢这个。 当我在没有保存文件的情况下点击 'Build' 命令的快捷方式 - Ctrl+BF7 时出现问题:Python 脚本和 Pylint 同时启动并且脚本输出(我在下面的 'Build result' 窗格中看到)经常损坏(大部分打印输出消失),或者导致 Pylint 错误消息框或我的 Sublime Text 崩溃。

但是当我第一次使用 Ctrl+S 保存文件然后 运行 保存文件时没有任何问题。

问题是 我可以将 Pylint 配置为在 Ctrl+S 之后延迟启动(比如 1 秒),这样它就不会影响脚本 运行 吗?

P.S。对 Sublime-linter 设置的 Pylint 设置的简短搜索没有产生有用的结果。 我查看的资源:Running Pylint, Pylint FAQ, Sublime Linter Settings. I did not find anything interesting about modifying pylintrc file (pylintrc example).

有什么想法吗?提前致谢。

你可以写一个继承ViewEventListener class的插件,实现on_post_save_async()回调方法休眠一秒(真的够吗,永远够吗! ?) 然后使用 self.view.run_command() 启动 Pylint。如果这样做,请确保 run_on_save 为假。这是 relevant bit of the API.

但是这样做不是一个好主意——你是在询问输出面板、错误消息和崇高崩溃。

我建议您完全控制手动启动 linter。将 Pylint run_on_save 设置设置为 false。分配方便的键以在需要时启动 linter,改掉每次保存文件时自动 运行 启动它的习惯。 Linters 就像拼写检查器,不时 运行 它们并一次完成所有必要的更改比让 linter 运行 一遍又一遍地重复验证更有效相同的代码,只是为了检查最近的几行。

如果您尝试在不构建或 linting 的情况下编写越来越多的代码,那么您编码的准确性和速度会及时提高。