XAML Visual Studio 2010エディター用にIntelliSenseを拡張する

画像
入力時に予想されるコマンドのリストを取得するときに、PascalCaseの原則に従って、VS 2010コードエディターの新しいIntelliSense機能を評価しました。 残念ながら、XAMLエディターでは新しいおいしい機能を使用できません。 しかし、悲しみの理由はありません...
画像

画像

特徴

PascalCaseの概要


PascalCaseフィルタリングの原理により、必要な要素をすばやく見つけることができます。検索は大文字で行われ、少なくとも2つの大文字があれば検索を開始します。

以下の画像は、このフィルタリング方法の仕組みを示しています。

PascalLookupOne

xmlns PascalCaseを使用したアセンブリのインストールは、3つのカウントで実行されます。

PascalLookupTwo

リストフィルターを自動的に絞り込む


絞り込みフィルターがアクティブな場合、2つの追加機能が追加されます。
  • テキストを含む表示されるアイテムの絞り込みリスト。
  • リスト項目の優先選択
    • テキストで始まる最初の要素を強調表示します。
    • テキストを含む最初の出現を選択します。


http://img684.imageshack.us/img684/1791/narrowlist.png

リストを絞り込むときに、Grid.RowまたはGrid.RowSpanを見つけるのがどれほど簡単かを確認してください。

NarrowingEnabledTwo

タイプ別にリスト項目をフィルタリングする


実際、この項目は拡張機能を作成する際の主な原動力でした。 私は少し混乱していました。XAMLを入力したときに、2つのプロパティ、4つのイベント、75の名前空間で構成されるリストを取得しました。 問題は解決しました。

要素の標準リスト。名前空間の数に注意してください。

Namespaces

パネルのボタンを押すと、名前空間がリストから消えます:

NoNamespaces

他のボタンは同じ原理で機能します。 灰色の背景はアクティブな状態を示します。 白い背景は非アクティブ状態です。

xamlns IntelliSense


以下の画像は、xamls IntelliSenseが提供する2つのフィルターボタンを示しています。
  • アクティブな場合にのみプロジェクトアセンブリを表示します
  • アクティブな場合、回線のオカレンスを削除します

xmlnsOne

ビルドをすばやく取得する別の方法を以下に示します。 標準状態の2つのフィルターボタンとWCを入力して、プロジェクト内のアセンブリをすばやく見つけます。

xmlnsTwo

以下では、自動絞り込みリスト機能を使用して、「メディア」という単語を含むすべてのアセンブリを検索します。 検索には括弧内の値も含まれます。

xmlnsThree

拡張マネージャー


インストールされた拡張機能を表示するには、Visual Studio 2010メニューを使用します:ツール->拡張機能マネージャー:

ExtensionManager

ここから、拡張機能をオフにするか削除することができます

ExtensionManagerTwo

[ツール]-> [オプション]を使用して、拡張機能の設定を変更することもできます。

ToolsOptions

必要条件


Visual Studio 2010リリース候補以降。

おそらくVisual Studio 2010 Beta2で動作しますが、テストしていません。

ダウンロード


XAMLエディターIntelliSense Presenter Extension VSIXインストーラー(41KB)
XAMLエディターIntelliSenseプレゼンター拡張ソースコード(オプション)(39KB) (C#ソースコード)

ソースコード用


それでもソースコードをダウンロードし、場合によっては変更することにした場合。 VSIXを使用してインストールした場合は、 必ず拡張機能をアンインストールする必要があります。

さらに、独自の拡張機能を作成する場合は、新しいプロジェクトを開始する前に次のフォルダーが空であることを確認してください。 プロジェクトに競合がある場合、またはこのフォルダーに別のIntelliSense拡張機能がある場合、デバッグ中に競合が発生する可能性があります。

C:\ユーザー\ <ユーザー名> \ AppData \ローカル\ Microsoft \ VisualStudio \ 10.0Exp \ Extensions

どのように機能しますか?


この拡張機能を作成することで多くのことを学びました。 次の週では、この拡張機能のコードがどのように機能し、CodePlexの例とどのように異なるかを説明します。

そして最後


Visual Studio 2010を開始した後、提案された変更を行い、ブログとコードギャラリーで新しいバージョンを公開します。

XAMLエディター拡張機能をお楽しみください。

Source: https://habr.com/ru/post/J88661/


All Articles