3

我最近转换为使用 vim 并且完全被它卖掉了。

我还没有找到一种很好的方法来使用带有 ctags 的 jsdoc 注释来获得智能感知或跳转到函数的能力。

你怎么做到这一点?

4

4 回答 4

2

我不得不说,coc-vimgithub 主页自述文件中的一些建议键映射给了我迄今为止最好的体验,尤其是在将 TypeScript 用作语言服务器时,您可以coc-tsserver使用coc-vim.

一些例子:

<SHIFT>K将在我的屏幕顶部显示函数定义/文档的弹出窗口。您还可以获得类似于在 VSCode 中获得的自动完成功能。只需少量设置,您还可以在屏幕底部的回声区域获得功能签名。

gd超过一个符号将带我直接进入该符号的定义。这也适用于 React,并将带我到定义组件的文件。

更多工具:

我还没有测试过vim-jsdoc,但是从 github 页面的浏览来看,它看起来很方便基于函数签名生成 JSDoc 注释。

作为替代方案,coc-snippets有一些方便的 JSDoc 看起来可能会做类似于vim-jsdoc/jsdoc.vim的事情。

于 2019-08-27T16:50:14.037 回答
1

“类似智能感知”的自动完成是通过像autocomplpopneocomplcache这样的插件获得的。如果没有这些插件或标签文件,并且假设您正在编写 JavaScript,那么<C-x><C-o>在该点之后键入myObj.将为您提供本机和自定义属性/方法的列表。

我不知道有任何使用 JSDoc 的全方位完成脚本。

于 2011-08-25T19:09:53.990 回答
1

ctags 不会帮助您进行智能感知,但它会帮助您跳转到函数或类定义:

$ ctags -R *

在您的 java 项目的顶层执行此操作,然后:

$ vi -t functionName    # or ClassName

一旦进入 vim,ctrl+] 跳转到光标下的函数或类名的定义,ctrl+T 跳转回来。

对于智能感知,请查看 vim 的 ensime - 它也可以在 vim 和 emacs 中完成 scala 和 java:https ://github.com/MarcWeber/ensime 。但是设置这一切并不容易,所以要注意:)

另请查看更易于设置的 vim jde 插件:http: //www.vim.org/scripts/script.php? script_id=1213

于 2011-08-25T17:38:45.397 回答
0

Tern的能力给我留下了深刻的印象。

在分析了我们项目中的代码之后,它可以告诉我哪些全局变量是可见的、它们内部可用的函数以及它们的参数的类型(某些)!

使用Tern-for-Vim 插件,您可以在自动完成时查看此信息(在拆分窗口中使用 jsdocs),或在命令行中显示信息。

不过,它确实需要一些设置。(npm install在插件文件夹中,并创建一个配置文件来告诉 Tern 要查看哪些文件。)

您可以将文档绑定到KJavascript 和 Coffeescript 文件的键,如下所示:

autocmd BufReadPost *.{js,coffee} nnoremap <buffer> K :TernDoc<CR>
于 2014-12-21T20:29:52.703 回答