ijaas導入時に詰まった点
概要
ijaasを導入に当たって、変なところで詰まったので残しておきます。
ijaasとは
Make IntelliJ as a Java server that does autocompletion for Vim.
IntelliJをサーバーとして立てて、Vim
からAPI経由で各種機能を
利用できるようにしている模様です。
導入の基本は、 README.md
に記載の通りの手順で問題ないはずです。
詰まった点
1. PluginがInstallできない
Setting > Plugins > install plugin from disk
実行時に、下記エラーが発生
解消
IntelliJのバージョンが合ってなかったため、発生していた模様です。
build.gradle
def intellijVersion = 'IC-2017.1.5' if (project.hasProperty('intellij.version')) { intellijVersion = getProperty('intellij.version') }
intellij.version
で切り替えができる模様のため、
build.properties
を追加して上げれば良いです。
intellij.version=IC-2017.2.6
2. IntelliJ上からbuildPluginするとIdea取得で失敗
S3より、Ideaを取得する部分で失敗していました。
解消
コンソールより実行で解消できました。
% gradle buildPlugin
3. NeoVimから実行できない
ch_open
がNeoVimに実装されていない(?) 関係上、利用できませんでした。
(IntelliJへの接続に利用しているため、全般の機能が利用不可かと..)
if exists("$IJAAS_PORT") let s:ch = ch_open('localhost:' . $IJAAS_PORT) else let s:ch = ch_open('localhost:5800') endif
解消
Vim
を使う。
4. 保存時の ijaas#buf_write_post()
でTimeout
一旦コメントアウトしております。
( complete()
や organize_import()
は利用できました。)
5. IntelliJで該当Projectを起動していないと動作しない
該当ProjectをIntelliJで開いた状態で、利用する必要があるみたいです。
所感
まだ、実用的なコードで試せてないですが、
オートコンプリートはきれいに動作してました。
その他の機能に関しては、上手く動かせない部分もありました。
(機能を理解できていないからかと..)
あと、 メソッドジャンプ機能 が欲しいです。