Archにpython-language-serverをインストールするときにコードの書式設定にYAPFを使用していることをどのように確認できますか?

Archにpython-language-serverをインストールするときにコードの書式設定にYAPFを使用していることをどのように確認できますか?

このパッケージpython-language-server(Python LSPをサポート)は、Arch LinuxのKateエディタへの新しいオプションの依存関係です。

これが興味深い理由の背景は次のとおりです。

Langserver.org

LSPを選ぶ理由は何ですか?LSPは、すべてのエディタ、IDE、またはクライアントエンドポイントでプログラミング言語の高度なサポートを提供するmxnの複雑さの問題を、より簡単なm + nの問題に減らす機会を作成します。

試してみることにしました。そこで詳細はこちらで確認しました。

palantir/python-言語-server: Python 言語サーバープロトコルの実装

使いたいヤムブだから、次の情報を記録しました。

追加の構文を使用してオプションのプロバイダをインストールできます。たとえば、YAPF 形式をインストールするには、次のようにします。

pip install 'python-language-server[yapf]'

pipの代わりにArchリポジトリを使用してインストールしたいと思います。私の質問は、Archリポジトリに「python-language-server」をインストールしたときに同じ結果をどのように取得できるかということです。これが同等であるか。

pacman -Syu python-language-server yapf

オプションの背景:YAPFを使用する理由:

ほとんどの最新のPythonフォーマッタ(autotopep8やpep8ifyなど)は、コードからリントエラーを取り除くように設計されています。これにはいくつかの明確な制限があります。たとえば、PEP 8 のガイドラインに準拠したコードは再フォーマットされない場合があります。しかし、これがコードが良く見えることを意味するわけではありません。

YAPFは別のアプローチをとります。 Daniel Jasperが開発した「clang-format」に基づいています。デフォルトでは、アルゴリズムは、元のコードがスタイルガイドに違反していない場合でも、コードを取得し、スタイルガイドに準拠する最適な形式に再フォーマットします。このアイデアは、Goプログラミング言語の「gofmt」ツールにも似ています。形式のすべての寺院を終了します。変更が行われるたびに、プロジェクトの完全なコードベースが単にYAPFを介して送信される場合、プロジェクト全体のスタイルは一貫して保持されます。 、すべてのコードレビューでスタイルについて議論が必要ですか?

究極の目標は、YAPFが生成したコードがスタイルガイドに従ってプログラマーが書いたコードと同じくらい良いことです。コードを維持する手間をいくつか取り除きます。

ベストアンサー1

はい

pacman -S python-language-server yapfと同じ結果が得られますpip install 'python-language-server[yapf]'。 pacmanをインストールしてからコマンドを実行してそれを証明することもできpip、要件が満たされたことを知らせます。

$ pip install 'python-language-server[yapf]'
Requirement already satisfied: python-language-server[yapf] in /usr/lib/python3.8/site-packages (0.31.7)
Requirement already satisfied: jedi<0.16,>=0.14.1 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.15.1)
Requirement already satisfied: python-jsonrpc-server>=0.3.2 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.3.4)
Requirement already satisfied: pluggy in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.13.1)
Requirement already satisfied: ujson<=1.35 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (1.35)
Requirement already satisfied: yapf in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.29.0)
Requirement already satisfied: parso>=0.5.0 in /usr/lib/python3.8/site-packages (from jedi<0.16,>=0.14.1->python-language-server[yapf]) (0.6.1)

おすすめ記事