2

VisualStudio2008と統合された.NET用の別のコードカバレッジツールを作成しています。
1つを除いて、すべてがうまくいきます。いくつかのコードチャンクを強調表示する方法が見つかりません。

カバーされているブロックとカバーされていないブロックについてユーザーに通知するために必要です。
次のスクリーンショット(ネイティブVSコードカバレッジツールセットから)で必要な機能の例を見ることができます。

カバレッジの例

コードビューウィンドウのテキストを強調表示するコードスニペットを誰かに提供してもらえますか?
VS2008に関連する適切なMSDN記事へのリンクもありがたいです。

前もって感謝します。

4

2 に答える 2

2

私は答えを見つけました、以下のコードを見てください:

// retrieving IVsTextManager and highlight id
DTE2 applicationObject = ...; // get it during addin init
Microsoft.VisualStudio.OLE.Interop.IServiceProvider serviceProvider = (Microsoft.VisualStudio.OLE.Interop.IServiceProvider)applicationObject;
Guid SID = typeof(SVsTextManager).GUID;
Guid IID = typeof(IVsTextManager).GUID;
IntPtr output;
serviceProvider.QueryService(ref SID, ref IID, out output);
IVsTextManager textManager = (IVsTextManager)Marshal.GetObjectForIUnknown(output);
int highlightID;
Guid highlightGuid = ...; // your highlighted text style guid
textManager.GetRegisteredMarkerTypeID(ref highlightGuid, out highlightID);

// highlighting text block in the active view
IVsTextView view;
int result = textManager.GetActiveView(0, null, out view);
IVsTextLines buffer;
view.GetBuffer(out buffer);
buffer.CreateLineMarker(highlightID, startLine, startColumn, endLine, endColumn, null, null);

その他の例は、MetaScroll VisualStudioAddinにあります。

于 2009-12-29T05:55:29.583 に答える
0

別の例ですが、VS2010の場合:http://dotneteers.net/blogs/divedeeper/archive/2008/11/04/LearnVSXNowPart38.aspx

于 2010-09-19T06:55:48.487 に答える