我想知道在ST3中是否有任何方法可以为指定的事件(在此处保存)自动形成代码。例如,我希望Sublime在每次保存代码时(以及任何语言)格式化我的代码。
有插件吗?或者我可以在配置中创建一个快捷方式来触发此过程吗?
我将非常感谢你的帮助:)。
答案 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”包: