この記事は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]\Documents\Embarcadero\Studio\20.0\CatalogRepository\ParnassusCoreEditor-1.0

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

C:\Users[you]\AppData\Roaming\Parnassus OU\Common

それから、レジストリエディタを開き(注意:常にレジストリの編集には注意してください)、プラグインがこのDLLを探すフォルダの Path 設定をアップデートしてください。キーは HKEY_CURRENT_USER\Software\Parnassus OU\Core で、 Path は REG_SZ 型です。ここに DLL を配置したフォルダ名を引用符なしで設定します。
https://community.idera.com/resized-image/__size/640x480/__key/communityserver-blogs-components-weblogfiles/00-00-00-03-37/parnassus-core-editor-_2D00_-registry-path.PNG
レジストリの設定変更が完了したらIDEを再起動します。すべてのバージョンでプラグインが機能するはずです。しかし 10.3.1 にアップグレードすることを忘れないでください - この機能は現在は RAD Studio の一部なのです!