CodeAtlas For Sublime Text

CodeAtlas is a plugin of SublimeText, which allows one to explore the call graph conveniently. The plugin uses the code analysis tool Understand (https://scitools.com) to perform symbol/reference query task.

Following (but not limited) languagues are supported: Python,C/C++,Java. 

Interface



Features

1.Find callers/callees of a function.
All key shortcuts below can be used in both Sublime Text and the visualization window.
Press Alt+G to show the function/variable/class under the cursor in CodeAtlas.
Press Alt+V to show callees of current function.
Press Alt+C to show callers of current function.
1_findCallerCallee.gif

Each function is represented as a green disc in the atlas. Size of the disc indicates lines of the function. The fan shape on the left of the disc indicates number of callers, and the one on the right indicates number of callees. In the figure below, there are much more callers of the function "isinstance" then that of "selectOneItem". The fan shape can warn you not to show too much callers/callees, which will totally change the figure.
The numbers on the gray lines indicate call order.


2. Find Members of a class.
Press Alt+M the find members of a class.
2_findMembers.gif
Each member variable is represented as a pink disc in the atlas.

Each class is represented as a blue disc. Also, Size of the disc indicates lines of the class.


3. Find references of a variable/function. 
Press Alt+U the find all references.
3_findRef.gif

4. Explore call graph.
Press Alt + ↑/↓/←/→ to explore through the graph.
You can select a nearby node(function/class/variable) or edge(function call/variable definition/function definitio) by pressing Alt + ↑/↓/←/→. The most likely node/edge will be selected and Sublime Editor will jump to corresponding code.

4_exploreCallgraph2.gif
5. Delete an unused function/class/variable
Press Alt+Delete to delete current selected function/class/variable.
5_delete.gif

6. Find all call paths between two nodes.
In the visualization window, using mouse middle button to drag function A to B, then all call paths from function A to B will be shown.
6_callpath.gif
7. Use mouse to select/drag/zoom in the visualization window directly.
7_select.gif


Setup

1. Install Understand (home page https://scitools.com)
2. Install Sublime Text (home page http://www.sublimetext.com/)
3. In Sublime Text, press Preferences->Browse Packages go to package folder.

4. Unzip and place the plugin in the package folder.

5. Replace Packages/CodeAtlas/CodeViewPy/understand.pyd with the one in the Understand folder(usually in SciTools/bin/pc-win32/python/understand.pyd)


6. Open Understand and create a database for your project.



7. After finish the new project wizard, a database file will be generated.


8. Close Understand and restart Sublime Text, then press "Start Atlas" in the context menu. Then the visualization window will be shown.


9. Press Open DB in the visualization window, then find the *.udb file generated before.


10. Now you can use the key shortcuts above to explore the code!





posted @ 2016-04-15 00:57  dydx  阅读(1088)  评论(0编辑  收藏  举报