先说说我自己啊,一直都是用 jb 家的 rubymine,对前端支持比较好,css 属性自动提示,erb 里面也能自动提示各个 action 的 path 和 url,在 routes.rb 里面按住 ctrl 点击会自动跳转到相关的 action,总之挺方便的,当然也有很多问题,比如我现在转了 rubymine 最新版本,不知道为什么在 routes.rb 里面按住 ctrl 点击不会自动跳转了
textmate 也装了,感觉 textmate 的 ui 是最漂亮的,只是我的系统太老了,还是 10.9.5,2014 款的机器,也不想升新版本了
vim 用的也很熟,毕竟 linux 也用了十几年了,修改配置文件都用它,但是写 rails 真的没尝试过
用编辑器的话,不知道各位是怎么记住成百上千的属性、方法这些命名的。
抛砖引玉,请各路高手分享一下各种神器的心得。也互相开开眼界。
vim https://github.com/amix/vimrc
drwxr-xr-x 13 x staff 416B Jan 20 10:21 coc-solargraph
drwxr-xr-x 15 x staff 480B Jan 6 12:22 coc.nvim
drwxr-xr-x 19 x staff 608B Nov 28 13:59 emmet-vim
drwxr-xr-x 15 x staff 480B Nov 28 19:05 markdown-preview.nvim
drwxr-xr-x 9 x staff 288B Jan 14 10:29 vim-better-whitespace
drwxr-xr-x 10 x staff 320B Nov 28 14:01 vim-bundler
drwxr-xr-x 30 x staff 960B Nov 28 17:00 vim-go
drwxr-xr-x 15 x staff 480B Nov 28 14:43 vim-gutentags
drwxr-xr-x 16 x staff 512B Nov 28 18:55 vim-markdown
drwxr-xr-x 14 x staff 448B Nov 28 13:58 vim-rails
drwxr-xr-x 21 x staff 672B Nov 28 13:58 vim-ruby
drwxr-xr-x 14 x staff 448B Dec 21 21:43 wxapp.vim
不会刻意记 属性、方法这些命名,忘记就翻文档
vim,主要插件如下
Plug 'ervandew/supertab'
Plug 'tpope/vim-commentary'
Plug 'jremmen/vim-ripgrep'
Plug 'junegunn/fzf.vim'
Plug 'vim-syntastic/syntastic'
Plug 'Shougo/deoplete.nvim'
最开始用 vim,后用 rubymine(方便跳转),后回归到 neovim(解决了代码跳转的痛点,另外原生 vim 剪贴板不好用,还有各种乱七八糟原因,选择了 neovim 代替 vim)
现在用的 neovim,代码跳转使用 ctag(方法,类跳转,甚至一些 rails 的东西也能跳转,比如 has_many,scope :xxx, -> {}),深入使用还发现支持跳转到 gem 内部,基本解决了跳转的问题,不过类型推断还是有点弱。另外一些插件比如 rails.vim 实现 controller 到 view 的互相跳转,加上 key mapping 挺香的。
至于 ctrlp,nerdtree 什么也不说了,熟悉 vim 的应该都知道,下面贴个图,当我在 find_by! 方法上按下 ctrl + ],ctag 自动替我找到 gem 内部的 find_by! 方法
代码补全用 YCM(现在被 TabNine 代替),如下是补全效果
vim,不过说实话,楼主和楼上很多提到的 ide 功能我都没有,配置一下插件可能都可以实现吧,不过个人不太想配置,不太依赖这些功能。有配置的功能只有:rubocop 格式化和检查代码,代码着色 syntastic,自动补全 neocomplete
记忆力差,主要还是靠 search ,emacs 配合各种插件,比如 ag the silver search,可以在指定目录下快速查找字符串并转跳,搜索速度不错,还有就是 projectile 管理项目,支持不同项目转跳,文件搜索转跳
Doom Emacs https://github.com/hlissner/doom-emacs
阅读源码需要来回跳转的时候会用 RubyMine