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

CodeAtlas For Sublime Text

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.
CodeAtlas For Sublime Text

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.
CodeAtlas For Sublime Text

2. Find Members of a class.
Press Alt+M the find members of a class.
CodeAtlas For Sublime Text
Each member variable is represented as a pink disc in the atlas.
CodeAtlas For Sublime Text
Each class is represented as a blue disc. Also, Size of the disc indicates lines of the class.
CodeAtlas For Sublime Text

3. Find references of a variable/function. 
Press Alt+U the find all references.
CodeAtlas For Sublime Text

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.

CodeAtlas For Sublime Text
5. Delete an unused function/class/variable
Press Alt+Delete to delete current selected function/class/variable.
CodeAtlas For Sublime Text

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.
CodeAtlas For Sublime Text
7. Use mouse to select/drag/zoom in the visualization window directly.
CodeAtlas For Sublime Text


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.
CodeAtlas For Sublime Text
4. Unzip and place the plugin in the package folder.
CodeAtlas For Sublime Text
5. Replace Packages/CodeAtlas/CodeViewPy/understand.pyd with the one in the Understand folder(usually in SciTools/bin/pc-win32/python/understand.pyd)
CodeAtlas For Sublime Text

6. Open Understand and create a database for your project.
CodeAtlas For Sublime Text
CodeAtlas For Sublime Text

7. After finish the new project wizard, a database file will be generated.
CodeAtlas For Sublime Text

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

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

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

上一篇:js中session操作


下一篇:(Java多线程系列二)线程间同步