sublime + venv + pylsで入力補完


pylsとは

pylsはpython向けのlanguage-server-protocol (lsp)実装です。
リポジトリはこちら
https://github.com/palantir/python-language-server

lspは簡単に言うとエディタ支援の共通規格みたいなもの?らしいです。

python側の準備

今回はpylsをグローバルではなくvenv環境にインストールします。

python -m venv .venv
. .venv/bin/activate
pip install python-language-server
deactivate

sublime側の準備

まず、sublimeにlspのpackageをインストールします。
Package Controlで下記をインストールすれば完了です。
https://github.com/tomv564/LSP

次に、lspの設定ファイルを編集します。
今回はグローバルにpylsをインストールする訳ではないのでfalseにしてます。

{
    "clients":
    {
        "pyls":
        {
            "enabled": false
        }
    }
}

最後に、projectの設定ファイルを編集してpylsを起動できるようにします。

hoge.sublime-project
{
    "folders":
    [
        {
            "path": "/hoge"
        }
    ],
    "settings":
    {
        "LSP":
        {
            "pyls":
            {
                "command":
                [
                    "/hoge/.venv/bin/pyls"
                ],
                "enabled": true
            }
        }
    }
}

補完が効くようになりました。