1

VSPackage のロジックに従って、エディターで行全体をマークしたいと思います。
そこで、 を設定してエクスポートIClassifierProviderEditorFormatDefinition、関連する行をマークすることに成功しました。BackgroundColorClassificationFormatDefinition

ただし、問題は、行が「完全に」マークされているわけではなく、テキストと空白のみがマークされていることです。行の先頭にタブがある場合、マークはそれらの間で「断続的」です。また、マークは行末にまたがりません。

テキスト行の長さに関係なく、マーカーをエディター ウィンドウの左端から開始し、エディター ウィンドウの右端まで延長することをお勧めします。

おそらく、分類形式はここでは最善の解決策ではありません。しかし、代替手段は何ですか?
(単純なものを好みます。ウィンドウ ハンドルを取得して、自分でマーカーを描画できると思います...)

4

1 に答える 1

2

「Editor Text Adornment」プロジェクト テンプレートから始めます。そのプロジェクトは、ドキュメント内のすべての「a」を強調しています。GetMarkerGeometry例にある呼び出しの結果から、行の上部と下部を簡単に取得できると思います。次に、テキスト ビューの幅全体にまたがる要素を作成できます ( _view.ViewportWidth)。

編集: これは Visual Studio 2012 にあることに注意してください。プロジェクト テンプレートが 2010 SDK に存在するかどうかはわかりません。

于 2013-01-31T16:35:17.057 に答える