sublime react jsx 格式化 插件 配置

 插件名是:

SUBLIME JSFMT .

github地址是:

https://github.com/royriojas/esformatter-jsx/wiki/Usage-with-jsfmt

设置Setting user:

// add to your 
{
  "autoformat": true,
  "extensions": [
    "js",
    "jsx",
    "sublime-settings"
  ],
  "options": {
    "plugins": [
      "esformatter-jsx",
    ],
    "jsx": {
      "formatJSX": true,
      // change these to your preferred values
      // refer to https://github.com/royriojas/esformatter-jsx#best-configuration for more options
      "attrsOnSameLineAsTag": false,
      "maxAttrsOnTag": 1,
      "firstAttributeOnSameLine": false,
      "alignWithFirstAttribute": true,
      "formatJSXExpressions": true
    }
  // other esformatter options
  }
}

默认设置是组件的属性如果换行,则会缩进至组件长度后,不是很美观,如下:

修改 ~\AppData\Roaming\Sublime Text 3\Packages\jsfmt\node_modules\esformatter-jsx\lib\format-jsx.js

将原代码

var alignWith = me.jsxOptions.alignWithFirstAttribute ? first.loc.start.column : node.loc.start.column + indentSize;

修改为

var attrLen = first.parent.name.name.length;
var alignWith = me.jsxOptions.alignWithFirstAttribute ? (first.loc.start.column - attrLen) : node.loc.start.column - attrLen + indentSize;

如图

 

posted @ 2017-09-14 14:11  龙鸿轩  阅读(985)  评论(0编辑  收藏  举报