in my 雑記

プログラミング bump 日々のことなど

Python3でSublimeText3のプラグインを作る

f:id:inmyzakki:20170902164248p:plain

はじめ

テキストエディタは以前からatomを使っていたが、
atomで簡単なプラグインが作るのはjavascriptが読めない私には辛かったのでST3に乗り換えることにしました。

方法

まずは、下を見て導入&日本語化。
WindowsでSublimeText3日本語化は意外と分かりづらい(mac版追記) - Qiita

次に、プラグイン作成のためにプロジェクトのフォルダを作成します。
基本設定→packagesフォルダでプラグインのフォルダを開きます。
次に適当な名前のプロジェクトフォルダ「hoge」を作成します。
作ったフォルダの中に適当な名前のpythonファイル「hoge.py」を作成します。

hoge.pyに以下を書き込みます。
sublime_pluginはpipでインストールしておいてください。

import sublime
import sublime_plugin


class HogeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, 0, "Hello, hoge!")

これで、簡単なプラグインは完成です。
表示→コンソールでコンソールを開いて、適当なテキストファイルをST3で開き コンソールに「view.run_command(‘hoge’)」と入力するとテキストに「Hello, hoge!」と入力されます。
めちゃくちゃ簡単にプラグインが作成できます。

ただ、これでは一々コンソールから呼び出さなければいけないので、
ショートカットからhogeコマンドを呼び出せるようにします。
基本設定→キーバインド-ユーザでキーバインドの設定ファイルを開きます。
下記を記載します。

[
    { "keys": ["super+shift+h"], "command": "hoge" },
]

これで、hogeコマンドをcommand+shift+hキーの同時押しで呼び出すことができます。

おわり

私は普段pythonをよく使うのでpythonでプラグインが書けるST3はとても簡単にプラグインが拡張できて嬉しい。
テキストエディタを自分で拡張しながら使いたくて、pythonが好きな人はST3を使うのはありです。