サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Delphi 10.4.2におけるCode Insightの改善

10 4 2 sydney 9064602 2

10.4.2ではCode InsightとDelphi LSPの機能が改善され、より使いやすく便利になりました。このブログでは、RAD Studio製品のシニアマネージャであるDavid Millingtonがこれらの機能について詳しく解説いたします。

RAD Studio 10.4.2 は、品質を重視してリリースされた 10.4.1 に続く、機能を重視したリリースとして計画されました。しかし、10.4.2では、いくつかの主要な機能を提供するだけでなく、前のリリースよりも多くの問題を修正しました。

これらの修正は、Delphi 10.4.2の他の機能パートと同様、Code InsightやDelphi LSPにも該当します。では今回、何が新しくなったのかを見てみましょう。まずは、機能です。

エラーインサイト – 現在のエラー、警告、ヒントのインサイト

RAD Studioのこれまでのバージョンでも、コンパイルする前にコードエラーが検出されると、コードエディタに赤いジグザグの下線(例えば、赤い下線)が表示されていました。

10.4でDelphi LSPを導入した際の大きな改善点の1つは、これらの表示が常に正しいことを確認することでした。コードエディタのマーカーと、そのコードをコンパイルしたときに表示されるコンパイラのエラーとの間には、1対1の相関関係があり、エディタと構造ペインに表示されるすべてのエラーは正しいものです。

10.4.2では、この機能を拡張し、コードエディタでも警告とヒントを確認できるようにしました。警告やヒントは、コードに関する貴重な情報を提供します。コンパイルの妨げにはなりませんが、アプリケーションが期待通りに実行できない可能性があります。 入力時にこれらの情報がエディタにライブで表示されることで、コードの問題を修正するためのフィードバックや対応が格段に早くなります。この修正は警告やヒントなしでコンパイルしたい人のための大きな目標で、警告やヒントなどの情報をインラインで見ることができるのは非常に貴重です。

10.4.2では、警告やヒントが多いコードの場合にコードエディタが複数の色で覆われないようにするため、デフォルトではこの機能を有効にしていませんでした。お客様からのフィードバックをいただき、10.5ではこの機能をデフォルトでオンにする予定です。なお、今回のリリースでは、IDEメニューの[ツール]>[オプション]>[ユーザーインターフェース]>[エディタ]>[言語]ページの「エラーインサイト」タブをクリックし、下図のように「エラーインサイトのレベルを表示」コンボボックスから選択することができます。

「エラーインサイトのレベルを表示」では、

の中から選択できます。(デフォルトでは、エラーのみが選択されています)

エディタのレンダリングとその他のネーミングの問題

まずは、以前のバージョンからお馴染みのネーミングについてです。

1つ目は「エラーインサイト」です。このネーミングは素晴らしいですが、現在はエラーだけをインサイトするわけではないため、「エラー、警告、ヒントインサイト」と呼ぶべきかもしれません。(かと言って、エラーインサイトの名前を変更しようというわけではありません)

2つ目は、「赤い波線」です。コードの下に表示される赤いジグザグの線で、「赤い波線」としても知られ、多くの人々が好む用語です。しかし現在のエラーインサイトでは、赤だけでなく「エラー(赤)、警告(琥珀色)、ヒント(青)」の波線で表示されます。さらに10.4.2ではマーカーの表示は波線だけではありません。

10.4.2では、コードエディタのマーカーが明確で見やすいようにし、さらに、お客様がIDEを自分の好みに合わせてカスタマイズしたいと考えていることも知っています。このような理由から、アンダーラインの表示方法を変更しました。

上図のようにIDEメニューの[ツール]>[オプション]>[ユーザーインターフェース]>[エディタ]>[言語]ページの「エラーインサイト」タブをクリックし、「エディタのレンダリングスタイル」コンボボックスから選択することができます。

エディタのレンダリングスタイルには、以下の4種類あります。

下図は、それぞれのレンダリングスタイルのオプションを選択した際のアンダーラインの表示例です。

もし高解像度のモニターをお使いの方や視力に問題のある方には、ご自分に合ったマーカースタイルを見つけていただきたいと思います。

そして10.4.2では、エディタのガッター(左余白)にもエラーインサイトのアイコンを表示されるようになりました。

この改善により、高速でスクロールしているときに、エラーや警告、ヒントを見つけやすくなります。なお、この機能は、[エラーインサイト]タブの”エディタの左余白にエラーインサイトを表示”をチェックすることで有効化/無効化できます。

エディタのステータスバーとツールチップでのインサイト

横方向に十分なスペースがあれば、コードエディタの下部にあるステータスバーに、現在のユニットのエラー、警告、ヒントの数が表示されるようになりました。

またエディタ内でエラー(または警告、ヒント)箇所にマウスオーバーした時に、ツールチップでそれぞれの情報を表示するように調整されました。

ツールチップにエラーが表示される例
ツールチップにヒントが表示される例
ツールチップに警告が表示される例

LSPサーバーのアクティビティ

Code Insightエンジンが何をしているのか、何を処理しているのか、いつ結果が出るのか気になったことはありませんか?10.4.2では、Projectsビューの下部にある小さなバーにLSPサーバーのアクティビティを表示し、ステータスが「見える化」されます。

Inherited

2015年3月、現在は製品のシニアマネージャである私(David Millington)がEmbarcaderoに入社する1年以上前、いつかここで働くかもしれない、ましてやDelphiのこの部分を担当することになるとは思ってもいなかった頃、私はQuality Portalに機能要望としてリクエストしました(RSP-10217)。このケースは117票、41人のウォッチャーがいる人気のQPレポートです。要望した内容は、シンボルの宣言に移動するCtrl+Clickを拡張して、「inherited」キーワードをCtrl+Clickできるようにすることでした。

10.4.2でこの機能が実装されたことを嬉しく思います。 Ctrlキーを押しながら「inherited」キーワードをクリックし、「inherited Create」などのメソッドで修飾されている場合は、Ctrlキーを押しながらメソッド名をクリックすることもでき、その継承されたメソッドにコードを移動できます。

なぜこのような便利な機能が追加されたのでしょうか?もしソースコードを読んでいて、気になるコード定義を見つけたとき、その定義のさらに深いコード場所に移動することは、定義されているコードを学んだり、そのコードが何をしているするものかを知るために非常に役立ちますし、一般的にCtrl+Clickが便利な理由でもあります。しかし、この機能は以前はシンボル名に対してのみ機能していました。継承されたメソッドを呼び出したとき、つまり祖先クラスの実装を呼び出したとき、そのメソッドが何をするのかを知るためにナビゲートできるようにしたいものです。実際、オブジェクト指向コードを理解するには、継承階層内を移動することが重要であるため、これは非常に便利です 。以前は継承されたメソッドを見つける方法はありませんでしたが、10.4.2からはそれが可能になりました!

最後に、「inherited」キーワードの後にコードを完了すると、祖先クラスのメソッドのみが一覧表示されるようになりました。

…そして品質!

上記(ここまでで紹介した)内容はすべて新機能であり、時には本当に素晴らしい新機能です。しかし、冒頭で述べたように、10.4.2は大きな品質のリリースでもありました。ただDelphi LSPにとってはバグの修正とも思えるかもしれませんが、これは別の意味では「機能の見直し」という側面も持っており、あまり一般的でないシナリオでの動作の確保、フィードバックに基づく動作の変更などです。今回のリリースでDelphi LSPで行った調整および修正の一部をご紹介します。

それだけではありません。Delphi LSP全体では、さらに多くの調整、変更、品質修正が行われています。上記はリストの4分の1で、多くのドットポイントが複数の項目をカバーしていることに気づくでしょう。それぞれに他の項目があります。たとえば、言及されていない.pasおよび.dcuルックアップの処理に関する調整、パラメータ補完に関する調整、IDEによるテキストの挿入方法に関する調整などがあります。

私が伝えたい印象は、10.4.2でどれだけの修正と改善が行われたかということです。上記の項目以外にも細かい改善が多く行われており、その細かい修正が集まって以前のバージョンよりも、そして10.4.1よりも、コード補完やそれに関連する機能が、これまで以上に、10.4.2では期待したとおりに動作するようになっています。

まとめ

DelphiおよびRAD Studio 10.4.2のCodeInsightには、よくある要望を含め、本当に便利な新機能が搭載されています 。

などなど、全体的に多くの質の高い改訂が行われています。これまでにお客様から寄せられたフィードバックは非常に好評で、できるだけ早く10.4.2をインストールすることを強くお勧めします。

今すぐ10.4.2を使い始めよう

すでに、10.4.2のトライアル版が利用可能になっており、今後製品を購入いただくと、10.4.2をダウンロードいただけるようになります。また、すでに製品をお持ちの方は、有効なアップデートサブスクリプションがあれば、既存のライセンスを使用してRAD Studio 10.4.2をご利用いただけます。10.4.2のダウンロードは、新しいカスタマーポータルサイト(my.embarcadero.com)から行えます。

詳細については、以下の情報をご確認ください。

エンバカデロでは、10.4.2において行った作業について大きな成果を上げることができたと考えており、皆さんがこの新しいリリースをご活用いただけるものと期待しています。

モバイルバージョンを終了