加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 什么是使ruby / rails能够识别Vim的omnicomple

发布时间:2020-12-17 02:02:53 所属栏目:百科 来源:网络整理
导读:Vim的自动完成似乎只是把厨房水槽扔给我,希望其中一个词是我需要的东西.如果我知道成员方法的前几个字符,我很好,但有时我不记得成员方法是’obj.visible’还是’obj.is_visible’,在这种情况下我得到50-1000个选项趟过. 考虑以下代码: class MyClass def so
Vim的自动完成似乎只是把厨房水槽扔给我,希望其中一个词是我需要的东西.如果我知道成员方法的前几个字符,我很好,但有时我不记得成员方法是’obj.visible’还是’obj.is_visible’,在这种情况下我得到50-1000个选项趟过.

考虑以下代码:

class MyClass
    def some_method
    end

    def another_method
    end
  end

  def a_global_method(stuff)
    return stuff + " more stuff"
  end

现在,如果我输入

obj = MyClass.<c-x><c-o>

我得到50个选项,以’<'开头. 'new'在这里是一个很好的默认值.即使我键入n,但是cx / co new不是第一个选项. 它变得更糟:

obj = MyClass.new
obj.<c-x><c-o>

这又给了我50个选项,也许它们都是合法的,但为什么不默认为’some_method’和’another_method’?

但等等,所有选项都不合法:

obj = MyClass.new
obj.a<c-x><c-o>

这只给了我2个选项,但其中一个是’a_global_method’.显然,它完全没有意识到类或模块是什么,至少在我当前的设置下.如果我必须输入一半成员名称,我也可以使用.

说到这,我目前的设置摘要如下:
rails.vim
使用以下设置:

"omnifunc=rubycomplete#Complete is set by rails.vim
autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1
autocmd FileType ruby,eruby let g:rubycomplete_rails = 1
autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1
autocmd FileType ruby,eruby let g:rubycomplete_include_object = 1
autocmd FileType ruby,eruby let g:rubycomplete_include_objectspace = 1

12年来,我一直是一个忠诚的vim用户,但完成工作从来没有真正对我有用.我在工作中使用Visual Studio,并经常使用intellisense作为拐杖.因为我不经常在轨道上编码以记住每一种方法,所以一点点的智能爱会有很长的路要走.

是否有任何类型的插件运行良好?我只是错过了一个设置吗?

解决方法

你试过YouCompleteMe吗?

这里YouCompleteme

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读