How to use prettier after save in RubyMine

680 words, 2 mins

如何安装prettier,保存时自动执行,像 gofmt一样的工具

安装 prettier

npm install -g prettier 
npm install -g @prettier/plugin-ruby

命令行测试

✗ prettier --write app/models/balance_statistic.rb
app/models/balance_statistic.rb 66ms

集成进 RubyMine

Preferences -> Tools -> External Tools

添加:

  • Name: prettier
  • Description: prettier
  • Program: /usr/local/bin/prettier
  • Arguments: –write $FilePathRelativeToProjectRoot$
  • Working directory: $ProjectFileDir$

其他不用改

image-20200607183232508

绑定到keyboard shortcut: ctrl+s,或者直接覆盖command+s,这样所有的 save 操作都换成了prettier,也就实现了保存自动格式化。

image-20200607183559196

测试

随便打开一个 ruby 文件,任意输入一些格式不规范的语句,然后 save,或者ctrl+s

image-20200607183730602

可以看到prettier 的输出。

目前我暂时还是把prettiersave分开的,一个是ctrl+s,一个是command+s,感觉没必要每次都执行一下 prettier,以免被干扰,其实个人认为git commit 的时候再自动执行prettier,因为现在的 IDE 和个人习惯一般都不会写出太丑的代码,除非遇到一些长语句用一下,正常情况也不需要。