Visor:多语言代码到流程图的可视化VsCode插件


构建了这个简单的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++
快速入门
  1. 从VS Code Marketplace安装Visor扩展
  2. 打开任何Python、TypeScript、Java或C++文件
  3. 单击活动栏中的Visor图标(左侧边栏)
  4. 将光标放在函数内可查看流程图
  5. 观察底部面板和节点指示器中的复杂性指标