解决方案:换了格式化插件 JsPrettier
首先你本地要有node环境支持
1. 先在sublime安装插件 JsPrettier
Tools -> Command Palette... -> Package Control: Install Package搜索JsPrettier然后安装
这个不安装还不能用,捣腾半天才弄好的。
# 我先是用的这个安装
yarn global add prettier
OR
npm install -g prettier
3. 找到bin-prettier.js的完整路径
如果用的是yarn安装路径是
C:/Users/{用户名}/AppData/Local/Yarn/Data/global/node_modules/prettier/bin-prettier.js
如果用的npm安装则目录是
C:/Users/{用户名}/AppData/Roaming/npm/node_modules/prettier/bin-prettier.js
4. 修改JsPrettier配置
sublime 执行 Preferences->Package Settings->JsPrettier->Settings - User
然后把下面的代码复制进去,然后根据自己的情况自行修改了
{
"prettier_cli_path": "C:/Users/{用户名}/AppData/Roaming/npm/node_modules/prettier/bin-prettier.js",
"node_path": "C:/Program Files/nodejs/node.exe",
"auto_format_on_save": true, //是否保存的时候执行格式化
// "auto_format_on_save_excludes": ["*.js", "*.json"], //不包括
"prettier_options": {
"printWidth": 80, // 换行字符串阈值
"semi": false, // 句末加分号
"singleQuote": true, // 用单引号
"trailingComma": "none", // 最后一个对象元素加逗号
"bracketSpacing": true, // 对象,数组加空格
"jsxBracketSameLine": false, // jsx > 是否另起一行
"arrowParens": "avoid", // (x) => {} 是否要有小括号
"requirePragma": false, // 是否要注释来决定是否格式化代码
"proseWrap": "preserve", // 是否要换行
}
}
prettier_cli_path 是第三步bin-prettier.js的完整路径
node_path 是本地node的路径
现在可以直接使用了,如果不是自动保存的话可是事实快捷键