CodeMap (ex-PyMap)This is a source code and defect-tracking repository only. For all binaries please visit the product page at Visual Studio Marketplace. This extension is built for VS2022. You can download VS2019 version from the Releases page. The extension has been rebuilt for VS2022 thus it may or may not work on older versions of VS. For older (pre VS2017) releases please visit https://github.com/oleg-shilo/Retired-VSIX. OverviewCode Tree viewer for Python and C# (and Razor) source code. Historically, this extension was created to address the absence of the code tree/map view functionality for "Python Tools for Visual Studio" (PTVS). Thus some users can remember this tool by the name of PyMap. Starting from v2.0 it has been extended with the support for C# and has been renamed into CodeMap. The usage is straightforward and dead simple. Open any C#, .razor or Python file and PyMap will automatically build a code tree. This tree will be automatically updated when the active VS document is saved or another document tab is activated. Clicking the item in the code tree will navigate to the location of the code element in the document. How is it different to the other code structure visualization toolsWell, it is different. While there are some very solid tools of this sort available they are focusing on the different aspects of the user experience compared to CodeMap.
As a developer, when I want to jump to the code where a certain algorithm is implemented. I am interested in the location of the code in the file and I want to get there in a single step. I am not interested so many things that are important in general but irrelevant right now:
When I use code map to navigate to the code:
One may ask "Why then not just allow the extra flexibility in some of the existing products, instead of maintaining 'yet another one'?". This is where it becomes more complicated. I have contacted the owner of CodeMap and tried to contribute some of this flexibility to the excellent CodeMaid. I did it twice. But my PRs were not accepted. I am not complaining as a very OpenSource product author is absolutely entitled to have his/her own vision of the product evolution. Even if the proposed changes are not about changing the product but only about extra customization. Thus I have taken my older extension and improved it to meet my own and hopefully other people expectations. And of course, I am fully open to suggestions regarding the extension functionality. CodeMap - C#You can filter code tree content by the class or member name. You can control the inclusion of the members by their visibility (private/public) for methods, properties and fields. You can choose to sort members of the class. CodeMap - PythonYou can filter code tree content by the class member name. Tips
|