sublime + docker +pylsで入力補完
はじめに
前回は、sublime + venv + pylsで入力補完できるようにしました。
https://qiita.com/lisp719/items/5a47e3e8342c11fb90b9
今回はdocker環境でのやり方を記事にします。
dockerでpythonの開発環境を立てる
${PWD}でホストとゲストのパスを揃えます。
あとは、pipのpackageをキャッシュしたり適当に。
version: "3"
services:
app: &app
image: python:3.7
volumes:
- .:${PWD}
- bin-data:/usr/local/bin
- pip-data:/usr/local/lib/python3.7/site-packages
working_dir: ${PWD}
volumes:
bin-data:
pip-data:
pylsをインストール
pipでpylsをインストールします。
[all]を指定するとlintとかもインストールされます。
docker-compose run app pip install python-language-server[all]
入力補完のテスト用にbottleもインストール。
docker-compose run app pip install bottle
sublimeの設定
LSPのインストールまでは前回と同じです。
docker-composeでpylsを立ち上げるようにcommandを指定します。
{
"clients":
{
"pyls":
{
"command": ["docker-compose", "run", "--rm", "app", "pyls"],
"enabled": true
}
}
}
動作確認
設定が終わったので適当なpythonファイルを開いてみます。
何故かファイルを開いた直後は補完が効きません。
1度改行をして入力すると補完が効くようになります。
かなり謎な動作なのですが、一度補完が効くようになれば1行目でも動作するようになります。
入力補完が効いていますね。
おわりに
pyls自体はpython版lsp(language-server-protocol)実装なので、lspプラグインなどがあるエディタなら同じような感じで行けると思います。
また、色んな言語のlspがあるようなので他の言語でも入力補完などが可能っぽいです。
lsp良いですね。
Author And Source
この問題について(sublime + docker +pylsで入力補完), 我々は、より多くの情報をここで見つけました https://qiita.com/MoguraStore/items/32820e68f390232dc05c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .