PyCharmにShebang(シバン)つきのテンプレートを追加する方法

LinuxなんかでPythonコードを書いているときにShebang(シバン; #!/usr/bin/env pythonとか)をいちいち書くの面倒ですよね。

PyCharmのユーザー向けに、Shebang付きのテンプレートの作成方法を紹介します。

ちなみにIntelliJAndroid StudioなどJetBrains提供のIDEなら何でも同じ方法で設定できます。

f:id:xterm256color:20181028172118j:plain

概要

やり方としては2つあります。 1. ファイルテンプレートとして登録 2. ライブテンプレート(スニペット)として登録

1はファイルを新規作成するときにShebang付きのファイルを作成するという方法です。2はいわゆるスニペットとしてShebangを登録して、補完入力できるようにする方法です。

両方設定してもいいですし、片方だけ設定しても構いません。そこはお好みで設定してください。

ファイルテンプレートとして登録

  1. File → SettingsとしてPyCharm設定画面を開く
  2. Editorを展開してFile and Code Templatesを選択
  3. [+]ボタンを押して新しいTemplateを追加
  4. Name欄にPython with Shebang、Extension欄にpyと書く
  5. Templateの記述欄に下記のテキストをコピペする
#!/usr/bin/env python
# -*- coding: utf-8 -*-

設定完了後の画面はこんな感じです。この設定をすると、新規作成するときに「Python with Shebang」というファイルテンプレートが追加されるようになります。

f:id:xterm256color:20181028165801p:plain

ライブテンプレート(スニペット)として登録

  1. File → SettingsとしてPyCharm設定画面を開く
  2. Editorを展開してLive Templatesを選択
  3. Pythonを選択した状態で[+]ボタンを押す
  4. No applicable contexts yet. Defineの[Define]をクリックしてPythonを選択する
  5. Abbreviation欄にshebang、Description欄にShebang comprehensionと書く
  6. Template textの欄に下記のテキストをコピペする
#!/usr/bin/env python
# -*- coding: utf-8 -*-

$END$

設定完了後の画面はこんな感じです。この設定をするとエディタ内でshebangと入力したとき(もしくは入力途中)に補完候補としてShebangが現れるようになります。

f:id:xterm256color:20181028171332p:plain

補足説明

  • Abbreviationとは略語。つまり上の設定の場合はshebangと打つと補完候補に#!/usr/bin/env python ...が出てくるようになります。

  • テンプレート欄に書いた$END$は、ライブテンプレートが補完されたあとのカーソル位置を定義するものです。

まとめ

  • ファイルテンプレートの場合:File → Settings → Editor → File and Code Templates → [+]
  • ライブテンプレートの場合:File → Settings → Editor → Live Tempates → Python → [+]