CLion 2020.2 ヘルプ

フルリモートモード

フルリモートモードでは、SSH(英語) を介して接続されたリモート Linux マシンをターゲットにした macOS、Linux、または Windows デスクトップで作業できます。Raspberry Pi(英語) のようなシングルボードコンピューター上の組み込みシステムを含む Linux ベースのターゲットを選択できます。また、あなたのプログラムはクラウドプラットフォーム上で、あるいはたとえば Docker コンテナーの中で起動することができます。

リモート開発の場合、CLion インスタンスはローカルで実行され、ソースファイルもリモートホストと自動的に同期してローカルクライアントに配置されます。リモートホスト側では、CLion はホストコンパイラと CMake を使用してコンパイルとビルドを実行し、デバッグにホスト GDB を使用し、リモートターゲット上でアプリケーションを実行します。

Windows クライアントで作業するときは、次の点に注意してください。

  • IntelliJ プラットフォームの課題(英語)により、idea.properties ファイルでプロパティidea.case.sensitive.fs=true を設定し(プロパティファイルにアクセスするには、メインメニューでヘルプ | カスタムプロパティの編集 ... を選択)、キャッシュをリセットして CLion を再起動する必要があります(ファイル | キャッシュの破棄 / 再起動 ...)。

  • Windows でのファイル同期では、CLion は独自のリモートホストアクセスと、tar ユーティリティを使用したホスト側での圧縮に依存しています。このメカニズムにより、macOS と Linux では同期は rsync よりも遅くなります。

    リモート認証情報を使用してツールチェーンを作成する

    1. 設定 / 環境設定 | ビルド、実行、デプロイ | ツールチェーンに移動し、ツールチェーンのリストからリモートホストを選択するか、${iconAlt}をクリックしてドロップダウンメニューからリモートホストを選択し、新しいツールチェーンを作成します。

    2. 資格情報フィールドの横にあるartwork.studio.icons.logcat.toolbar.settings.svgをクリックします。開いたダイアログで、SSH 構成を作成し、リモートマシンにアクセスするための資格情報を提供します。既存の SSH 構成は、ドロップダウンリストから利用できます。

      credentials to access the remote host
    3. 接続を確立した後、CLion はデフォルトのリモートの場所 /usr/bin/cmake/usr/bin/gdb にあるツールを検出しようとします(または手動で指定した場合はフルパスを使用します)。チェックが正常に終了すると、ツールチェーンは使用可能になります。

      remote toolchain configured successfully

    4. 新しく作成したツールチェーンをデフォルトのツールチェーンにすることができます (そのためには、move up move down をクリックしてツールチェーンリストの一番上に移動します)。デフォルトに設定すると、CLion で作成して開くすべてのプロジェクトにリモートツールチェーンが使用されます。

      リモートツールチェーンをデフォルトに設定した場合、デフォルトの CMake プロファイルが自動的にそれに接続するため、別の CMake プロファイルを設定する必要はありません。

    対応する CMake プロファイルを作成する

    • 設定 / 環境設定 | ビルド、実行、デプロイ | CMake に移動し、plus iconをクリックして新しい CMake プロファイルを作成し、ツールチェーンフィールドを使用してリモートツールチェーンに接続します。

      CMake profile for the remote toolchain

    デプロイ構成を確認して調整する

    • リモートツールチェーンの接続エンティティを作成すると、CLion はそれを設定 / 環境設定 | ビルド、実行、デプロイ | デプロイサーバーアクセス構成のリストに追加します。

      CLion は、プロジェクトコード同期のパスを自動的に構成します。マッピングタブを使用して、デフォルトのマッピングを変更します(たとえば、デフォルトの tmp フォルダーではなく、コピーされたソースの特定のリモートディレクトリを設定します)。

      path mapping for file synchronization

    • ファイル転送ツールウィンドウ(表示 | ツールウィンドウ | ファイル転送)で同期プロセスを監視できます。

      file transfer tool window

    ヘッダ検索パスの再同期

    • コードを正しく解決するために、CLion はヘッダー検索パスをリモートマシンからローカルクライアントへのすべてのコンテンツと同期させます。次に例を示しますは、標準ライブラリヘッダがターゲットから取得されていても、CLion エディターでローカルに作業しているかのようにそれらに移動できます。

      ただし、ヘッダー検索パスの同期は時間がかかる可能性があるため、CLion は最初のファイル転送時にのみ自動的に同期を実行します。それ以降は、CMake のリロードによってトリガーされることはありません。そのため、コンパイラを切り替えたり、プロジェクトの依存関係を変更したりするたびに、ツール | リモートホストと再同期を呼び出してヘッダー検索パスを必ず手動で更新してください。

      自動同期に切り替えることもできます。レジストリで clion.remote.resync.system.cache キーを設定します(ヘルプ | アクションの検索に移動するか Ctrl+Shift+A を押し、レジストリと入力して名前でキーを検索します)。

    ビルド、実行、デバッグ

    リモートツールチェーンと対応する CMake プロファイルが設定されたため、実行 / デバッグ構成スイッチャーで適切な CMake プロファイルを選択することで、完全にリモートの方法でアプリケーションとテストを構築、実行、デバッグできます。

    cmake profile for remote

    また、リモート SSH ターミナルを使用して、実行 / デバッグ構成の起動前ステップとしてリモート外部ツールを実行することもできます。

    以下では、実行される OS に応じてアプリケーションの出力がどのように変化するかを示すデモを見つけることができます。macOS をローカルシステムとして、Ubuntu ターゲットにリモートで接続し、OS 名を確認します。この例では、コードの強調表示は OS 識別子に依存するため、CMake プロファイルを切り替えるか、コンテキストを解決すると、CLion は対応するコードブランチを強調表示します。

    choose build configuration for remote run

      IPv6 サポートを有効にする

      • IPv6(英語) ネットワークに接続するには、CLion JVM オプションで調整する必要があります。

        1. メインメニューからヘルプ | カスタム VM オプションの編集を実行します。開いた *.vmoptions ファイルで、-Djava.net.preferIPv4Stack=true 行を削除し、次の行を追加します。

          -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Stack=true -Djava.net.preferIPv6Addresses=true

        2. CLion を再起動してください。

      • 生アドレスの代わりにホスト名を使用するには、Windows では Administrator として C:\Windows\System32\Drivers\etc\hosts を開き、macOS / Linux ではスーパーユーザーとして /etc/hosts を開き、必要なアドレスを対応するホスト名にマッピングします。

        各アドレスは別々の行に配置し、その後に少なくとも 1 つの空白と空白で区切ったホスト名のリストを続けます。次に例を示します。

        f381::171d:c61c:c7f3:3a56 my.dev.host1 my.dev.host2 f381::171d:c61c:c7f3:3a26%en0 my.dev.host3

      • macOS では、禁止されているネットワークインターフェースのリストも指定する必要があります。

        1. ヘルプ | アクションの検索に移動してレジストリと入力します。

        2. デプロイ .macOs.bannedInterfaces キーを見つけて、禁止するインターフェースのコンマ区切りリストを設定します(例: awdl0,bridge0,en1,en2,lo0,p2p0,utun0,utun1)。

      最終更新日 :

      関連ページ:

      Dockerのツールチェーン

      CLionでは、フルリモートモードを使用してDocker-basedツールチェーンを操作できます。このため、コンテナーはSSHデーモンで実行されている必要があります。以下の手順は、CLionでDockerを使用するブログ投稿の概要です。サンプルDockerfile:DockerでCLionツールチェ...

      高度な構成

      使用可能な標準オプションに加えて、CLion を使用すると、基盤となるプラットフォームと Java ランタイムの低レベルの構成を実行できます。これにより、予期しない課題が発生する可能性があり、何をしているのかわからない場合は、CLion のインストールが動作不能になる可能性があります。解決しようとし...

      CMake プロファイル

      CMake プロジェクトのビルドに必要な設定はCMake プロファイルに組み込まれています。ツールチェーン、ビルドタイプ、CMake ジェネレーターなどの CMake オプション、および環境変数が含まれます。たとえば、1 つのプロジェクトに異なるコンパイラーを使用したり、異なる設定で CMake タ...

      コンテキストを解決する

      構文の強調表示、および使用箇所の検索、リファクタリング、コード生成、コード分析などの他のコードインサイト機能は、コードの解析と解決のルールを決定する一連のプリプロセッサ定義に依存する場合があります。これらのルールは、解決コンテキストとも呼ばれます。CMake プロジェクトの場合、解決コンテキストは対...