Rust
Rust プラグインは、PyCharm に本格的な Rust サポートを提供します。 このガイドでは、始めるための基本手順を説明します。 サポートされている機能の詳細は、 RustRover ドキュメントをご覧ください。
Rust プラグインのインストール
PyCharm を起動します。 'ようこそ' 画面で、 プラグイン をクリックします。
すでにプロジェクトが開かれている場合は、 に移動してください。
マーケットプレース タブを選択し、 Rust プラグインを検索してください。
インストールする をクリックし、ダウンロード完了までお待ちください。
プロンプトが表示されたら、IDE を再起動します。
プラグインは自動的に有効化されます。 有効化を確認するには、 に移動し、左側のペインで Rust を選択してください。
Rust ツールチェーンのインストール
Rust で開発するには、コンパイラー、パッケージマネージャー、フォーマッターなど、いくつかの基本的なツールが必要です。 このツール群は、 Rust ツールチェーンと呼ばれます。 Rust 標準ライブラリも必要です。
すでにプロジェクトを開いていて、Rust ツールチェーンが見つからない場合は、エディターの真上に通知バナーが表示されます。

ツールチェーンを設定する をクリックしてください。
または、IDE 設定(Ctrl+Alt+S )を開いてから選択してください。
Rust ツールチェーンが検出されない場合、 ツールチェーンバージョン に なし が表示されます。 Rust ツールチェーンをインストールするには、 Rustup のインストール ボタンをクリックします。PyCharm は Rustup を使用して、ツールチェーンと標準ライブラリの両方をインストールしようとします。
インストールが完了すると、PyCharm が自動的に場所を検出し、 ツールチェーンバージョン と 標準ライブラリ のパスを入力します。
OK をクリックして設定を適用します。
Rust プロジェクトを開くまたは作成する
Rust プロジェクトの作業を開始するには、3 つのオプションがあります。
新しい Cargo プロジェクトを作成する
PyCharm を起動します。
新しいプロジェクトを開始するには、次のいずれかを実行してください:
'ようこそ' 画面で 新規プロジェクト をクリックします。
メインメニューから を選択します。
メインウィンドウのヘッダーにあるプロジェクト ウィジェットをクリックし、 新規プロジェクト を選択します。
左側のペインで、 Rust が選択されていることを確認してください。
プロジェクトの場所と名前を指定します。
Rust ツールチェーンと標準ライブラリの場所を指定してください。
ツールチェーンと標準ライブラリがインストールされていれば、PyCharm が自動的に検出します。 それ以外の場合、 Rustup のダウンロードが提案されます。

必要な プロジェクトテンプレートを選択し、 作成 をクリックしてください。
ローカル Cargo プロジェクトを開く
メインメニューで へ移動します。 ファイル選択で、ルート Cargo.toml ファイル(または Cargo.toml 自体)を含む ディレクトリ を選択し、 オープン をクリックします:

開いたダイアログで、 プロジェクトとして開く を選択します。

プロジェクトを初めて開くと、PyCharm はプロジェクトが安全であるかどうかを確認するプロンプトを表示します。
プロジェクトに危険性がないことを確認し、すべての IDE 機能を有効にしたい場合は、 プロジェクトを信頼 をクリックしてください。 不安がある場合は、 セーフモードでプレビュー を選択してください。 詳細は プロジェクトのセキュリティ をご参照ください。
VCS からリポジトリをクローン
メインメニューで に移動するか、'ようこそ' 画面で VCS から取得 をクリックします。
リポジトリの URL と保存先ディレクトリを指定してください。 クローン をクリックします:

ワークスペースと機能を確認する
プラグインの機能セットは、Rust 開発プロセスを簡素化するよう設計されています。 どんな機能があるのか詳しく見てみましょう。
構文ハイライトとコード参照
Rust コードを素早く読んで理解できるように、プラグインはハイライト、 インレイヒント、 ドキュメントへのクイックアクセスなどを提供します。

役に立つと思われるショートカットをいくつか紹介します。
アクション | ショートカット |
|---|---|
Ctrl+Click | |
型情報を取得する | Ctrl+Shift+P |
Ctrl+Q |
詳細は RustRover ドキュメントをご覧ください。
コード解析とエラー報告
コード内のエラーや不整合に対応するため、プラグインは 組み込みインスペクションや 外部リンター連携を提供します。
検出された問題の概要は、エディター右上の インスペクション ウィジェットで確認できます。 詳細を確認するにはウィジェットをクリックし、 問題ツールウィンドウ (または を選択)をご参照ください:

詳細は RustRover ドキュメントの コードインスペクションおよび 外部リンター をご覧ください。
フォーマット
コードのフォーマットには、 IDE の組み込みフォーマッターまたは Rustfmt (デフォルトで有効)を使うことができます。
Rustfmt を有効または無効にする(組み込みフォーマッターの代わりに)
Ctrl+Alt+S を押して設定を開き、 に移動します。
Rustfmt を有効にするには、 組み込みフォーマッタの代わりに Rustfmt を使用する チェックボックスをオンにしてください。 Rustfmt を無効にするには、チェックボックスをオフにしてください。
変更を適用するには、 OK をクリックします。
ファイルを再フォーマットする
整形したいファイルをエディターで開いてください。
Ctrl+Alt+Shift+L を押すか、 を選択します。
ダイアログで必要に応じて追加オプションを選択し、 をクリックしてください。

詳細については、 コードを再フォーマットおよび再配置する および Rustfmt を参照してください。
Cargo ツールウィンドウ
Cargo ツールウィンドウは、Cargo のタスクをサポートするためのものです。 デフォルトではツールウィンドウバーに固定されています。 サイドバーのウィンドウインジケーター をクリック(またはメインメニューから を選択)して表示・非表示を切り替えます。

詳細は RustRover ドキュメントをご覧ください。
Playground でコードを共有
エディターから離れることなく Rust Playgroundでコードを共有できます。
Playground で共有
共有したいコード箇所を選択してください(選択しない場合は IDE がファイル全体をコピーします)。
右クリックして、 を選択します。
PyCharm は GitHub Gistを作成し、Playground のリンク付き通知ポップアップを表示します。

ビルドと実行
ビルド アクションでコードをコンパイルし、 実行 で実行します。 これらのアクションを実行する方法はいくつかあります:
Rust コードのビルド/実行
特定のターゲットをビルドまたは実行したい場合は、 Cargo ツールウィンドウ ( )を開き、ターゲットをダブルクリックしてください。

特定のエントリポイントから実行するには、エディター内でそのエントリポイントを見つけ、ガターの
をクリックし、 実行 を選択します:

特定のファイルまたはモジュールを実行するには、プロジェクトビューを開き、必要なファイルまたはモジュールを右クリックし、 実行 を選択します:

定義済み構成 (カスタムパラメーターと設定)を使用してコードをビルドまたは実行したい場合は、メインツールバーのスイッチャーでそれを選択し、次の操作を行います:
ビルドするには
をクリック(Ctrl+F9)
実行するには
をクリック(Shift+F10)

いつでもビルド/実行できます。
詳細は RustRover ドキュメントをご覧ください。
デバッグ
Rust プラグインは、 ブレークポイント、 変数監視、 ステップ実行など、便利な機能を備えた本格的なデバッガーを提供します。
デバッグセッションの開始
特定のエントリポイントからデバッグを開始するには、エディターでそのエントリポイントを見つけ、ガターの
をクリックし、 デバッグ を選択します:

定義済みの構成 (カスタムパラメーターと設定)を使用してコードをデバッグするには、メインツールバーの構成スイッチャーでそれを選択し、
をクリックします:

Cargo コマンドを実行して、いつでもデバッグセッションを開始できます。
詳細については、 デバッガーセッションを開始する を参照してください。
次のガイドから基本的なデバッグアクションを実行する方法を学習します。

詳細は RustRover ドキュメントをご覧ください。
Python と Rust を同時にデバッグ
Rust のブレークポイントがプロジェクトにある場合、Python の実行/デバッグ構成を実行すると、自動的に LLDB がプロセスにアタッチされます。 Rust のブレークポイントがない場合、構成は LLDB をアタッチせず通常通り実行されます。
セッション中は、Python と Rust のデバッグコンテキストを切り替えることができます。
Python 構成の実行またはデバッグアクションの前に、Rust コンポーネントが変更されていれば PyCharm が自動的に再ビルドします。
テスト
コードにはおそらくテストや ドクトテスト 、ベンチマークなどを追加することになるでしょう。 それらを実行する簡単な方法をいくつかご紹介します:
テスト(s)、ドクトテスト(s)、またはベンチマーク(s)を実行
単一のテストまたはドクトテストを実行するには、エディターで開き、ガターの
をクリックし、 実行 を選択してください:

テスト/ベンチマークターゲットを実行するには、 Cargo ツールウィンドウ ( )を開き、ターゲットをダブルクリックします:

Cargo コマンドを利用してテストはいつでも実行できます。
実行ツールウィンドウが開き、結果が自動的に表示されます:

詳細は RustRover ドキュメントをご覧ください。
コードカバレッジで実行する
プラグインは Rust コードの コードカバレッジ解析もサポートします。
コードカバレッジで実行
コードカバレッジ統計を取得するには、次のいずれかを実行します。
必要なエントリポイントを見つけ、ガターの
をクリックし、 カバレッジ付き実行 を選択します:

プロジェクトビューで必要なファイルを見つけ、右クリックして カバレッジ付き実行 を選択します:

定義済みの構成 (カスタムパラメーターと設定)を実行したい場合は、メインツールバーのスイッチャーでそれを選択し、
を押し、 カバレッジ付き実行 を選択します: 
カバレッジ ツールウィンドウ( )が開き、結果が自動的に表示されます:

詳細については、 コードカバレッジ・カバレッジ を参照してください。
Rust サポートについて詳しくは RustRover ドキュメントまたは サポートチームにお問い合わせください。
Rust と Python スタブ間のナビゲーション
pyo3 プロジェクトでは、PyCharm が Rust から Python に公開されたアイテムと、 .pyi スタブファイルでの宣言間の双方向ナビゲーションを提供します。
次の pyo3 属性が付与された Rust アイテムの横にガターアイコンが表示されます:
#[pyfunction]#[pyclass]#[pymethods](#[new]、#[getter]、#[setter]、#[staticmethod]、#[classmethod]を含む)
Rust ファイル中のガターアイコンをクリックすると、対応する .pyi スタブの宣言へジャンプでき、スタブ中のアイコンをクリックすると Rust ソースへ戻ることができます。
名前とシグネチャーの一致は、pyo3 の規則に従います。例えば次のものがあります:
#[pyo3(name = "...")]、#[pyfunction(name = "...")]、および#[pyclass(name = "...", module = "...")]による名前のオーバーライド。Getter/Setter プレフィックスの除去(
get_/set_)。#[pyclass(eq, hash, ord)]によって暗黙的なダンダーが生成されます。#[pyo3(signature = (...))]で宣言されたシグネチャー(位置のみ(/)、キーワードのみ(*)、*args、**kwargs、およびデフォルト値を含む)。アリティから除外される暗黙のパラメーター ―
py: Python<'_>、そして#[classmethod]のclsレシーバー。
プロジェクトのプロダクションソースでナビゲーションが利用可能で、囲まれている #[pymodule] 、Python で見える名前、アリティによって項目が一致します。
Rust プラグイン vs. RustRover
機能セットの違い
Linux では LLDB と GDB の両方が利用可能です。 macOS では LLDB のみ利用可能です。 Windows では MSVC 用に LLDB、GNU 用に GDB がサポートされています。 詳細 | Windows および Linux では LLDB と GDB の両方が利用可能です。 macOS では LLDB のみ利用可能です。 オンチップデバッグが可能 | Windows および Linux では LLDB と GDB の両方が利用可能です(Native Debugging Support 無料プラグインが必要)。 macOS では LLDB のみ利用可能です。 | Windows および Linux では LLDB と GDB の両方が利用可能です(Native Debugging Support 無料プラグインが必要)。 macOS では LLDB のみ利用可能です。 | |
プロファイラー | macOS、Linux、および WSL で利用可能 | macOS、Linux、および WSL で利用可能 | macOS、Linux、および WSL で利用可能 | |
Linux、WSL、および macOS(10.12 以降)で利用可能 | ||||
データベースサポート |
言語サポート
Rust | ||||
Java、Groovy、Kotlin | ||||
C/C++、Objective C/C++ | ||||
Python | 無料プラグイン 経由 | |||
JavaScript、TypeScript | ||||
HTML、CSS | ||||
Sass、SCSS、Less | ||||
XML、JSON、YAML、XSLT、XPath | ||||
Markdown |