使用YouCompleteMe完成VIM语义JavaScript?

时间:2014-03-11 18:43:49

标签: javascript vim code-completion

有没有办法在VIM中获得语义 javascript代码完成?

我尝试过YouCompleteMe(YCM)并且它给了我一些代码完成,但它纯粹基于我当前的缓冲区(或缓冲区?)。

当我明确地呼叫:YcmCompleter时,我得到了

ValueError: No semantic completer exists for filetypes: ['javascript']

我主要在node:sails.js和angularjs工作。我非常欣赏在键入时建议使用库方法的方法(例如,对于角度,量角器/摩卡/茉莉花)。

谢谢!

3 个答案:

答案 0 :(得分:4)

来自YCm's huge README

  

如果文件的文件类型没有本机语义完成引擎,YCM将使用您的omnifunc(参见:Vim中的h omnifunc)作为语义完成的源。 Vim为各种语言(如Ruby,PHP等)提供了okayish omnifuncs。这取决于语言。

Tern for Vim通过Vim的原生全方位完成(<C-x><C-o>)提供您正在寻找的完成方式。安装该插件后,YCM应该能够透明地使用它来完成JavaScript。

答案 1 :(得分:0)

目前,YouCompleteMe中没有可用于javascript的语义完成。然而,人们正在努力。以下是用于集成JS Tern的pending pull request

如果没有语义完成者,您确实仅限于语言无关的完成者,例如标识符完成者,文件路径完成者和片段完成者。

答案 2 :(得分:0)

这些答案非常过时了,由于我对此有些挣扎,因此这里进行了更新:

现在,通过TSServer引擎支持Vim中带有YouCompleteMe的Javascript语义支持,如Ycm的HUGE readme

中所述。

感谢https://medium.com/parallel-thinking/actually-great-vim-javascript-completion-eaefa1cb443d