构建了这个简单的VSCode扩展名为Visor x,它使用Tree Sitter来构建流程图,以更好地理解您的代码。
Visor是一个强大的VS Code扩展,为您的代码提供跨多种编程语言的实时交互式流程图可视化。将复杂的代码逻辑转换为清晰的可视化流程图,帮助您更有效地理解、调试和记录代码。
核心特征:
- 单击节点时突出显示特定的代码行。
- 有几个主题,如monokai和catpuccin。
- 可以分离到一个单独的窗口,用于双显示器设置。
- 生成流程图的平均延迟约为12 ms。
- 提供函数的周期复杂度。
- 图形可以导出为PNG/SVG。
功能
实时流程图生成
- 在您浏览代码时自动生成函数的流程图
- 在编辑代码时实时更新(500 ms去抖动以获得最佳性能)
- 基于光标位置的智能功能检测
- Python:函数,递归函数,高阶函数(map,filter,reduce)
- TypeScript/JavaScript:函数、箭头函数、方法、类
- Java:方法,类,构造函数
- C/C++:函数和方法
- 双向导航:点击流程图节点跳转到代码,光标移动突出显示相应节点
- 智能突出显示:代码和流程图之间的实时同步
- 上下文感知:自动检测当前函数范围
- 外部窗口支持:在专用面板窗口中打开流程图,以进行多显示器设置
- 窗口状态管理:强大的事件处理功能确保跨窗口切换可靠地生成图形
- 语义节点类型:增强了进入/退出、决策、流程、循环、异常和分配之间的视觉区分
- 微妙的主题感知造型:专业的调色板,适应VS Code亮/暗主题,没有压倒性的视觉噪音
- 增强的排版:改进的字体粗细和大小,以提高文本可读性
- 智能边框模式:虚线边框用于决策,双边框用于进入/退出,虚线边框用于例外
- 交互增强功能:平滑的悬停效果和微妙的阴影,以获得更好的用户体验
- Mermaid.js Powered:具有增强语义样式的高质量主题感知图
- 平移缩放:使用平滑控件导航复杂的流程图
- VS代码主题集成:自动适应浅/深主题,带有微妙的强调色
- 双视图选项:选择边栏集成或专用外部窗口
- 将流程图导出为SVG(矢量图形)或PNG(光栅图像)
- 高品质的出口与适当的背景和造型
- 非常适合文档和演示
- Tree-Sitter Parsing:健壮的、语法感知的代码分析
- 控制流分析:准确表示循环、条件和分支
- 圈复杂度分析:具有可视化指标的实时复杂度度量
- 高阶函数:对函数式编程模式的特殊支持
- 性能优化:通过对象池和缓存实现高效解析
- 函数级复杂度:通过详细描述显示整体函数复杂度
- 节点级指示器:流程图节点上的视觉复杂性指示器(Visual Complexity Indicators,简称复杂度指示器)️
- 可配置的复杂度:可定制的复杂度评级(低/中/高/非常高)
- 切换显示:显示/隐藏复杂性信息的“隐藏”按钮
- 智能分析:遵循McCabe的圈复杂度计算
- 多语言支持:适用于Python、TypeScript、Java和C++
- 从VS Code Marketplace安装Visor扩展
- 打开任何Python、TypeScript、Java或C++文件
- 单击活动栏中的Visor图标(左侧边栏)
- 将光标放在函数内可查看流程图
- 观察底部面板和节点指示器中的复杂性指标