I am trying to write a Microsoft Visual Studio extension that analyzes the code and notifies the user of each function's cyclomatic complexity score. I was accessing code for analysis through an IWpfTextView, however now I am noticing that IWpfTextView.TextViewLines only contains the lines of code that are visible on the screen. I need to be able to access the all the code and not just visible code in order to calculate cyclomatic complexity. Does anybody know how I could access all of the code? Thanks in advance!!
How to access source code of a file from a Visual Studio Extension
1.3k views Asked by ddresner8 At
1
There are 1 answers
Related Questions in VISUAL-STUDIO
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Dotnet Run is not working but the application is running in Visual Studio
- Is there a way to support Tailwind @apply in Visual Studio?
- How can I eliminate compile warnings using ZLib in Visual Studio
- C++(or Visual Studio) saving the file will not preserve the original file contents
- VS Community 2022 cannot install dotnet-ef when i try to publish
- Visual Studio 2022 convert spaces to tabs on checkout and back to spaces on checkin
- What should I do if Visual Studio has a restriction on creating files with a long name or a long path to these files?
- Command line error D8036 - not allowed with multiple source files with node-gyp and VS2022
- Migrate Old VS 2015 .suo file to the New VS 2022 DocumentLayout.json
- How to make one executable visual studio, that users can run?
- Use tabs instead of spaces in .csproj file in Visual Studio 2022
- Unity - scrollview/dragging breaks after specific scene inactivity
- How to make Visual Studio 2022 project launch Windows Terminal instead of PowerShell?
- Why is 'EDITBIN /STACK:2097152 w3wp.exe' cmd is giving me an LNK1342 error?
Related Questions in VSIX
- Is it possible to refresh filters instead of reloading project
- "Visual Studio stopped responding for 12 seconds,uninstalling extension might help" getting this message on installing VSIX and on opening the project
- How to Format xml based files (csproject) in vsix?
- How to add console when debugging VSIX project
- VSIX Show ContextMenu after Multi-File Selection in Two or More Projects
- In VSIX, reading Configuration Properties of CSPROJ throws COMException (method or operation not implemented)
- Reclassify text in span as different IClassifierProvider
- How to add a File in vstemplate in a back folder?
- How do you set the connection for the activewindow (EnvDTE.Window) in a VSIX extension?
- Error in displaying the Extension in SSMS created in Visual Studio (VSIX project) when right clicking any tables
- How to get the top/bottom line numbers of MSVC pane
- How to add file type validation , when trying to add existing item in solution explorer of visual studio experimental instance?
- How to display two custom tool windows in a same place as tabbed format
- How to suppress, VS detects EXE is not in synch with Custom File so give Stop Debugging error box during Edit& Continue
- How to dock a tool window when it open for the first time in vsix?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Using the code model of the automation model (EnvDTE) you would use EnvDTE.Project.CodeModel or EnvDTE.ProjectItem.FileCodeModel. See:
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.
Each EnvDTE.CodeElement has GetStartPoint / GetEndPoint methods to get several relevant points. Given an EnvDTE.TextPoint you can create an EnvDTE.EditPoint (via TextPoint.CreateEditPoint) and then call EditPoint.GetText(...)
For VS 2015 and higher and C#/VB.NET, you can use the Compiler Platform (a.k.a. "Roslyn") where the syntax and semantic models are exposed by the compiler