因为一直用的 rubymine,用 rubymine 主要是强大的代码补全,有比较快的工作效率。
后来被同事安利了 vscode,这个东西也不错。
但是 rails 的自动完成其实很一般。
但是 pry 这个 gem 的 [tab] 键之后,有很多 rails 的动态方法:
如输入 User.find_ 之后,按下 [tab] 就能出现 rails 的动态方法。
后来发现 pry 传入字符串,就可以得到返回的代码补全:
require 'readline'
require 'pry/input_completer'
result = Pry::InputCompleter.new(Readline).call 'User.find_'
所以,我 fork 了 pry 这个 gem 包。
加入了一段代码: https://github.com/molisoft/prycode/commit/2babee8ce55eca03f2af30daadd461522e20597d 也就是 http 功能。
启动它:
这样的话,就可以直接这样操作:
发起 http 请求“Array.d”就可以得到
{"result":["up","isplay","efine_singleton_method","ebugger"]}
其中的 up 就是 Array.dup , isplay 就是 Array.display ..
所以,就可以给 vscode 写一个插件,来实现代码补全啦?或者 vim、emacs 等等编辑器
于是没时间写。。
而且 prycode 这个项目也不应该是这样写的。
主要是 demo 目的。
谁有时间,可以基于这个思路,实现一个通用的代码补全 呀。。。