分享一个代码格式化工具 esformatter 以及一个小插件

2016-05-20 21:55:07 +08:00
 magicdawn

原帖发在 CNodejs.org https://cnodejs.org/topic/573f17b3fcf698421d20371c


esformatter 使用了 babylon 作为 parser, 支持 async function / es6 module import 等等啊, 比较好使 这里写了一个小插件 esformatter-curly https://github.com/magicdawn/esformatter-curly 例如下面的代码

import multiline

import {
  x as X,
  y as Y
} from 'utils'

会被格式化成一行(默认)

import { x as X, y as Y } from 'utils'

使用这个 esformatter-curly 可以避免这个现象, 如果原来是多行的, 使用这个插件之后, 给你保留多行

inline object

像下面这个对象字面两, 会被格式化成多行(默认)

var o = { x: 'hello', y: 'world' }

格式化成

var o = {
  x: 'hello',
  y: 'world'
}

有了这个插件之后可以避免这种状况, 如果你原来是单行的, 使用这个插件, 检测到是单行的, 就给你保留

插件地址 https://github.com/magicdawn/esformatter-curly 求 star, 另这个 esformatter 真的比较强大, 自己写插件可以 limit linebreak indent whitespace 等等... 写点自定义的插件比较好玩...

3413 次点击
所在节点    Node.js
2 条回复
BOYPT
2016-05-20 22:45:47 +08:00
atom 里面早就用上了
magicdawn
2016-05-20 22:52:40 +08:00
@BOYPT 后续我会分享一下他的文档, 以及 plugin 的写法~如果有现有翻译的, 请告诉我一声, 免得重复劳动

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/280135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX