sublime,jsx里的html标签自动缩进对齐的插件或者配置?

jsx里的html标签自动缩进对齐的插件或者配置?

现在用的插件是 Sublime-HTMLPrettify, 除了jsx代码其他都能格式化。

图片描述

想问问是缺少什么配置?或者需要其他插件辅助?

本地的.editorconfig

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 80
trim_trailing_whitespace = true
阅读 3.5k
1 个回答

解决方案:换了格式化插件 JsPrettier

首先你本地要有node环境支持

1. 先在sublime安装插件 JsPrettier

Tools -> Command Palette... -> Package Control: Install Package搜索JsPrettier然后安装

2. 安装本地Prettier

这个不安装还不能用,捣腾半天才弄好的。

# 我先是用的这个安装
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的路径

现在可以直接使用了,如果不是自动保存的话可是事实快捷键

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题