有没有办法在VIM中获得语义 javascript代码完成?
我尝试过YouCompleteMe(YCM)并且它给了我一些代码完成,但它纯粹基于我当前的缓冲区(或缓冲区?)。
当我明确地呼叫:YcmCompleter
时,我得到了
ValueError: No semantic completer exists for filetypes: ['javascript']
我主要在node:sails.js和angularjs工作。我非常欣赏在键入时建议使用库方法的方法(例如,对于角度,量角器/摩卡/茉莉花)。
谢谢!
答案 0 :(得分:4)
如果文件的文件类型没有本机语义完成引擎,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