問題タブ [python-black]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - VS Code Python + 黒のフォーマッタ引数 - python.formatting.blackArgs
私は 2018 年 5 月の Python 拡張機能 (2018 年 6 月リリース) を Windows 上の VS Code 1.23.1 に使用しています。Anaconda 経由の python 3.6、conda-forge から conda 環境に黒をインストールする conda です。
私の user settings.json には、以下があります。
これは、VS Code Python 形式で引数を黒に渡すように構造化する正しい方法 だと思います。
ただし、私のpython出力ペインでは、次のようになります。
編集: 次のように、settings.json を引数なしに編集すると:
黒は期待どおりに機能します。
新しい(2018年6月現在)黒いフォーマッタに引数を正しく渡す方法を知っている人はいますか?
python - 醜いコードフォーマッタの出力を処理するには? (黒)
現在、Python 用のブラック コード フォーマッタを試しています。90% 以上のケースで、(デフォルトの構成で) 出力に満足していますが、いくつかの行が見苦しく見える方法でフォーマットされることが定期的に発生します。
黒でフォーマットする前後の例を次に示します。
これらの 2 つの行の構文は元々同一 (同じ関数、同じ数の引数など) であるため、同じ方法でフォーマットすることは理にかなっています。ただし、最初の行が少し長いため、Black は別の方法で書式設定し、コードの読み取りと解釈をより困難にしています。
もちろん、この特定のケースではlinelength
、Black のパラメータを増やすこともできますが、それで問題が解決するわけではありません。デフォルトの設定のままにしておきたいと思います。
Prettier for JavaScript などの他のフォーマッターも使用して、そのような状況に多く遭遇しました。これらの状況をどのように処理しますか? たとえば、これらの特定の行を無視してフォーマットしないように Black に指示する方法はありますか?
python - pre-commit フックを使用しているときに git commit --verbose を取得して更新された差分を表示する方法はありますか?
だから私は現在、iSortとpython Blackで私のpythonファイルをlintするためにgit pre-commitフックを設定していますgit commit --verbose
。ステージングされたファイルへの変更を考慮しました。
たとえば、次のような python ファイルがあるとします。
構成した iSort と black の設定に基づいて、precommit スクリプトはファイルを次のように変更します。
残念ながら、git commit エディターでは、まだ変更されていない差分が表示されます。エディタに正しい出力をさせる方法はありますか?
理論的には問題ではないと思いますが、実際の差分がどうなるか見てみたいと思います。
git - コミット前のフックとして黒が常にコミットに失敗する
Pre-commitを使用してBlackを Git pre-commit フックとして管理しようとしていますが、やり方が間違っているに違いありません。
コミット前の構成ファイルには次のものがあります。
私が期待しているのは、ブラックがステージングされたファイルを変更するだけで、コミットが成功することです。Black の要点は、Python コード スタイル ルールを自動適用することなので、質問はありません。
(Black に準拠していない) ファイルをステージングしてコミットしようとすると実際に何が起こるか: Black は先に進み、意図したとおりにファイルを準拠するように変更します... しかし、問題はそれが「失敗」を返すことです。したがって、コミットは失敗します。そして、ファイルのステージングを解除し、再度コミットする前に再ステージングする必要があります...そして、コミットが成功するのはその後です。
これは非常に煩わしく、意図したワークフローではないでしょうか?
私は何を間違っていますか?