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

10.4.1の新機能: Delphi Code Insight (LSP)の改善

Delphi 10.4.1は品質に重点を置いたリリースであり、この改善はコード補完にも該当します。10.4.1では従来のコード補完の動作を模倣するだけでなく、多くの修正および調整をしました。

RAD Studio 10.4のリリース時にCode Insightを再設計しました。従来のCode Insightは引き続き設定として利用可能ですが、デフォルトでは、Delphiのコード補完と関連機能のために非同期でノンブロッキングな技術を使用するように変更されています。この新しいアルゴリズムによって従来のコード補完よりもパフォーマンスは向上し、コード入力中でもIDEが一時停止せず、デバッグ中にコード補完が使用可能となり、コード補完の結果の表示速度も大幅に改善されました。この機能の詳細は、こちらをご覧ください。

10.4.1では、新機能はそれほど多くはなく、品質向上に重点を置いたリリースとなっており、その内容の大部分は不具合の修正と動作の調整です。10.4.1でCode Insightも更なるブラッシュアップが行われており、新しい設定も追加されています。

このブログでは、Code Insightの新しいオプション設定、主要な修正、および非常に大規模なプロジェクトに関する特別な注意事項など、何点か知っておくべき内容について説明していきます。

新しいコード補完の設定

一致した文字の下線表示

10.4 の新しいコード補完では、入力した内容(フィルターされたテキスト)で始まるだけでなく、入力した内容を含む項目も一覧表示されるため、10.3よりも前の従来の補完よりも多くの結果が表示されます。 (10.4.1では、これらの追加項目を含めて制御するオプション設定があります。詳しくは次節を参照してください。)

入力することで補完リストを探索したり検索したりできるので便利です。ただ特定の結果がリストに含まれている理由がわかりにくい場合があるので、10.4.1では一致した文字に下線が引かれるように変更されました。

デフォルトの設定で 1041 でコード補完を実行すると一致するフィルタテキストに下線が引かれています

上図の例では、”ScaleFactor”には”act”が含まれているため、actの箇所に下線が引かれています。

IDEのツールオプションで”下線表示”の設定はオフにできます。新しいオプション設定については、次節を参照してください。

従来のコード補完の挙動の取得

デフォルトでは、10.4からの新しいコード補完は、古い従来のコード補完の動作と全く同じではなく、従来とは別のアルゴリズムを使用し、リスト内の最適なアイテムが自動選択し、より多くの補完結果を表示します。

10.4.1では、4つの設定が新しく追加され、これらの設定を組み合わせることで、従来のコード補完と全く同じ動作を設定できます。

4つの設定は、IDEのツールオプションの[ユーザーインターフェース] – [エディタ] – [ソース]ページの新しい[Insight Options]タブにあります。

4つの新しいコード補完設定

‘Filter text is underlined’のオプションは、上述した一致した文字に下線を引く新機能を制御します。

従来のコード補完を模倣するには、次のように設定を変更します。

主要な品質の修正

10.4.1の新機能のページには、Delphi LSP/ コード補完における多くの変更点が掲載されていますので、このリストを参照いただくことをお勧めします。特に今回注目すべき項目は、以下のとおりです。

大規模プロジェクトでの支援機能

次の修正が、大規模プロジェクトで特に顕著に効果が表れます。上記のメモリ使用とパフォーマンスにおける修正は、大規模プロジェクトにおいて特に顕著に表れます。

以下は、10.4.1に関するお客様からのコメントの引用です。

Congratulations to the LSP team!

I have now managed to open&run our flagship app on 10.4.1. And – magic! – code completion finally works in our IFDEF-ridden main unit. I think last time code completion worked there was somewhere around D5 times …

It takes about 15 sec to work for the first time (it probably feeds enormous amount of units to the LSP) but after that it is a pure bliss to use!

Thank you!

このお客様のアプリは300万行弱のコードで、Code InsightがDelphi 5以来、ようやく10.4.1で動作したというコメントです。

エンバカデロでは、新しいバージョンのリリースでDelphiとC++Builderの改善を続けています。10.4.1は、特に品質向上にフォーカスしたアップデートでした。

今後も新しいバージョンを出荷するたびに、IDEの改善と変更を続けます。

またCode Insightの修正だけでなく、800以上ものバグ修正が行われ、10.4.1がインストールする価値のあるバージョンになることを期待しています。

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