Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

aleとasyncomplete.vimを使ってTypeScriptの入力補完を行う

$
0
0

概要

aleasyncomplete.vimを使って、TypeScriptの入力補完を行うための設定について記載します。

前提

  • プラグインの管理はdein.vimで行っています。
  • tsserverを使用するため、typescriptがプロジェクトローカルまたはグローバルにインストールされている必要があります。

依存関係

必要になるまでaleを有効化したくないため、on_cmdにコマンドを列挙しています。
各プラグインの設定はhook_sourceで行っています。

[[plugins]]
repo ='dense-analysis/ale'
on_cmd =['ALELint','ALEToggle','ALEEnable','ALEToggleBuffer','ALEEnableBuffer']
hook_source ='''
letg:ale_linters_explicit=1 " 必要なlinterのみ有効化したいため
letg:ale_linters={  \'typescript':['tsserver']  \}'''

[[plugins]]
repo ='prabirshrestha/asyncomplete.vim'
on_func ='asyncomplete#enable_for_buffer'
hook_source ='''
letg:asyncomplete_enable_for_all=0 " TypeScriptファイルの編集時のみ使用したいため
set completeopt+=preview

autocmd User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({\'priority':10\}))'''

vimrc

下記の設定をvimrcに記載します。
設定後、vimrc等必要なファイルの再読み込みを行うと、入力補完が効くようになると思います。

" .tsファイルを開いたときに、aleとasyncomplete.vimを有効化しています。function!s:typescript() abort
  ALEEnable
  call asyncomplete#enable_for_buffer()
  map <buffer><C-]><Plug>(ale_go_to_definition)
  imap <buffer><C-Space><Plug>(asyncomplete_force_refresh)endfunction

augroup TypeScript
  autocmd!
  autocmd FileType typescript calls:typescript()
augroup END

参考

以下を参考にさせていただきました。

https://qiita.com/hokorobi/items/b4be36253262373fbefc
https://github.com/dense-analysis/ale/pull/2627


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>