C++ 入門
このチュートリアルでは、JetBrains Fleet での C++ 開発について学びます。インストール、プロジェクトのセットアップ、コードの操作について説明します。
Fleet をインストールする
JetBrains Toolbox 1.22.10970 以降をインストールします: ダウンロードページ。
JetBrains Toolbox をダウンロードしてインストールします。
JetBrains Toolbox で、JetBrains Fleet アイコンの近くにあるインストールをクリックします。
ワークスペースをセットアップする
プロジェクト用に compilation database を準備する
JetBrains Fleet は、コンパイルデータベースを備えた C++ プロジェクトをサポートします。
compilation database(英語) は compile_commands.json という名前の JSON(英語) ファイルで、プロジェクト内のすべてのコンパイル単位に関する構造化データが含まれています。
この手順に従って、プロジェクトの compilation database を生成します。
プロジェクトを開く
⌘ O を押すか、メニューからファイル | オープンを選択します。
プロジェクトのルートフォルダーを選択し、オープンをクリックします。
開いたディレクトリがワークスペースのルートになります。
スマートモードに切り替える
スマートモードを有効にする
スマートモードは、C++ コードのコード分析機能を有効にします。
右上隅にあるスマートモードのステータスアイコンをクリックします。表示されるポップアップで、「有効にする」をクリックします。
スマートモードのトラブルシューティング: LSP が起動できない
このメッセージは、ファイアウォールが原因で Fleet が Clangd(英語) をダウンロードできなかった可能性があることを示しています。回避策として、以下の手順に従ってください。
次のリンクを使用して Clangd をダウンロードします。
ダウンロードしたファイルを ~/.fleet/ ディレクトリに置きます。
Fleet を再起動してください。
スマートモードでできることは次のとおりです。以下はスマートモード機能の完全なリストではなく、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 のエラーをざっと参照してください。
プログラムを構築して実行する
Fleet は、実行中の C/C++ アプリケーションを構築するプロセスの自動化を提供しません。
ただし、Fleet の言語に依存しない実行構成を使用できます。CMake の場合の例を以下に示します。
関連ページ:
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_commands....
スマートモード
Fleet は、軽量テキストエディターとしても、インテリジェントコードエディターとしても使用できます。システムリソースを節約するために、リソースを消費する機能は必要なときにのみ有効にします。スマートモードを有効にする右上隅にあるスマートモードのステータスアイコンをクリックします。表示されるポップアップで、「有効にする」をクリックします。準備アクティビティが完了するまで待つ必要がある場合があります。後でスマートモードを無効にしたい場合は、同じポップアップから無効にすることができます。機能:スマー...
Clangd エンジン
Fleet の C++ 言語エンジンは、clangd に基づいています。Clangd 構成ファイル:ニーズに合わせて Clangd エンジンを調整するには、clangd 構成ファイルを使用します。共有プロジェクトレベルの設定には、.clangd を使用します。これらのファイルには、たとえば、プロジェクト全体と特定のファイルの両方のコンパイラーフラグを含めることができます。ユーザーレベルの設定には、OS 固有のディレクトリの config.yaml ファイルを使用します。.clangd の使用例: CU...