
最近 Huazie 一直在用 Sublime Text 3 开发 Hexo Diversity 主题开源项目,当找到一些解决方案的代码并拷贝过来时,总会遇到缩进和换行问题,此时复制的代码就显得杂乱无章的。开始笔者一般选择在线代码格式化工具处理过再复制过来,慢慢用的多了,就想要能够在 Sublime Text 3 中直接可以格式化,以此来提升效率。
讲到这,就引申出来本篇要介绍的内容了。
Sublime Text 3 自带了一些基本的格式化功能,适用于 HTML、CSS 和 JavaScript 等语言,我们可以通过如下操作来使用这些功能:
Edit -> Line -> Reindent。下面让我们来格式化一下 JavaScript 代码,如下动图:

Sublime Text 3 有丰富的插件生态,下面 Huazie 介绍一些常用的格式化插件供大家使用。
SublimeJsPrettier 是一个为 Sublime Text 开发的插件,它集成了 Prettier 的代码格式化功能。
Prettier 是一个流行的代码格式化工具,支持多种编程语言,包括但不限于
JavaScript、JSX、TypeScript、CSS、SCSS、HTML等。
在使用 SublimeJsPrettier 之前需要全局安装 Prettier,可以通过 npm 进行安装,如下所示:
npm install -g prettier当然这里执行
npm命令之前,我们需要首先安装Node.js,并配置相关环境变量,这里可以参考笔者的《【实操】基于 GitHub Pages + Hexo 搭建个人博客》 中的第二章节。

这个如果已经安装过的朋友可以直接跳过。关于 Package Control 的安装可以参考《Sublime Text 3 中安装Package Control并配置》

Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)打开命令面板;



有如下三种使用 SublimeJsPrettier 格式化代码的方法:
Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac),然后输入 JsPrettier Format Code;
JsPrettier Format Code;
js_prettier 添加一个条目。例如【这里可以将 ctrl+alt+l 替换为大家喜欢的键盘组合】:{ "keys": ["ctrl+alt+l"], "command": "js_prettier" }
Beautify 是 Sublime Text 中用于代码美化的工具,可以帮助开发者自动整理和美化代码。它能够根据代码的语法规则自动调整缩进、排序标签、整理注释,并去除不必要的空格和空白。支持众多的语言,如HTML、CSS、JavaScript、PHP、SQL等。
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板;
Package Control: Install Package并回车,进入插件搜索和安装界面;
Beautify,选择需要的插件并安装,如Javascript Beautify、 HTMLBeautiry等。
Huazie 选择安装了 Javascript Beautify,那这里可以:
Javascript Beautify;
或者直接选中要格式化的代码,然后右键点击,然后选择 Javascript Beautify ;
Ctrl+Alt+F】,这里如果与其他应用有冲突,需要先关掉对应的应用再试试。clang-format --version,以验证 clang-format 是否正确安装。
Tools -> Build System -> New Build System,打开如下页面:
{
"cmd": ["clang-format", "-i", "$file"],
"selector": "source.c, source.cpp, source.objc, source.objcpp"
}ClangFormat.sublime-buildTools -> Build System -> ClangFormat;Ctrl + B,稍等一会,即可看到格式化后的效果。
pip 命令,安装 black,如下:
# Windows
where black
black --version
Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)打开命令面板;
Black:Format通过内置的格式化功能、第三方插件或集成外部代码格式化工具,Sublime Text 3 提供了多种方式来满足开发者的代码格式化需求。我们选择哪种方法取决于具体的编程语言、个人偏好以及项目的需求。
如果你还有更好的方法,不妨在评论区和大家分享一下吧!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。