web-mode 有没有格式化代码的函数


#1

比如一行引入太长时,

import { RankList, HeadBarWithCity, TrendAnalysis, DetailedTrendChart } from '../../components';

一键格式化成下面的形式:

import {
  RankList,
  HeadBarWithCity,
  TrendAnalysis,
  DetailedTrendChart,
} from '../../components';

#2

刚才 Vim 里试了一下, JsBeautify 就可以实现你要的结果。

这个插件在各大编辑器里广泛存在,emacs 里应该也有。


#3

M+x mark-whole-buffer
C+M+\ 这样行么?


#4
M+x mark-whole-buffer
C+M+\ 这样行么?

这样不行,我的这个组合键是绑定的到调整缩进上的。


#5

spacemacs 用 = 号 调用 js-beautify


#6

之前试过,感觉调用外部js-beautify好卡,还不如手敲

(ps, web-mode有一键缩进排版 C-c <tab>)


#7

@Qquanwei 多少行的代码能让你感觉好卡?

这个恐怕只能归责于你的配置问题或者 emacs 自身。


#8

编辑代码与配置无关吧,用的web-beautify,它是启用的外部进程js-beautify, 你可以试试。


#9

有没有试过 https://github.com/prettier/prettier-emacs


#10

抽时间试一下大家提的方法,并做个反馈


#11

js2-mode里,js2-refactor-mode的expand-object可以。这里也讨论过,没好的办法:

还是谁有语法树谁牛X。


#12

兄弟,你是用的prettier吗?可以使用自己定义的eslint规则来格式化代码吗?我再IDE上实现了,想在emacs上也是实现这个功能,求指点


#13

可以参考下我的 spacemacs 配置,prettier + standardjs/eslint: