【问题标题】:Can I delay Pylint on a second running it on save in Sublime Text 3?我可以在 Sublime Text 3 中保存时延迟 Pylint 的第二次运行吗?
【发布时间】:2020-11-22 22:38:40
【问题描述】:

我将 Pylint 与 Sublime Text 3 on Windows 8.1 一起使用。它被配置为使用Ctrl+S 保存时运行:

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

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

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

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

附:对 Sublime-linter 设置的 Pylint 设置的简短搜索没有产生有用的结果。 我检查的资源:@​​987654321@、Pylint FAQSublime Linter Settings。我没有发现任何关于修改 pylintrc 文件 (pylintrc example) 的有趣之处。

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

【问题讨论】:

    标签: sublimetext3 sublimetext pylint sublime-text-plugin


    【解决方案1】:

    你可以写一个继承ViewEventListener类的插件并实现on_post_save_async()回调方法来休眠一秒钟(真的够了吗,总是够了吗!?)然后使用self.view.run_command()启动皮林特。如果这样做,请确保 run_on_save 为 false。这是relevant bit of the API

    但是这样做不是一个好主意 - 你要求输出面板、错误消息和 Sublime 崩溃的进一步问题。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2014-03-14
      • 2020-01-01
      相关资源
      最近更新 更多