C++ 入門
このチュートリアルは、JetBrains、Fleet で C++ 開発を始めるのに役立ちます。インストール、プロジェクトのセットアップ、C++ コードの操作について説明します。
前提条件
JetBrains Toolbox をダウンロードしてインストールする
JetBrains Toolbox をダウンロードしてインストールします。
macOS の場合、プロセッサーの種類 (Apple Silicon または Intel) に一致するインストーラーをダウンロードすることもできます。システムのプロセッサーに基づいて正しいオプションを選択してください。
JetBrains Fleet をダウンロードしてインストールする
JetBrains Toolbox で、JetBrains Fleet アイコンの横にあるインストールをクリックします。
ワークスペースをセットアップする
プロジェクト用に compilation database を準備する
JetBrains Fleet は、コンパイルデータベースを備えた C++ プロジェクトをサポートします。
compilation database(英語) は、プロジェクト内のすべてのコンパイルユニットに関する構造化データが含まれる、compile_commands.json という名前の JSON(英語) ファイルです。
このガイドに従って、プロジェクト用の compilation database を生成します。
プロジェクトを開く
⌘ O を押すか、メインメニューからファイル | オープンを選択します。
プロジェクトのルートフォルダーを選択し、オープンをクリックします。
開いたディレクトリがワークスペースのルートになります。
コーディング支援
JetBrains、Fleet は、様々なコーディング支援機能を提供しています。以下に、実際にどのように動作するかを理解するのに役立ついくつかの例を示します。これは完全なリストではありませんが、JetBrains、Fleet の機能を探る良い出発点となるでしょう。
構文エラーを特定する
コード内の構文エラーは赤でハイライトされます。
コードを自動的に補完させる
コンテキスト認識補完では、名前、タイプ、キーワードの候補リストが提供されます。
いくつかの提案は、一般的なコード構造のテンプレートです。リストから 1 つ選択し、Tab を押して編集可能なフィールド間でキャレットを移動します。
利用可能なコードスニペットは次のとおりです。
typedef [ タイプ ] [ 名前 ];
[ 名前 ] [ タイプ ] を使用します。
名前空間 [ 名前 ] = [ 名前空間 ];
名前空間 [ 識別子 ] を使用します。
[ 修飾子 ]::[ 名前 ] を使用します。;
typename [ 修飾子 ]::[ 名前 ] を使用します。
テンプレート <クラス [name]>
テンプレート <タイプ名 [name]>
switch ([ 条件 ]) { [ ケース ] }
case [ 式 ]:
goto [ ラベル ];
dynamic_cast<[type]>([expression])
static_cast<[ 型 ]>([expression])
reinterpret_cast<[type]>([expression])
const_cast<[ 型 ]>([expression])
catch ([ 宣言 ]) { [ ステートメント ] }
概念 [ 名前 ] = [ 制約 ];
#define [ マクロ ]([ 引数 ])
キャレット移動を減らす
キャレットを移動せずにすでに入力した式を変換するには、末尾にドットを入力します。後置補完オプションが候補リストに表示されます。
たとえば、if を選択した場合、最初の式は
if
ステートメントでラップされます。
パラメーター情報の表示
⌘ I を押して、関数呼び出しのパラメーター名のリストを取得します。
すべての使用箇所を表示するには、すべて表示をクリックします。
ポップアップでドキュメントを確認する
クラス、関数、フィールド、別の要素の上にマウスを置くと、それがどこでどのように定義されているかが表示されます。
コード項目の名前を変更する
名前を変更する項目を選択し、⌃ R を押して、新しい名前を入力します。
コードベースを移動する
⌘ B を押してシンボルの宣言に移動します。
⌘ U を押してシンボルの使用箇所を検索します。
⌘ E と⌘⇧ E を使用してエラー間を移動します。
プログラムを構築して実行する
JetBrains Fleet には、C/C++ アプリケーションの構築と実行のための組み込み自動化機能は提供されていません。
ただし、言語に依存しない実行構成を使用して、カスタムビルドおよび実行ステップを定義することができます。以下は CMake を使用した例です。
トラブルシューティング
LSP が起動できない
次のメッセージは、ファイアウォールの制限により、JetBrains Fleet が Clangd(英語) をダウンロードできなかった可能性があることを示しています。
回避策として Clangd を手動でインストールするには、次の手順に従ってください。
Maven リポジトリ(英語)から Clangd をダウンロードします。
ダウンロードしたファイルを対応する JetBrains Fleet ディレクトリにコピーします。
JetBrains Clangd の場合:
/home/user/.cache/JetBrains/Fleet/language_server/jbclangd/*
上流 Clangd の場合:
/home/user/.cache/JetBrains/Fleet/language_server/clangd/*
JetBrains Fleet を再起動します。
関連ページ:

JSON compilation database の生成
プロジェクト用の compile_commands.json ファイルを生成するには、コンパイラー、ビルドシステム、専用のツールを使用できます。CMakeCMAKE_EXPORT_COMPILE_COMMANDS フラグを使用します。以下のいずれかを実行します。cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON . または、CMakeLists.txt ファイルに次の行を追加します。set(CMAKE_EXPORT_COMPILE_COMMANDS ON)compile_co...

clangd エンジンの設定
The C++ language engine in Fleet is powered byclangd.clangd 設定ファイル:To customize the behavior of the clangd engine, useclangd configuration files. プロジェクトレベルの共有設定には、.clangd ファイルを使用します。このファイルには、プロジェクト全体または特定のファイルのコンパイラーフラグを含めることができます。ユーザーレベルの設定の場合は、OS 固有...