PyCharmでスニペットを使う

emacsだとyasnippetを使ってました。
便利なんですけど、設定や使い方が若干面倒でなくもないです。

PyCharmでスニペットに該当する機能はlive templatesという名前で用意されています。



デフォルトでDjangoやjsのテンプレートがいくつか登録されてます。
テンプレートを展開するキーはEnter、TAB、Spaceから選べますが、KeyMapをEmacsにするとTABは効かないようです。


試しに一つ登録してみます。



設定ダイアログ右上の+ボタンを押して登録を開始します。

Abbreviationにclassと入力。

Template Textに以下を入力。

class $class$($object$):
    """$cls_doc$"""
    
    def __init__(self, $args$):
        """Constructor for $class$"""
        $END$

「No applicable contexts yet. Define 」と出てますのでDefineを押して、Pythonを選択します





使ってみます。


classを入力して、、、



設定したExpand keyを押します



ちゃんと展開されますね!

使い方もわかりやすいですし、プラグインをインストールする必要もありません。
どんどん設定しようと思います。


ちなみに設定したスニペットはFile -> Export Settings...でエクスポートすることもできます。