私は最近vimを使用するように変換し、完全に販売されています。
jsdocコメントとctagsを使用して、インテリセンスや関数にジャンプする機能を取得するための優れた方法を見つけられませんでした。
これはどうやるんですか?
coc-vim
メインのgithubページで提案されているキーマッピングのいくつかを使用すると、readmeは、特にTypeScriptを言語サーバーとして使用した場合に最高のエクスペリエンスを提供してくれます。これはの拡張子で実行できcoc-tsserver
ますcoc-vim
。
<SHIFT>K
画面上部に関数定義/ドキュメントのポップアップが表示されます。また、VSCodeで取得するのと同様のオートコンプリートを取得します。少しの設定で、画面下部のエコー領域で関数シグネチャを取得することもできます。
gd
シンボルを超えると、そのシンボルの定義に直接移動します。これはReactでも機能し、コンポーネントが定義されているファイルに移動します。
まだテストしていませんvim-jsdoc
が、githubページをざっと見てみると、関数のシグネチャに基づいてJSDocコメントを生成するのに便利なようです。
別の方法として、/coc-snippets
に似た何かをするように見えるJSDoc用の便利なものがあります。vim-jsdoc
jsdoc.vim
ctagsはインテリセンスには役立ちませんが、関数またはクラスの定義にジャンプするのに役立ちます。
$ ctags -R *
Javaプロジェクトのトップレベルでそれを行い、次に:
$ vi -t functionName # or ClassName
vim内に入ると、ctrl +]でカーソルの下の関数またはクラス名の定義にジャンプし、ctrl+Tでジャンプして戻ります。
インテリセンスについては、vimのensimeをチェックしてください-vimとemacsでもscalaとjavaの補完を行うことができます:https ://github.com/MarcWeber/ensime 。しかし、すべてを設定するのは簡単ではないので、注意してください:)
セットアップが簡単なvimjdeプラグインもチェックしてください:http ://www.vim.org/scripts/script.php?script_id = 1213
「インテリセンスのような」オートコンプリートは、autocomplpopやneocomplcacheなどのプラグインを介して取得されます。これらのプラグインまたはタグファイルがなく、JavaScriptを記述していると仮定すると<C-x><C-o>
、ポイントインの後に入力myObj.
すると、ネイティブおよびカスタムのプロパティ/メソッドのリストが表示されます。
JSDocを利用したオムニコンプリートスクリプトは知りません。
Ternの機能に感銘を受けました。
私たちのプロジェクトのコードを分析した後、どのグローバルが表示されるか、それらの中で利用可能な関数、およびそれらの引数のタイプ(の一部)を教えてくれました!
Tern-for-Vimプラグインを使用すると、オートコンプリートに関するこの情報を表示したり(分割ウィンドウにjsdocsを使用)、コマンドラインに情報を表示したりできます。
ただし、少し設定が必要です。(npm install
プラグインフォルダー内に、どのファイルを参照するかをTernに指示する構成ファイルを作成します。)
K
次のように、ドキュメントをJavascriptおよびCoffeescriptファイルのキーにバインドできます。
autocmd BufReadPost *.{js,coffee} nnoremap <buffer> K :TernDoc<CR>