【问题标题】:SublimeText: autoindent on save?SublimeText:保存时自动缩进?
【发布时间】:2014-06-26 07:11:09
【问题描述】:

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

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

感谢您的帮助:)

【问题讨论】:

    标签: sublimetext auto-indent autoformatting


    【解决方案1】:

    有一个可以格式化 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"}
    }
    

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

    【讨论】:

      【解决方案2】:

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

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

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

      如果有些人在使用 ST 编写代码时有其他技巧来改进自动格式化,我会感谢他们的贡献;)

      【讨论】:

        【解决方案3】:

        有一个“reindent on save”包:

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

        【讨论】:

        猜你喜欢
        • 2019-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多