Sumlime TextからFilterPipesを使ってワンキーでDeepLを呼び出す

カテゴリー:  Tech タグ:  deepl sublime text

先日 DeepLを呼びだすPythonコードを作ってSublime TextのプラグインFilterPipesを使って呼び出していましたが、結構便利なのでキーバインドすることにしました。

DeepLを呼びだすコマンドを登録する

先日サンプルコードを作ったDeepL APIを使った翻訳サンプルコードの記事の中で次のように書いていたら、「毎回コマンド打つの面倒」というフィードバックをいただきました。

そんなことをやってくれるプラグインとして、 FilterPipes というものがあったので早速導入してためしてみました。

Sublime Textのプラグイン FilterPipesはオリジナルのフィルターを作ってコマンド登録できます。キーバインドすればワンキーで呼び出せます。

まず、Sublime Text上からShift+Cmd+Pでコマンドパレットを呼び出し、 FilterPipes: My Custom Filters Pluginを選択します。するとサンプルのカスタマイズしたFilterPipesのプラグインを生成されます。

生成されたDefault.sublime-commandsを次のよう編集します。pythonのパスは自分の環境で調べて合わせて変更してください。deepl.pyも配置したパスに合わせて変更してください。次の例ではホームディレクトリーの~/binに配置しています。環境変数を参照できないようなので、絶対パスをしていします。

[
    {
        "caption": "FilterPipes: DeepL",
        "command": "filter_pipes_process",
        "args": {
            "command": ["/Users/hogehoge/.asdf/shims/python", "/Users/hogehoge/bin/deepl.py",
                "-t", "j"]
        }
    },
]

これで毎回Pythonを呼びだすコマンドをタイプしなくても Shift+Cmd+PMでコマンドパレットからFilterPipes: DeepLを呼び出せば同じことができるようになります。

FilterPips: DeepLをキーバインドする

キーに機能をバインドしたい場合は、 Default.sublime-keymapを編集しましょう。次の例では、Cmd+M Jに「英語→日本語」を、Cmd+M Eに「日本語→英語」の機能を割り当てています。

[
   /*
    DeepL(英語から日本語)
    */
    {
        "keys": ["super+m","j"],
        "command": "filter_pipes_process",
        "args": {
          "command":  [
            "/Users/yostos/.asdf/shims/python", "/Users/yostos/bin/deepl.py",
                      "-t", "j"]
      }
    },
    /*
    DeepL(日本語から英語)
    */
    {
        "keys": ["super+m","e"],
        "command": "filter_pipes_process",
        "args": {
          "command":  [
            "/Users/yostos/.asdf/shims/python", "/Users/yostos/bin/deepl.py",
                      "-t", "e"]
        }
    }
]

いろいろ捗ります。

関連記事

コメント

Comments powered by Disqus