Qtブログ(日本語)

Qt Creator エディタニュース

作成者: 朝木卓見|Oct 17, 2011 8:06:09 AM

この記事は Qt Blog の "Qt Creator editor news" を翻訳したものです。
執筆: ckamm, 2011年09月28日

先日 Qt Creator 2.3.0 を リリース してからは、そのバグ修正や新機能の開発などを master ブランチ で活発に行っています。C++ および QML/JS エディタにいくつかの面白い機能が開発されていますので、紹介してみたいと思います。

C++

現在、C++ のコードモデルを独自実装から clang を用いたものに変更することを検討しています。テスト用のブランチを公開するには、まだもう少しやらなければならないことがあります。この件については後日別の記事でお伝えします。

2.3 で導入された コードスタイルの設定用ページ は組み直され、プリセットされたいくつかのコードスタイルに簡単に切り替えられるようになりました。設定のインポート・エクスポートにも対応し、チームで共有しやすくなりました。

関数の宣言と定義を同期させるための新機能を実装しました。関数のシグネチャが編集されるときに、対応する宣言もしくは定義が見つかるかをチェックします。対応するコードが見つかり変更が適用できる場合には、その関数の終わりに小さな電球マークを表示します。 quick fixes (Alt + Enter) を開いて(もしくは右クリックからリファクターの下の) 'Apply function signature changes' を選択すると、同じ修正を対応するコードに適用します。

以前の「宣言から定義を挿入」機能に満足できずに使わなくなった方は、是非もう一度試してみてください。定義は以前よりも自然な位置(ファイルの最後ではなく、直前の宣言に対応する定義の直後)に置かれるようになり、修飾子を最適化することで(必ずすべてを展開していた以前)よりも見やすくなりました。

QML

また、C++ エディタから QML エディタにいくつかの機能を移植する改良を行いました。「出現箇所の検索」機能は QML のコンポーネント名にも対応しました。また、名前の変更機能はすべての種類のシンボルをサポートするようになりました。

QML と JavaScript のコードの視認性を向上させるため、 QML/JS エディタにセマンティックハイライト機能を導入しました。これによって、外部の ID や、JavaScript の変数、ステート名の文字列などの特別な意味を踏まえて、それぞれを異なるフォーマットで描画します。

デフォルトのカラー設定は散漫になりすぎない程度に見やすくなるように、これらのすべてで異なるフォーマットは用いていません。好みに応じてエディタの設定で変更してください。

Creator がソースコードの実行前に行う JSlint スタイルの静的解析 について以前言及しました。この機能をプロジェクト全体に対してより簡単に実行できるようになりました。「ツール」→「QML/JS」→「Run Checks」を実行してください。すべてのプロジェクトに含まれる QML ファイルと JS ファイルをチェックして、結果を「ビルドの問題点」タブの QML Analysis フィルターに表示します。この他にもいくつか新しいチェック機能があります。

QML と C++

QML のモジュールを作成したり、C++ アプリケーションから QML を利用する場合、新しい型を qmlRegisterType で登録したり、クラスのインスタンスを setContextProperty でエクスポートすることが良くあります。Creator の C++ コードモデルはそれらの呼び出しをスキャンして、QML のモデルに伝えます。そうするとコード補完のリストにプロパティを表示したり、静的解析で未知の型で警告が出なくなります。

しかし、これはソースがある場合のみ動作します。モジュールの作者は、依然として配布の際には明示的に プラグイン形式の QML モジュールの型情報を生成 する必要があります。

フィードバックはこの記事のコメントや、Qt Creator の メーリングリストバグトラッカー でお願いします。