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

トラブルシューティング:10.3 Rioおよびそれ以前のバージョンへのBookmarksとNavigatorのインストール

この記事はDavid MillingtonによるTroubleshooting: Installing Bookmarks and Navigator in 10.3 Rio as well as earlier versionsの抄訳です。

BookmarksNavigator は、RAD Studio 10.3.1で利用できる優れたコーディング生産性向上ツールで、GetIt よりインストールできます。それらは最近買収したツールですが、以前はサードパーティより提供されるアドオンコンポーネントだったことにお気づきかもしれません。今回、Bookmarks と Navigator はRAD Studio 10.3.1の一部となり、IDEの旧バージョン向けインストーラは今後提供されません。

なお、以前より Bookmarks や Navigator を使用していた場合は、GetItを使ったインストールの結果、IDEの以前のバージョンで読み込まれた同じプラグインを阻害することがあります。

たとえば、以前のバージョンでBookmarksを使用していた開発者が、その古いバージョンのIDEと10.3.1 Rioを併用したいケースでは、10.3.1にそれらをインストールすると影響が出る可能性があります。以前のバージョンのIDE内でプラグインが読み込まれると、おそらく「Core Editor」の参照がエラーとなります。

「Core Editor」とは何でしょうか?

BookmarksとNavigatorは、ほとんどのIDE統合を管理する共有ライブラリを使用しています。これはParnassus Core Editorとして知られています。 もともと、これは開いているタブを追跡し、コードエディタを描画するためのインタフェースと機能を提供していました。

ToolsAPIは非常に低レベルの描画をサポートしており、プラグインをインストールすることで、はるかに高いレベルの機能が提供されます。これにより、折り畳まれた行に関する情報、スクロールした量、左マージンなど、描画するものすべてに対して、まるでそのコードがIDEに最初から含まれていたかのように振る舞います。

それ以来、他にも多くの便利な、ToolsAPIのような機能を提供するようになり、今後はこれらをToolsAPI自体に統合する予定です。

プラグインは、レジストリで指定されている特定のフォルダでDLLを検索します – そしてこれが問題の原因になります。GetItによるインストールは、以前のバージョンとは異なる場所にインストールされ、これによりパスは Rio では正しい状態に更新されるものの、IDEの古いバージョンに対しては正しくない状態となります。

IDEの新旧バージョンでプラグインを使用するために設定を調整する

この設定は非常に簡単です。古いIDEで使用されていたのと同じフォルダにRioバージョンのDLLを移動し、このフォルダを指すようにレジストリキーを編集します。

そうすれば、すべてのIDEがそれぞれのバージョンのDLLを見つけることができます。
Rio の DLL は次のフォルダにあります。

C:Users[you]DocumentsEmbarcaderoStudio20.0CatalogRepositoryParnassusCoreEditor-1.0

このフォルダのファイル ParnassusCoreEditor.dll をコピーし、ParnassusCoreEditor_XRio.dll という名前に変更します。_XRio’接尾辞は重要な情報であり、それがどのバージョンに適用されるかを示しています。これを次の場所に配置します。

C:Users[you]AppDataRoamingParnassus OUCommon

それから、レジストリエディタを開き(注意:常にレジストリの編集には注意してください)、プラグインがこのDLLを探すフォルダの Path 設定をアップデートしてください。キーは HKEY_CURRENT_USERSoftwareParnassus OUCore で、 Path は REG_SZ 型です。ここに DLL を配置したフォルダ名を引用符なしで設定します。

レジストリの設定変更が完了したらIDEを再起動します。すべてのバージョンでプラグインが機能するはずです。しかし 10.3.1 にアップグレードすることを忘れないでください – この機能は現在は RAD Studio の一部なのです!

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