2017-01-03 9 views
0

コードを解析し、各関数の循環複雑度スコアをユーザーに通知するMicrosoft Visual Studio拡張機能を作成しようとしています。私はIWpfTextViewを介して分析のためのコードにアクセスしていましたが、IWpfTextView.TextViewLinesには画面上に表示されるコード行しか含まれていないことに気づいています。私は循環性の複雑さを計算するために、可視コードだけでなくすべてのコードにアクセスできる必要があります。誰も私がどのようにコードにアクセスできるかを知っていますか?前もって感謝します!!Visual Studio Extensionからファイルのソースコードにアクセスする方法

答えて

1

オートメーションモデル(EnvDTE)のコードモデルを使用する場合は、EnvDTE.Project.CodeModelまたはEnvDTE.ProjectItem.FileCodeModelを使用します。参照:

HOWTO: Get an EnvDTE.DTE instance from a Visual Studio package.

HOWTO: Navigate the code elements of a file from a Visual Studio .NET macro or add-in.

各EnvDTE.CodeElementは、いくつかの関連ポイントを得るためにGetStartPoint/GetEndPoint方法があります。 EnvDTE.TextPointあなたは構文とセマンティックモデルがで公開されCompiler Platform (a.k.a. "Roslyn")を使用することができ、(TextPoint.CreateEditPoint経由)EnvDTE.EditPointを作成し、VS 2015と高く、Cの#/ VB.NETの場合EditPoint.GetText(...)

を呼び出すことができますを考えますコンパイラ

関連する問題