|
| 1 | +# Code Visualizer 🖥️🔍 |
| 2 | + |
| 3 | +## Introduction 👨🏫 |
| 4 | + |
| 5 | +Thanks for checking out Code Visualizer! 🎉 This extension helps developers visualize their code by generating flowcharts that represent the call hierarchy of functions and methods in your codebase. It transforms the often complex structure of code into an easy-to-understand visual format, making it simpler to navigate large projects. 🗺️ |
| 6 | + |
| 7 | +## Features 🌟 |
| 8 | +- **Flowchart Generation:** 📊 Right-click on any function or method, and select 'Generate Flowchart' to create a visual representation of its call hierarchy. |
| 9 | +- **Interactive Visuals:** 🖱️ Zoom in, zoom out, and interact with the flowchart to explore different parts of your code. |
| 10 | +- **Customizable Views:** 🎨 Tailor the flowchart to focus on specific function calls, and adjust the layout for better readability. |
| 11 | +- **Multi-Language Support:** 🌐 Currently supports C, C++, Python. |
| 12 | + * At least that's the goal of the project. Contributions are welcome! 🤝 |
| 13 | + |
| 14 | +## How It Works 🛠️ |
| 15 | + |
| 16 | +1. Select a function in your code ✅ |
| 17 | +2. Run the "Visualize" command 🏃♂️ |
| 18 | +3. Watch as CodeFlow creates an interactive diagram of function calls 🎭 |
| 19 | +4. Click on nodes to explore deeper into the call hierarchy 🕵️♂️ |
| 20 | + |
| 21 | +CodeFlow uses VS Code's built-in call hierarchy API, making it language-agnostic and powerful across various programming languages. 💪 |
| 22 | + |
| 23 | +## Features 🚀 |
| 24 | + |
| 25 | +- **Interactive node-based diagrams** 🕸️ |
| 26 | +- **Direct navigation to function definitions** 🔗 |
| 27 | +- **Multiple connection visualization for repeated function calls** 🔄 |
| 28 | + |
| 29 | +## How to Contribute 🤝 |
| 30 | + |
| 31 | +We're excited to welcome contributors to the CodeFlow project! Here's how you can get involved: |
| 32 | + |
| 33 | +1. Fork the repository 🍴 |
| 34 | +2. Clone your fork: `https://github.com/Ganjai-Labs/code-visualizer.git` 📥 |
| 35 | +3. Create a new branch: `git checkout -b your-feature-name` 🌿 |
| 36 | +4. Make your changes ✏️ |
| 37 | +5. Run tests: `npm test` 🧪 |
| 38 | +6. Commit your changes: `git commit -m "Add some feature"` 💾 |
| 39 | +7. Push to the branch: `git push origin your-feature-name` 🚀 |
| 40 | +8. Submit a pull request 🙏 |
| 41 | + |
| 42 | +Before contributing, please read our [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md). 📚 |
| 43 | + |
| 44 | +## Features to be Implemented 🔮 |
| 45 | + |
| 46 | +We're always looking to improve CodeFlow. Here are some features we'd love to see: |
| 47 | + |
| 48 | +1. Detect cycles in the generated diagrams, and highlight them in red 🔴 |
| 49 | +2. Conditional highlighting of nodes based on certain conditions 🎨 |
| 50 | +3. Export diagrams as images or SVGs 📸 |
| 51 | +4. Integration with version control to show changes in call hierarchy over time 🕰️ |
| 52 | +5. Performance optimizations for large codebases ⚡ |
| 53 | +6. Enhanced filtering options for complex diagrams 🔍 |
| 54 | + |
| 55 | +Feel free to tackle any of these or propose your own ideas! 💡 |
| 56 | + |
| 57 | +## Get Started 🚀 |
| 58 | + |
| 59 | +Ready to dive in? Install CodeFlow from the VS Code Marketplace and start visualizing your code today! 🎊 |
| 60 | + |
| 61 | +Join us in making code comprehension a joyful experience. Happy coding! 😊👨💻👩💻 |
| 62 | + |
0 commit comments