CLion 2016.1リリース:新しいツールと新しい言語

こんにちは、Habr!



今日、素晴らしいニュースがあります。CおよびC ++開発用のクロスプラットフォーム開発環境の次のリリースであるCLion 2016.1がリリースされました。





バージョン2016.1



あなたはおそらくバージョン番号に少し驚いています。 ちなみに、他のデスクトップツールの次のリリースには、IntelliJ IDEA 2016.1以降の同じバージョンがあります。 ポイントは何ですか? つまり、現在、JetBrains All Productsパッケージ内のすべての製品(つまり、すべてのデスクトップツール)は、年に数回、ほぼ同時に更新プログラムを受け取ります。 したがって、バージョンは1年であり、リリースの「パック」の連番です。 プラットフォームに実装されている主な機能はすべてのIDEに同時に組み込まれ、このバージョンの統一により、プラットフォームの変更を簡単にナビゲートできます。



さらに、メジャーマイナーリリースの発行スキームを放棄することを決定しました。 現在、各リリースは、新機能と継続的なバグ修正とパフォーマンスの改善の両方を活用することを目的としています。 移行の理由と最新のスキームに関する詳細は、同社の英語のブログの記事に記載されています。



そして今-新機能について直接!





C ++パーサーとC ++コードを操作するための改善



長い間、CLionは制限付きでC ++ 11をサポートしていました可変長 テンプレートconstexprユーザー定義リテラルは 正しく処理されませでした。 このバージョンでは、ほとんどのユーザー( 可変長テンプレート)を「妨害」 すると思われるものを取り上げました。 赤の下線付きのコード、コードアナライザーからの誤った通知、誤ったオートコンプリート、およびその他の問題は、多くの場合、C ++ 11のこの特定の機能に関連付けられていました。 可変長テンプレートの実装により、トラッカーの約100個のバグをクローズできます! 特に、Qtライブラリのユーザーを喜ばせようと急いでいます。 接続呼び出しは正しく処理されるようになり、組み込みのコードアナライザーは不正な型について警告しません。





関連する問題がまだいくつかありますが、それらはすでにはるかに小さくなっています。 突然何もわからない場合は、 トラッカーにレポートを追加してください。



とりわけ、STLからの文字自動インポートの正しい操作をようやく達成しました(残念ながら、 MinGW-w64を使用する場合はまだ問題があります)。 対応するヘッダーファイルが接続されておらず、その文字が既に使用されている場合、CLionは必要な#include



ディレクティブを追加することを提案します。





CLionの文字にカーソルを置き、ドキュメントウィンドウ(Linux / WindowsのCtrl+Q



、OS Xの場合はF1



)を呼び出すと、対応する文字の定義と定義されている場所を確認できます。 新しいバージョンでは、 ドキュメントウィンドウで関連トピックへのハイパーリンクがサポートされているため、コードを読んで理解するプロセスが大幅に容易になります。





それとは別に、C ++コードでのコード生成の機能に言及します。 以前は、新しい機能を作成するための2つの可能性、オーバーライドと実装がありました。 現在、定義の生成もあります。 それらはどう違うのですか? 実際、関数本体の作成の実装をImplementから分離し、Implementでは、基本クラスの純粋な仮想関数の定義を生成する可能性のみを残しました。 新しい機能は、生成メニュー(Windows / LinuxではAlt+Insert



、OS Xでは⌘N



)、直接(Windows / LinuxではShift+Ctrl+D



、OS Xでは⇧⌘D



)、および意図アクションAlt+Enter



) :





しかし、主なことはそれでさえありません。 最も重要な改善点は、インプレース関数を生成する機能です(オーバーライド/実装または定義の生成に関係なく)、つまりカーソルの場所です。 ヘッダーファイルで関数の本体を取得する場合-.cppファイルで必要な場合、このヘッダーファイルの対応するクラスで関数を呼び出す-そこに行き、そこで生成を呼び出します。 複数のオプションがある場合、CLionは関数定義を取得する場所を正確に指定します。





ディレクトリ管理



CLionは、CMakeが定義するプロジェクト構造に依存しています。 つまり、ファイルはプロジェクトに含まれるかどうか、 #include



ディレクティブなどからファイルを探す場所などです。そして、プロジェクトに含まれるべきファイルの中に、ログファイルやアセンブリアーティファクトがある場合はどうでしょうか。 そのようなディレクトリのインデックス作成に時間を費やす必要がないことをCLionに説明する方法は? または、リファクタリングが機能するコンテキストからライブラリを除外する方法(リファクタリングがライブラリコードに影響することはほとんどありません。これはプロジェクト内にありますが、依然としてサードパーティです)。



これらすべての目的のために、機能として新しいマークディレクトリが実装されました。





それに応じて、手動でディレクトリをマークすることができます。 選択は作業に影響します。





たとえば、リファクタリングとコード生成は、除外ディレクトリ(除外)またはライブラリ(ライブラリファイル)では機能しません。 また、ナビゲーションと検索には、ライブラリに検索結果を表示するための特別なオプションがあります。

これについては、英語のブログの別の投稿で詳しく説明されています。



これに加えて、あるマシンでプロジェクトを開発し、別のマシンでビルド/実行する場合、CLion 2016.1では、FTP、FTPS、またはSFTPを介した自動ファイル同期を構成できるようになりました。



デバッガー



最も期待される機能の1つは、ローカルマシンで実行されているプロセスをIDEからデバッグすることです。 もちろん、多くの人が尋ねますが、 リモートデバッグについてはどうでしょうか。 まだではありませんが、私たちも彼女に行きます!



名前または識別子(pid)を指定して、プロセスに接続できます。 接続が確立され、CLionでソースコードを開いた後、組み込みデバッガのすべての機能(ブレークポイント、変数値の表示、式の評価など)にアクセスできます。





新しい言語



CLion 2016.1ではネイティブPythonサポートが導入され、Swiftサポート用のプラグインもインストールできます。 Python / C / C ++の混合プロジェクトがある場合、またはLinux上のSwift IDEに興味がある場合は、大歓迎です! プラグインは以下をサポートします:





プラグインの機能の詳細については、当社のブログ: PythonSwiftをご覧ください。 また、簡単な紹介として、2つのビデオを提供しています。







その他



このリリースには、次の変更も含まれています。





最後に、CLion 2016.1の新機能を示す短いビデオ:





新しいバージョンのこれらの機能およびその他の機能については、製品のWebサイトで参照できます。 英語のブログの記事をお楽しみに。 いつものように、 30日間の無料試用版があり、価格セクションでコストについて調べることができます。 コメントでご質問にお答えします。



JetBrains CLionチーム

開発への意欲



All Articles