Tips & Tricks

AI Assistant を活用した C++ 開発:CLion の AI 機能で実現する次世代のプログラミング

Read this post in other languages:

CLion ではいくつかの方法で C++ コードを補完することができます。

  • 基本的なコード補完では、可視性スコープ内の名前、型、およびキーワードの入力を開始するとその補完オプションが提供されます。
  • スマートな型一致のコード補完では、現在のコンテキストに関連する型のみが表示されます。
  • ステートメントの補完では、必要な構文要素を生成して挿入できるため、構文的に正しいコードコンストラクトを作成できます。
  • 後置補完は、ドットの後に入力する後置、式の型、およびそのコンテキストに基づいて入力済みの式を別の式に変換することで、後方へのキャレットの移動頻度を減らします。

新しい AI Assistant によって、可能性が実質的に無限になりました。 プロジェクトとそのコンテキストを非常によく理解しているため、まったく新しいコードが提案されます! 方法は簡単で、Enter を押して数秒待つだけで、 IDE が LLM モデルに話しかけ、提供可能な関連した提案があるかどうかを確認します。 提案がグレー表示のテキストとして表示され、Tab を押すと適用できるようになります。

インライン補完

インラインコード補完

インラインコード補完は、カーソルの後ろにコードスニペットのブロックを挿入します。 便利だと思いませんか? AI Assistant ライセンスを入手するか無料体験版を使って、CLion v2023.3 または以降のバージョンで評価できます。

CLion をダウンロード

コンテキストは AI Assistant が理解しているため、ユーザーが行おうとしていることを正確に推測することができます。 以下の例では、Qt ベースのアプリを起動するコードを書いてくれました。

Qt アプリの実行

自動提案は Settings(設定)/Preferences(環境設定)| Tools(ツール)| AI Assistant で無効にできます。 提案される補完は引き続き、補完メニュー、専用のアクション、またはショートカットから使用可能です。

AI の補完設定

また、AI Actions(AI アクション)コンテキストメニューの Generate Code…(コード生成…)オプションを使って、すべてのコードを一度に生成することもできます。

Qt アプリの実行

CLion の AI ベースの補完は時間と労力を削減できる強力なツールです。 ただし、現在は OpenAI の GPT-4 と GPT-3.5 モデル、および JetBrains がトレーニングしたモデルが使用されており、 これらのモデルの最後のカットオフは 2021 年であったため、このサービスは C++20 と C++23 といった固有のコンストラクトを認識しません。 AI Assistant には、C++17 の contexpr の知識もいくらか欠けています。

CLion で AI を利用したコード補完をお試しください! それについてのフィードバックは、コメント欄または課題トラッカーでお聞かせください。

補完についての説明を続けますが、Full Line Code Completion プラグインというものもあります。 これはインターネット経由では何も送信することなく、ディープラーニングモデルを活用してローカルデバイスで実行するため、オフラインのときでも使用できるプラグインです。 プラグインが直接提供する機能ですが、現在は Python、Kotlin、JavaScript/TypeScript および関連フレームワーク、CSS、Java、PHP、および Ruby のみがサポートされています。 近日中に、このリストに C と C++ が追加される予定です!

アルゴリズムライブラリによるコードの書き換え

C++ では、標準アルゴリズムライブラリの導入により、C++ 開発者がコンテナーの要素を検索、並べ替え、および操作できるようになりました。以下の例では AI Assistant は<algorithms> を使用することで、コードが改善され、より効率的になることを理解しています。

アルゴリズムの導入

AI Assistant が役立つその他の例

AI Assistant は、コードの説明、コード箇所に関する質問への回答、ドキュメントとコミットメッセージの生成などを行えます。 LLM の助けにより、多くのプログラミングタスクを完了することができます。 以下の例では、乱数で配列を埋める方法を教えてくれました。

乱数の生成

さらに以下の例では、アプリケーションを OpenMP ライブラリにリンクさせる方法を教えてくれました。

CMake への OpenMP の導入

さらに、コード内で関数を OpenMP と並列化するコードも提案してくれました。

OpenMP の導入

また、AI Assistant はコードの説明が必要な場合に非常に役立ちます。 オープンソースライブラリのナレッジベースとしても機能するため、さまざまなタスクの実行方法を尋ねることが可能です。

CLion で AI Assistant をお試しになりましたか? 以下のコメント欄または課題トラッカーでご意見や改善案をお聞かせください。

AI Assistant をぜひお試しください。C++ のコード補完は CLion 2023.3.3 から提供されています。CLion Nova にはまもなく AI Assistant が導入されます!

CLion をダウンロード

オリジナル(英語)ブログ投稿記事の作者:

Ryuji Owan

Anastasia Kazakova

image description