SublimeText:自动保存?

时间:2014-05-08 18:11:34

标签: sublimetext auto-indent autoformatting

我想知道在ST3中是否有任何方法可以为指定的事件(在此处保存)自动形成代码。例如,我希望Sublime在每次保存代码时(以及任何语言)格式化我的代码。

有插件吗?或者我可以在配置中创建一个快捷方式来触发此过程吗?

我将非常感谢你的帮助:)。

3 个答案:

答案 0 :(得分:2)

有一个插件可以格式化PHP,JS,HTML,CSS和Python,它们可以通过包管理器获得:https://sublime.wbond.net/packages/CodeFormatter

如果要在每次保存时格式化代码,可以创建一个宏,然后将该宏绑定到ctrl + s。类似下面的事情应该做:

[
    {
        "command": "code_formatter",
        "args": null
    },
    {
        "command": "save",
        "args": null
    }
]

将此项保存为Packages / User /目录中的“indent_on_save.sublime-snippet”(通过选择“首选项” - >“浏览Sublime文本中的包裹”轻松打开此目录。)

然后,您可以通过转到Preference - >重新绑定ctrl + s以使用此代码段。密钥绑定 - 用户并添加以下内容:

{
    "keys": ["ctrl+s"],
    "command": "run_macro_file",
    "args":{"file": "Packages/User/indent_on_save.sublime-macro"}
}

包管理器中可能还有其他插件可以格式化其他语言。

答案 1 :(得分:0)

感谢您的帮助jsnprtr,但我找到了另一个解决方案。 不幸的是,使用ST3,我无法在宏中运行save命令。我试图设计一个小插件,但我没有成功。

我发现这个插件允许在自定义快捷方式上运行多个命令:https://github.com/jisaacks/ChainOfCommand

有了它,我现在可以在保存时格式化我的代码:我只是运行缩进并保存命令:)

如果有人在使用ST编写代码时有其他技巧可以改善自动编码,我会很感激他们的贡献;)

答案 2 :(得分:0)

有一个“reindent on save”包:

https://packagecontrol.io/packages/Reindent%20on%20save