【发布时间】:2014-06-26 07:11:09
【问题描述】:
我想知道是否有任何方法可以在 ST3 中为指定事件自动格式化代码(此处保存)。例如,我希望 Sublime 在每次保存我的代码(以及任何语言)时格式化我的代码。
有插件吗?或者我可以在配置中创建一个快捷方式来触发这个过程吗?
感谢您的帮助:)
【问题讨论】:
标签: sublimetext auto-indent autoformatting
我想知道是否有任何方法可以在 ST3 中为指定事件自动格式化代码(此处保存)。例如,我希望 Sublime 在每次保存我的代码(以及任何语言)时格式化我的代码。
有插件吗?或者我可以在配置中创建一个快捷方式来触发这个过程吗?
感谢您的帮助:)
【问题讨论】:
标签: sublimetext auto-indent autoformatting
有一个可以格式化 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-sn-p”(通过选择 Preferences -> Browse Packages in Sublime Text 轻松打开这个目录)。
然后您可以通过转到 Preference -> Key Bindings - User 并添加以下内容来重新绑定 ctrl+s 以使用此 sn-p:
{
"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”包:
【讨论】: