エディタ統合

Emacs

オプションは以下のとおりです。

PyCharm/IntelliJ IDEA

PyCharmからBlackを使用するには、いくつかの方法があります。

  1. 組み込みのBlack統合を使用する(PyCharm 2023.2以降)。このオプションは設定が最も簡単です。

  2. BlackConnectプラグインを使用してローカルサーバーとして使用する。このオプションは、フォーマットが最も高速です。後続のフォーマットでの起動コストを回避するために、BlackのHTTPサーバーを起動します。

  3. 外部ツールとして使用する。

  4. ファイルウォッチャーとして使用する。

組み込みのBlack統合

  1. blackをインストールします。

    $ pip install black
    
  2. Preferences または Settings -> Tools -> Blackに移動して、Blackを好みに合わせて設定します。

ローカルサーバーとして

  1. dエクストラを使用してBlackをインストールします。

    $ pip install 'black[d]'
    
  2. BlackConnect IntelliJ IDEsプラグインをインストールします。

  3. PyCharm/IntelliJ IDEAでプラグインの設定を開きます。

    macOSの場合

    PyCharm -> Preferences -> Tools -> BlackConnect

    Windows/Linux/BSDの場合

    File -> Settings -> Tools -> BlackConnect

  4. Local Instance (shared between projects)セクションで

    1. Start local blackd instance when plugin loadsをチェックします。

    2. Path入力の近くのDetectボタンを押します。プラグインはblackd実行可能ファイルを検出するはずです。

  5. Trigger SettingsセクションでTrigger on code reformatをチェックして、Blackによるコードの再フォーマットを有効にします。

  6. Code -> Reformat Codeを選択するか、ショートカットを使用することで、現在開いているファイルをフォーマットします。

  7. オプションで、すべてのファイル保存時にBlackを実行するには

    • プラグイン設定のTrigger SettingsセクションでTrigger when saving changed filesをチェックします。

外部ツールとして

  1. blackをインストールします。

    $ pip install black
    
  2. blackのインストールフォルダを探します。

    macOS/Linux/BSDの場合

    $ which black
    /usr/local/bin/black  # possible location
    

    Windowsの場合

    $ where black
    %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe  # possible location
    

    PyCharmによって検出された仮想環境を使用している場合、この手順は不要です。この場合、blackへのパスは$PyInterpreterDirectory$/blackです。

  3. PyCharm/IntelliJ IDEAで外部ツールを開きます。

    macOSの場合

    PyCharm -> Preferences -> Tools -> External Tools

    Windows/Linux/BSDの場合

    File -> Settings -> Tools -> External Tools

  4. +アイコンをクリックして、次の値を持つ新しい外部ツールを追加します。

    • 名前:Black

    • 説明:Blackは、妥協のないPythonコードフォーマッターです。

    • プログラム:<install_location_from_step_2>

    • 引数:"$FilePath$"

  5. Tools -> External Tools -> blackを選択することで、現在開いているファイルをフォーマットします。

    • または、Preferences または Settings -> Keymap -> External Tools -> External Tools - Blackに移動して、キーボードショートカットを設定できます。

ファイルウォッチャーとして

  1. blackをインストールします。

    $ pip install black
    
  2. blackのインストールフォルダを探します。

    macOS/Linux/BSDの場合

    $ which black
    /usr/local/bin/black  # possible location
    

    Windowsの場合

    $ where black
    %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe  # possible location
    

    PyCharmによって検出された仮想環境を使用している場合、この手順は不要です。この場合、blackへのパスは$PyInterpreterDirectory$/blackです。

  3. File Watchersプラグインがインストールされていることを確認します。

  4. Preferences または Settings -> Tools -> File Watchersに移動し、+をクリックして新しいウォッチャーを追加します。

    • 名前:Black

    • ファイルの種類:Python

    • 範囲:プロジェクトファイル

    • プログラム:<install_location_from_step_2>

    • 引数:$FilePath$

    • 更新する出力パス:$FilePath$

    • 作業ディレクトリ:$ProjectFileDir$

  • 詳細オプションで

    • 「編集済みファイルを自動保存してウォッチャーをトリガーする」のチェックを外します。

    • 「外部変更時にウォッチャーをトリガーする」のチェックを外します。

Wing IDE

Wing IDEは、システム全体のsettingsに対する**Preference Settings**と、プロジェクトごとまたはワークスペース固有のsettingsに対する**Project Properties**を介してblackをサポートしています。これは、自動再フォーマットに関するWingのドキュメントで説明されています。詳細な手順は次のとおりです。

前提条件

  • Wing IDEバージョン8.0以上

  • blackをインストールします。

    $ pip install black
    
  • コマンドラインから実行できることを確認します。例:

    $ black --help
    

Preference Settings

すべてのプロジェクトでWing IDEが常にblackで再フォーマットするようにするには、次の手順に従います。

  1. メニューバーでEdit -> Preferences -> Editor -> Reformattingに移動します。

  2. 自動再フォーマットdisable(デフォルト)からLine after editまたはWhole files before saveに設定します。

  3. 再フォーマッターPEP8(デフォルト)からBlackに設定します。

Project Properties

特定のプロジェクトのみを再フォーマットし、Wing IDEのグローバル設定に干渉しないようにするには、次の手順に従います。

  1. メニューバーでProject -> Project Properties -> Optionsに移動します。

  2. 自動再フォーマットUse Preferences setting(デフォルト)からLine after editまたはWhole files before saveに設定します。

  3. 再フォーマッターUse Preferences setting(デフォルト)からBlackに設定します。

Vim

公式プラグイン

コマンドとショートカット

  • ファイル全体をフォーマットするには:Black(範囲はサポートされていません)。

    • オプションで、コマンドラインと同じ値を使用してtarget_version=<version>を渡すことができます。

  • :BlackUpgradeで仮想環境内のBlackをアップグレードします。

  • 現在使用中のBlackのバージョンを取得するには、:BlackVersion を使用します。

設定

  • g:black_fast(デフォルトは0

  • g:black_linelength(デフォルトは88

  • g:black_skip_string_normalization(デフォルトは0

  • g:black_skip_magic_trailing_comma(デフォルトは0

  • g:black_virtualenv(デフォルトは~/.vim/black または ~/.local/share/nvim/black

  • g:black_use_virtualenv(デフォルトは1

  • g:black_target_version(デフォルトは""

  • g:black_quiet(デフォルトは0

  • g:black_preview(デフォルトは0

インストール

このプラグインは、**Python 3.8+サポート付きでビルドされたVim 7.0+が必要です**。Vimプロセス内でBlackを実行するにはPython 3.8が必要です。これは外部コマンドを呼び出すよりもはるかに高速です。

vim-plug

vim-plug を使用してインストールするには

Blackのstableブランチは公式バージョンのアップデートを追跡し、最新の安定版を簡単に追従するために使用できます。

Plug 'psf/black', { 'branch': 'stable' }

もう1つのオプションは、より明示的で制御が容易なvim-plugtagオプションをシェルワイルドカードと共に使用することです。これは、指定されたパターンに一致する最新のタグに解決されます。

次のものは、すべての安定版に一致します(Blackで使用されるバージョンスキームのドキュメントについては、リリースプロセスセクションを参照してください)

Plug 'psf/black', { 'tag': '*.*.*' }

そして、次の例は、特定の年の安定したスタイル(この場合は2022年)に固定する方法を示しています。

Plug 'psf/black', { 'tag': '22.*.*' }
Vundle

または、Vundleを使用する場合

Plugin 'psf/black'

ターミナルで次のコマンドを実行します。

$ cd ~/.vim/bundle/black
$ git checkout origin/stable -b stable
Arch Linux

Arch Linuxでは、プラグインはpython-blackパッケージに含まれているため、インストール後に追加の設定なしでVimで使用を開始できます。

Vim 8ネイティブプラグイン管理

または、plugin/black.vimautoload/black.vimからプラグインファイルをコピーできます。

mkdir -p ~/.vim/pack/python/start/black/plugin
mkdir -p ~/.vim/pack/python/start/black/autoload
curl https://raw.githubusercontent.com/psf/black/stable/plugin/black.vim -o ~/.vim/pack/python/start/black/plugin/black.vim
curl https://raw.githubusercontent.com/psf/black/stable/autoload/black.vim -o ~/.vim/pack/python/start/black/autoload/black.vim

Vim 8の組み込みpackadd、Pathogenなどとの互換性のために変更が必要な場合はお知らせください。

使用方法

初回実行時に、プラグインは適切なPythonバージョンを使用して独自の仮想環境を作成し、Blackを自動的にインストールします。:BlackUpgradeを呼び出してVimを再起動することで、後でアップグレードできます。

仮想環境を機能させ、Blackをインストールするために特別な操作が必要な場合(たとえば、mainブランチのバージョンを実行したい場合)、手動で仮想環境を作成し、g:black_virtualenvをその仮想環境に設定します。プラグインはそれを利用します。

仮想環境ではなく、システムにインストールされているBlackを使用する場合は、次の行をvimrcに追加します。

let g:black_use_virtualenv = 0

:BlackUpgradeコマンドは仮想環境でのみ使用でき、仮想環境を使用していない場合、:BlackUpgradeは無効になります。システムにインストールされているBlackをアップグレードする必要がある場合は、システムのパッケージマネージャーまたはpip(Blackを最初にインストールするために使用したツール)を使用してください。

保存時にBlackを実行するには、次の行を.vimrcまたはinit.vimに追加します。

augroup black_on_save
  autocmd!
  autocmd BufWritePre *.py Black
augroup end

キーを押したときにBlackを実行するには(例:下のF9)、これを追加します。

nnoremap <F9> :Black<CR>

ALEを使用する場合

  1. aleをインストールします。

  2. blackをインストールします。

  3. これをvimrcに追加します。

    let g:ale_fixers = {}
    let g:ale_fixers.python = ['black']
    

gedit

geditはGNOME、Unix系オペレーティングシステムのデフォルトのテキストエディターです。geditを開いて

$ gedit <file_name>
  1. 編集 環境設定 プラグイン に移動します。

  2. 外部ツールを検索して有効にします。

  3. ツール メニュー -> 外部ツール の管理

  4. +ボタンを使用して新しいツールを追加します。

  5. 以下の内容をコードウィンドウにコピーします。

#!/bin/bash
Name=$GEDIT_CURRENT_DOCUMENT_NAME
black $Name
  • 必要に応じてキーボードショートカットを設定します(例:ctrl-B

  • 保存:なし

  • 入力:なし

  • 出力:必要に応じて下部ペインに表示

  • 必要に応じてツールの名前を変更します。

キーボードショートカットまたはツール -> 外部ツールを使用して新しいツールを使用します。ファイルを開き直すと、Blackは処理を完了します。

Visual Studio Code

  • Python拡張機能手順)を使用します。

  • あるいは、BlackのLanguage Server Protocolサーバーを実行するプレリリース版のBlack Formatter拡張機能を使用できます。この拡張機能を使用すると、フォーマットがはるかに応答性が高くなりますが、**Blackの最小サポートバージョンは22.3.0です**。

SublimeText

SublimeText 3の場合は、sublackプラグインを使用します。それより新しいバージョンについては、下記のLSPを使用することをお勧めします。

Python LSPサーバー

エディターがLanguage Server Protocol(Atom、Sublime Text、Visual Studio Codeなど)をサポートしている場合は、Python LSPサーバーpython-lsp-blackプラグインを使用できます。

Atom/Nuclide

python-blackまたはformatters-pythonを使用します。

Gradle(ビルドツール)

Spotlessプラグインを使用します。

Kakoune

次のフックをkakrcに追加し、:formatでBlackを実行します。

hook global WinSetOption filetype=python %{
    set-option window formatcmd 'black -q  -'
}

Thonny

Thonny-black-formatterを使用します。