我想知道是否有任何方法可以在 ST3 中为指定事件自动格式化代码(此处保存)。例如,我希望 Sublime 在每次保存我的代码(以及任何语言)时格式化我的代码。
有插件吗?或者我可以在配置中创建一个快捷方式来触发这个过程吗?
我会感谢你的帮助:)
我想知道是否有任何方法可以在 ST3 中为指定事件自动格式化代码(此处保存)。例如,我希望 Sublime 在每次保存我的代码(以及任何语言)时格式化我的代码。
有插件吗?或者我可以在配置中创建一个快捷方式来触发这个过程吗?
我会感谢你的帮助:)
有一个插件可以格式化 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”(通过选择 Preferences -> Browse Packages in Sublime Text 轻松打开此目录)。
然后,您可以通过转到 Preference -> Key Bindings - User 并添加以下内容来重新绑定 ctrl+s 以使用此代码段:
{
"keys": ["ctrl+s"],
"command": "run_macro_file",
"args":{"file": "Packages/User/indent_on_save.sublime-macro"}
}
包管理器中可能还有其他插件可以格式化其他语言。
感谢您对 jsnprtr 的帮助,但我找到了另一个解决方案。不幸的是,使用 ST3,我无法在宏中运行保存命令。我试图设计一个小插件,但没有成功。
我发现这个插件允许在自定义快捷方式上运行多个命令:https ://github.com/jisaacks/ChainOfCommand
有了它,我现在可以在保存时格式化我的代码:我只需运行缩进并保存命令 :)
如果有些人在使用 ST 编写代码时有其他技巧来改进自动格式化,我会感谢他们的贡献;)
有一个“reindent on save”包: