Python Code Tree Structure Analyzer A VS Code extension that generates detailed tree structure analysis for Python code files, providing comprehensive insights into your code organization, debugging checkpoints, and potential risk areas. 🌟 Features 📦 Module Level Analysis: Imports, global variables, and metadata 🔧 Function Analysis: Parameters, body content, variable tracking 🏛️ Class Structure: Methods, properties, inheritance 🔄 Control Flow: Conditional statements, loops, exception handling 🚨 Risk Assessment: High, medium, and low risk operation identification 📊 Debug Checkpoints: Automatic detection of debugging points 🎯 Variable Tracking: Track variable assignments and modifications 📝 Comprehensive Documentation: Detailed tree structure output 🚀 Installation From VS Code Marketplace Open VS Code Go to Extensions (Ctrl+Shift+X) Search for "Python Code Tree Structure Analyzer" Click Install Manual Installation Download the .vsix file from releases Open VS Code Press Ctrl+Shift+P to open command palette Type "Extensions: Install from VSIX" Select the downloaded .vsix file Development Installation Clone this repository Open terminal in the project directory Run npm install Press F5 to open extension development host 📖 Usage Method 1: Command Palette Open a Python file Press Ctrl+Shift+P (or Cmd+Shift+P on Mac) Type "Analyze Python Code Tree Structure" Press Enter Method 2: Keyboard Shortcut Open a Python file Press Ctrl+Shift+T (or Cmd+Shift+T on Mac) Method 3: Context Menu Right-click on a Python file in Explorer Select "Generate Tree Structure" Method 4: Editor Context Menu Right-click in an open Python file Select "Analyze Python Code Tree Structure" 📊 Output Example The extension generates a detailed markdown file with structure like this: markdown DETAILED PYTHON CODE STRUCTURE TREE 📦 MODULE LEVEL ELEMENTS:🔧 Imports & Dependencies
📊 Global Variables
⚡ MAIN FUNCTIONS:🔧 my_function() (line 10) - Regular function
⚙️ Configuration Access settings via File > Preferences > Settings, then search for "Python Tree Structure": pythonTreeStructure.maxLines: Maximum lines to show in function body (default: 10) pythonTreeStructure.includePrivate: Include private methods/variables (default: true) pythonTreeStructure.showDebugCheckpoints: Show debug checkpoints (default: true) pythonTreeStructure.riskAnalysis: Enable risk analysis (default: true) 🔍 What Gets Analyzed 📦 Module Level Elements Imports: Standard library, third-party, relative imports Global Variables: Constants, mutable globals, private globals Metadata: Module docstrings, version, author, all 🔧 Function Analysis Function Types: Regular, async, generators, decorators, properties Parameters: Positional, default, *args, **kwargs, keyword-only Body Content: Variable assignments, control flow, function calls Variable Tracking: Assignment tracking with line numbers 🏛️ Class Structure Class Types: Base classes, inheritance, multiple inheritance Methods: Instance, class, static, magic methods, properties Variables: Class variables, instance variables Inheritance: Parent classes and method resolution 🔄 Control Flow Conditionals: if/elif/else statements, ternary operators, match/case Loops: for/while loops with else clauses, comprehensions Exception Handling: try/except/finally blocks, context managers 🚨 Risk Assessment 🚨 High Risk: File I/O, network operations, database operations ⚠️ Medium Risk: List operations, imports, lambda functions 📊 Debug Points: Print statements, logging, assertions, breakpoints 🎯 Debug Checkpoints The extension automatically identifies potential debugging points: High Risk Operations File I/O operations (open(), file methods) Network operations (requests.get(), etc.) Database operations (cursor.execute()) Dictionary/List access with potential KeyError/IndexError Medium Risk Operations List operations (.remove(), .pop()) Import operations Lambda functions Global/nonlocal declarations Debug Points Print debugging statements Logging calls Assert statements Debugger breakpoints (pdb.set_trace(), breakpoint()) 🐛 Troubleshooting Extension Not Working Ensure you have a Python file open Check that the file has .py extension Try reloading VS Code window (Ctrl+Shift+P > "Developer: Reload Window") Output Not Generated Check VS Code output panel for errors Ensure the Python file has valid syntax Try with a simpler Python file first Performance Issues For large files, consider reducing maxLines setting Disable risk analysis for faster processing Use on smaller code sections 🤝 Contributing Fork the repository Create a feature branch Make your changes Add tests if applicable Submit a pull request 📝 License MIT License - see LICENSE file for details 🔄 Changelog v1.0.0 Initial release Complete Python code structure analysis Risk assessment and debug checkpoint detection Variable tracking and control flow analysis Class and function detailed parsing 🙏 Acknowledgments Inspired by JavaScript code analysis tools Built for Python developers who need detailed code insights Thanks to the VS Code extension API documentation 📞 Support Create an issue on GitHub Check existing issues for solutions Provide sample code for bug reports Happy Coding! 🐍✨ |