aMonteSl/CodeXR

GitHub: aMonteSl/CodeXR

CodeXR 是一款基于 XR 技术的 VS Code 扩展,将代码复杂度、行数等分析指标转化为可在 VR/AR 环境中实时交互的三维可视化。

Stars: 4 | Forks: 0

# Code-XR — 扩展现实中的代码可视化 (v1.1.0) 一款革命性的 Visual Studio Code 扩展,能将您的代码分析转化为沉浸式的 XR 可视化。在传统的 VS Code 面板和由 BabiaXR 与 A-Frame 驱动的令人惊叹的 XR/VR 环境中,体验您的代码指标(复杂度、代码行数、参数)。通过全面的文件分析、目录扫描和交互式 DOM 可视化,深入探索您的代码库。 **通过步入可实时更新的代码结构 XR 呈现,获得对您代码库前所未有的深刻洞察。** [![License: GPLv3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/aMonteSl.code-xr)](https://marketplace.visualstudio.com/items?itemName=aMonteSl.code-xr) [![Active Installations](https://img.shields.io/visual-studio-marketplace/i/aMonteSl.code-xr?label=Total%20Downloads)](https://marketplace.visualstudio.com/items?itemName=aMonteSl.code-xr) [![Visual Studio Marketplace Rating](https://img.shields.io/visual-studio-marketplace/r/aMonteSl.code-xr)](https://marketplace.visualstudio.com/items?itemName=aMonteSl.code-xr) [![A-Frame Version](https://img.shields.io/badge/A--Frame-1.7.1-brightgreen)](https://aframe.io/) [![WebXR](https://img.shields.io/badge/WebXR-Compatible-blue)](https://webxr.org/) [![BabiaXR](https://img.shields.io/badge/BabiaXR-Powered-purple)](https://babiaxr.gitlab.io/) [![Platform](https://img.shields.io/badge/Platform-VS%20Code-blue)](https://code.visualstudio.com/) [![HTTPS](https://img.shields.io/badge/HTTPS-Supported-green)](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) [![Node.js](https://img.shields.io/badge/Node.js-16%2B-green)](https://nodejs.org/) [![Python](https://img.shields.io/badge/Python-3.7%2B-blue)](https://www.python.org/) [![Documentation](https://img.shields.io/badge/Docs-Official%20Website-blue)](https://amontesl.github.io/code-xr-docs/) [![Support](https://img.shields.io/badge/Support-Buy%20Me%20a%20Coffee-FFDD00?logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/adrianadyrx) ## 官方文档 **访问我们全面的文档网站:[https://amontesl.github.io/code-xr-docs/](https://amontesl.github.io/code-xr-docs/)** 我们的官方文档包括: - **完整的安装指南** - 逐步安装说明 - **交互式教程** - 实践学习体验 - **API 参考** - 详细的开发技术文档 - **视频指南** - 核心功能的可视化演示 - **故障排除** - 常见问题的解决方案 - **高级配置** - 自定义选项和设置 *您也可以直接通过 VS Code 中的 CodeXR 树状视图 → “了解更多”部分访问文档。* ## v1.1.0 的新特性 - **统一的分析引擎**:XR、LivePanel 和 DOM 现在共享相同的现代化分析引导程序和 payload 契约。 - **更丰富的真实指标**:文件和目录分析公开了更正后的比率、嵌套、参数、复杂度区间和聚合指标。 - **稳定的 DOM XR 可视化**:HTML DOM 分析现在会向 BabiaXR 提供 `babia-html` 所需的完整字符串化 HTML 契约。 - **XR/DOM 共享虚拟屏幕**:沉浸式场景现在包含协作虚拟屏幕以及一个控制面板,用于在已连接的客户端之间创建、调取和移除共享屏幕。 - **实时共享屏幕广播**:共享屏幕可以投射屏幕、窗口或浏览器标签页,并在已连接的设备之间同步布局更新和实时播放视频/音频。 - **XR 图表底座/表格自动缩放**:XR 图表现在安装在共享的表格/底座上,该底座会使图表重新居中,并在稳定的可视区间内按 `X`、`Y` 和 `Z` 轴重新缩放。 - **带有恢复功能的场景内 Mapping UI**:XR 场景现在在图表旁边公开了一个 Mapping UI,允许用户实时重新映射维度,检测无效的 BabiaXR 重建,恢复上次有效的映射,并在当前会话中禁用失败选项。 - **实时协作 XR/DOM 会话**:已连接的用户现在可以在同一个实时会话中看到共享的映射更改、共享的图表更新、共享的屏幕交互,以及带有服务器分配显示名称的远程存在标记。 ## 版本对比/改进 v1.0.0 -> v1.1.0 探索 CodeXR v1.1.0 中引入的主要视觉和功能改进。 ### 视觉场景增强 从一个简单的 A-Frame 场景,变成了一个带有自定义组件和纹理的完整沉浸式房间。 | v1.0.0 | v1.1.0 | |:---:|:---:| | ![v1.0.0 场景](https://static.pigsec.cn/wp-content/uploads/repos/cas/55/5581c5c5489173f59a4cfe6440b1172d2e6a6782a82513c9d00c4bcfcc9f33c8.png) | ![v1.1.0 场景](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/ba10e5ecd5c169d780a3ea840a61b1f57a67b354e095a5b3e668355254e1d108.png) | | *简单的 A-Frame 场景* | *带有自定义资产和纹理的沉浸式房间* | ### 分析速度与性能 对于相同的分析工作流,执行时间从 **54 秒**缩短至 **3 秒**。 这意味着**执行速度提高了 18 倍**,分析时间**减少了 94.44%**。 | v1.0.0 | v1.1.0 | |:---:|:---:| | ![v1.0.0 速度](https://raw.githubusercontent.com/aMonteSl/CodeXR/master/resources/comparison/performance-v1.0.0.gif) | ![v1.1.0 速度](https://static.pigsec.cn/wp-content/uploads/repos/cas/e8/e84861e0c1b6aa9bfd73f53d6388e51b4d2cf982ce1cdc33dbd76a39e95ad0d5.gif) | | *相同分析耗时 54 秒* | *优化后的 pipeline 耗时 3 秒* | ### 新的虚拟屏幕组件与控制器 从任何已连接的设备投射任何屏幕、标签页或窗口,并在 XR 环境中实时广播它,包括视频和音频。
![虚拟屏幕和控制器](https://static.pigsec.cn/wp-content/uploads/repos/cas/d8/d878cef0c293c0ca43ef6afe8112c4252901fd975c34384f9c67cbe07d5cb326.png)
### 新的底座/表格布局组件与 Mapping UI 包含一个可以重新缩放图表以保持稳定近似大小的底座,以及一个无需重新运行分析即可实时更改所表示数据的 Mapping UI。
![底座和 Mapping UI](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/8099bceb77b9b9a8b6ef4f8fd3f9dd955be1e953a278df3409545d179221d654.png)
### 交互式协作工作区 协作服务器是交互式的:用户会被识别并被分配随机名称,每一次交互都会被同步,以便所有参与者都能实时看到它(移动屏幕、投射内容、更改图表值等)。
![协作工作区](https://static.pigsec.cn/wp-content/uploads/repos/cas/0c/0cad9ed196ab3e4f654e048741216682bf7cc60846e0150e17ba79de152546a5.png)
## 视觉演示 ### 实时示例 — 查看 CodeXR 实际操作 通过这些真实的演示体验 CodeXR 强大的分析能力: #### 项目分析示例
| **BabiaXR 项目分析** | **Express.js 项目分析** | |:---:|:---:| | ![BabiaXR 分析](https://raw.githubusercontent.com/aMonteSl/CodeXR/master/resources/gifts/analysis_babiaXR.gif) | ![Express 分析](https://raw.githubusercontent.com/aMonteSl/CodeXR/master/resources/gifts/analysis_express.gif) | | *BabiaXR 项目的目录分析(77 个文件)* | *Express.js 项目的目录分析(142 个文件)* | | **JetUML 项目分析** | **单文件分析** | |:---:|:---:| | ![JetUML 分析](https://raw.githubusercontent.com/aMonteSl/CodeXR/master/resources/gifts/analysis_jetuml.gif) | ![文件分析](https://raw.githubusercontent.com/aMonteSl/CodeXR/master/resources/gifts/analysis_file.gif) | | *JetUML 项目的目录分析(338 个文件)* | *简单的文件分析演示* |
### 视频教程 — 完整的学习体验 帮助您掌握 CodeXR 各个方面的综合视频指南。 #### 最新更新
**最新的 XR 分析工作流**
新的文件 XR 分析工作流

探索用于单文件分析的更新版 XR 工作流。
新的目录/项目 XR 分析工作流

发现用于目录和项目分析的全新 XR 工作流。
#### 核心界面与功能
**完整的 UI 教程 - 掌握整个 CodeXR 界面和工作流**
#### 文件分析工作流
**文件分析 - LivePanel 模式与 XR 模式**
LivePanel 模式

使用 LivePanel 分析文件(右键和 UI 方法)
XR 模式

在扩展现实中进行沉浸式 3D 文件分析
**DOM 可视化 - 交互式 HTML 结构分析**
#### 目录与项目分析
**目录分析 - LivePanel 与 XR 模式**
LivePanel 模式

带有详细指标的综合目录分析
XR 模式

在沉浸式环境中进行 3D 目录可视化
**项目分析 - 包含 LivePanel 和 XR 两种模式**
#### 高级 AR/VR 体验
**AR 编程体验 - 现实世界中的增强现实编码**
*这些视频教程提供了所有 CodeXR 功能(包括 AR 体验)的实践演示。* ## 快速入门指南 ### 30 秒快速上手 #### 方法一:通过资源管理器(右键点击) 1. 在 VS Code 资源管理器中**右键点击任何文件** 2. 选择您的分析模式: - **"CodeXR: Analyze File (LivePanel)"** - 详细指标面板 **"CodeXR: Analyze File (XR)"** - 沉浸式 3D 可视化 - **"CodeXR: Visualize DOM"** - HTML 结构分析(仅限 HTML 文件) #### 方法二:通过树状视图 1. 在 VS Code 侧边栏打开 **CodeXR 树状视图** 2. 展开 **"Project Structure"** 部分 3. **点击任何文件**进行分析(遵循您的配置首选项) 4. HTML 文件会自动打开 DOM 可视化 5. 其他文件使用您的首选模式(LivePanel 或 XR) #### 方法三:通过命令面板 1. 按下 **Ctrl+Shift+P** (Windows/Linux) 或 **Cmd+Shift+P** (macOS) 2. 输入 **"CodeXR"** 查看所有可用命令 3. 选择您首选的分析模式 #### 目录分析 1. 在资源管理器中**右键点击任何文件夹** 2. 选择您的分析模式: - **"CodeXR: Analyze Directory (LivePanel)"** - 标准目录分析 - **"CodeXR: Analyze Directory (XR)"** - 3D 目录可视化 - **"CodeXR: Analyze Directory (LivePanel Deep)"** - 递归子目录分析 - **"CodeXR: Analyze Directory (XR Deep)"** - 包含子目录的递归 3D 分析 ## 了解您的结果 ### LivePanel 分析功能 - **函数列表**:包含复杂度、代码行数和参数数量的可排序表格 - **复杂度分布**:显示代码库中复杂度模式的视觉图表 - **圈复杂度密度**:每个函数的高级复杂度指标 - **深入详情**:点击任何函数进行详细分析和代码导航 - **聚合指标**:目录和项目级别的摘要 - **导出功能**:保存分析结果用于文档和报告 ### XR 可视化功能 - **3D 图表**:在沉浸式 3D 空间中显示函数指标的条形图、圆柱图、气泡图 - **交互式导航**:鼠标/键盘控制以及 A-Frame/WebXR 控制器的 runtime 绑定;物理头显验证仍在 v1.1.0 的待办列表中 - **实时更新**:代码的更改会立即反映在可视化中 - **可自定义映射**:选择将哪些指标映射到 X、Y、Z 维度和颜色 - **空间理解**:在 3D 空间中可视化代码复杂度关系 - **多文件可视化**:在 XR 中查看整个目录和项目 ### DOM 可视化功能 - **交互式树**:点击展开/折叠 DOM 元素 - **元素详情**:查看属性、内容和层级信息 - **视觉层级**:树状结构中清晰的父子关系 - **实时更新**:在编辑 HTML 文件时查看 DOM 变化 ## 分析模式概述 Code-XR 提供了强大的分析模式,每种模式都针对不同的文件类型和使用场景进行了优化。**所有分析模式均支持 24 种代码语言以及 HTML DOM 可视化**,具备全面的文件、目录和项目分析能力。 ### LivePanel 分析模式(原静态分析) **最适用于:**详细指标审查、报告生成和全面的代码分析 **功能特点:** - 全面的函数级分析和准确的指标 - 增强的复杂度分布图表和改进的布局 - 圈复杂度密度计算和复杂度指标 - 用于详细函数分析的交互式下钻面板 - 在您编辑代码、目录和项目时实时更新 - 用于报告和文档的导出功能 - 支持标准模式和深度分析模式 ### XR 分析模式 **最适用于:**在 VR/AR 环境中进行沉浸式代码探索 **功能特点:** - 包含条形图、圆柱图、气泡图和船图的沉浸式 3D 可视化 - 在您编辑代码、目录和项目时实时更新,无需退出 VR/AR 模式 - 鼠标及 A-Frame/WebXR 控制器的 runtime 绑定,在 v1.1.0 中尚待在物理 VR 头显硬件上进行验证 - 多维度指标映射(复杂度、LOC、参数、文件大小) - 可定制的环境和调色板,以获得最佳观看体验 - 代码复杂度和结构的空间表示 - 支持标准模式和深度分析模式 ### DOM 可视化模式 **最适用于:**HTML 结构分析和 Web 开发 **功能特点:** - 带有点击展开功能的交互式 DOM 树探索 - 具有清晰父子关系的元素层级可视化 - 实时 DOM 结构分析和属性检查 - 处理 HTML 文件时自动从任何分析命令路由至此 - 包含属性、内容和定位的元素详情 ## 综合分析能力 ### 常见分析功能(所有类型) **适用于文件、目录和项目的通用能力:** - **24 种代码语言 + HTML DOM**:全面支持 JavaScript、TypeScript、Python、C/C++、C#、Java、Ruby、Go、PHP、Swift、Kotlin、Scala、Lua、Erlang、Zig、Perl、Solidity、TTCN-3、Objective-C、Fortran、GDScript、Vue,以及 HTML DOM 可视化 - **圈复杂度**:使用 Lizard 集成进行行业标准的复杂度计算 - **代码行数指标**:总行数、代码行数、注释行数和空行数,支持基于语言的感知解析 - **函数分析**:函数计数、参数分析、每个函数的复杂度以及圈复杂度密度 - **类检测**:面向对象的结构分析,包括继承、接口和嵌套类 - **注释分析**:针对特定语言的注释检测(单行、多行、文档) - **实时更新**:内容更改时自动重新分析(适用于所有分析模式:LivePanel、XR、DOM) - **多种可视化模式**:在 LivePanel(详细面板)、XR(沉浸式 3D)或 DOM(HTML 结构)之间进行选择 ### 文件分析细节 **单个文件的深入分析:** - **单文件焦点**:集中分析一个文件,提供逐个函数的详细分解 - **函数级指标**:单个函数的复杂度、参数和代码行数 - **代码导航**:从分析结果直接导航到特定的函数和类 - **即时分析**:立即获得结果,以便快速评估代码质量 - **导出单个报告**:保存特定文件的详细报告 ### 目录分析细节 完整的目录分析实现 - **批处理**:分析整个目录,并提供进度跟踪和状态更新 - **递归扫描**:用于全面遍历子目录的深度分析模式(可配置深度) - **层级指标**:跨目录结构的聚合复杂度和 LOC 指标 - **智能文件检测**:通过扩展名自动识别并过滤可分析的文件 - **目录级报告**:显示目录复杂度分布的综合指标 - **子目录比较**:比较不同子目录之间的复杂度 - **大型目录优化**:高效处理包含数百个文件的目录 - **选择性分析**:可选择排除某些子目录或文件模式 ### 项目分析细节 **工作区级别的全面分析:** - **工作区级扫描**:分析整个 VS Code 工作区,包括所有文件夹和子项目 - **跨语言指标**:跨不同编程语言的组合复杂度指标 - **项目架构洞察**:了解整体项目复杂度分布和热点 - **语言分布分析**:查看项目中每种编程语言所占的百分比 - **项目级聚合**:整个项目的总代码行数、函数、类和复杂度 - **综合报告**:覆盖整个项目结构和复杂度的详细分析报告 - **大型项目优化**:经过优化,能够分析包含数千个文件的项目 ## 支持的语言 Code-XR 通过其统一的分析引擎,为 24 种代码语言以及 HTML DOM 可视化提供全面的分析支持: ### 完整的语言支持矩阵 | 语言 | 扩展名 | 分析类型 | 注释检测 | 类检测 | |----------|------------|----------------|-------------------|-----------------| | **JavaScript** | .js, .mjs, .cjs | LivePanel, XR | C 风格 (//, /* */) | ES6 Classes | | **TypeScript** | .ts, .tsx | LivePanel, XR | C 风格 (//, /* */) | Classes & Interfaces | | **Python** | .py, .pyw, .pyi | LivePanel, XR | Hash (#) + Docstrings | Classes & Methods | | **C/C++** | .c, .cpp, .cc, .cxx, .h, .hpp, .hxx | LivePanel, XR | C 风格 (//, /* */) | Classes & Structs | | **C#** | .cs | LivePanel, XR | C 风格 (//, /* */) | Classes & Namespaces | | **Java** | .java | LivePanel, XR | C 风格 (//, /* */) | Classes & Interfaces | | **Ruby** | .rb, .rbw | LivePanel, XR | Hash (#) + Block (=begin/=end) | Classes & Modules | | **Go** | .go | LivePanel, XR | C 风格 (//, /* */) | Structs & Interfaces | | **PHP** | .php, .phtml, .php3, .php4, .php5 | LivePanel, XR | C 风格 + Hash (//, #, /* */) | Classes & Traits | | **Swift** | .swift | LivePanel, XR | C 风格 (//, /* */) | Classes & Structs | | **Kotlin** | .kt, .kts | LivePanel, XR | C 风格 (//, /* */) | Classes & Objects | | **Scala** | .scala, .sc | LivePanel, XR | C 风格 (//, /* */) | Classes & Objects | | **Lua** | .lua | LivePanel, XR | 双连字符 (--) | Table-based OOP | | **Erlang** | .erl, .hrl | LivePanel, XR | 百分号 (%) | Modules | | **Zig** | .zig | LivePanel, XR | C 风格 (//) | Structs | | **Perl** | .pl, .pm | LivePanel, XR | Hash (#) | Packages | | **Solidity** | .sol | LivePanel, XR | C 风格 (//, /* */) | Contracts | | **TTCN-3** | .ttcn, .ttcn3 | LivePanel, XR | C 风格 (//, /* */) | Modules | | **Objective-C** | .m, .mm | LivePanel, XR | C 风格 (//, /* */) | Classes & Categories | | **Fortran** | .f90, .f95, .f03, .f08, .f | LivePanel, XR | 感叹号 (!) | Modules & Types | | **GDScript** | .gd | LivePanel, XR | Hash (#) | Classes | | **Vue.js** | .vue | LivePanel, XR | HTML () | Component Analysis | | **HTML** | .html, .htm, .xhtml | DOM 可视化 | HTML 注释 | 元素结构 | ### 各语言的分析能力 **所有语言均支持:** - 代码行数 (LOC) 统计及精确解析 - 使用行业标准算法进行圈复杂度分析 - 函数参数计数与分析 - 基于特定语言规则的准确注释检测 - 结合智能文件监控的实时分析 - 支持批处理的多文件分析 **高级功能:** - **注释分析**:针对单行、多行和文档注释的语言感知解析 - **类检测**:面向对象的结构分析,包括继承和嵌套类 - **函数指标**:参数计数、复杂度评分和密度计算 - **文件组织**:在树状视图中按语言进行智能排序和过滤 ## VR/AR 导航控制 ### VR 控制器 - **左摇杆**:在 3D 空间中向前/向后/向左/向右移动 - **右摇杆**:平滑旋转视角,实现舒适的导航 - **手部追踪**:自然的基于手势的交互(支持的设备) - **控制器 Runtime 钩子**:该扩展包含通过 A-Frame/WebXR 组件实现的控制器射线和摇杆绑定,但在 v1.1.0 中尚未在物理头显/控制器硬件上进行验证 ### 桌面控制 - **鼠标**:点击并拖动以围绕代码可视化旋转视角 - **WASD 键**:像第一人称游戏一样在 3D 空间中导航 - **滚轮**:放大和缩小,以获得详细或概览的视角 - **方向键**:用于微调移动的替代导航方式 ## 管理活动分析 树状视图中的 **"Active Analyses"** 部分提供了全面的会话管理: - **查看状态**:查看当前正在分析哪些文件、目录或项目 - **防止重复**:自动防止对目标进行多次分析 - **左键点击操作菜单**:点击任何活动分析以打开其操作菜单,包含详情、浏览器访问、导出和关闭选项 - **轻松清理**:关闭不再需要的分析以释放系统资源 - **会话详情**:查看有关每个活动分析的详细信息 - **浏览器集成**:直接在浏览器中打开分析 - **导出以进行调试**:将完整生成的分析文件夹复制到任何位置,以进行手动检查或调试 ## 配置和自定义 ### 分析设置 直接从树状视图或 VS Code 首选项中访问设置: - **默认分析模式**:在 LivePanel 和 XR 之间选择作为您的默认模式 - **深度分析设置**:配置目录和项目分析的默认行为 - **防抖动时间**:调整分析对代码更改的响应速度 - **自动分析**:启用/禁用文件保存时的自动重新分析 - **文件过滤**:配置在分析中包含/排除哪些文件类型 ### XR 环境设置 自定义您的沉浸式体验: - **图表类型**:条形图、圆柱图、气泡图、船图及更多可视化选项 - **调色板**:Business、Blues、Commerce、Flat、Foxy 和其他专业主题 - **环境主题**:Forest、Dream、City、Space 等沉浸式背景 - **维度映射**:自定义将哪些指标映射到 3D 维度和颜色 - **性能设置**:调整渲染质量以获得最佳的 VR/AR 体验 ## 安装与设置 ### 前置条件 - **VS Code**:1.98.0 或更高版本 - **Python**:在 Windows、Linux 和 macOS 上自动配置(如有需要,将创建隔离的虚拟环境) - **WebXR 浏览器**:Chrome、Edge 或 Firefox Reality,用于 VR/AR 功能(可选) - **现代硬件**:推荐用于获得最佳 XR 体验 ### 快速安装 1. 打开 **Visual Studio Code** 2. 转到 **Extensions** (Ctrl+Shift+X) 3. 搜索 **"Code-XR"** 4. 点击 **"Install"** 5. **重启 VS Code** 以获得完整功能 ### 首次设置 - Code-XR 会在首次使用时自动设置 Python 环境 - 基础功能无需额外配置 - HTTPS 证书在首次启动时在本地生成,并存储在扩展的 VS Code global storage 中,以确保 WebXR 兼容性 - 自动创建虚拟环境 (.venv) 以实现隔离的依赖项 ## 真实用例 ### 代码质量评估 - **代码审查前**:快速识别需要关注的复杂函数 - **重构规划**:可视化整个代码库中的复杂度热点 - **技术债务**:通过重复分析跟踪复杂度随时间的变化趋势 - **代码规范**:确保代码符合复杂度和质量标准 ### 团队协作 - **架构讨论**:在团队会议中分享 3D 可视化 - **新人入职**:帮助新团队成员了解代码库结构 - **AR 演示**:使用 AR 模式进行沉浸式的代码演示 - **代码审查**:为审查复杂代码提供增强的视觉上下文 - **共享工作会话**:创建或移动共享的虚拟屏幕,重新映射图表,并实时观看其他参与者与同一个在线 XR/DOM 房间的交互 ### 教育用途 - **学习模式**:可视化不同的编程模式如何影响复杂度 - **算法比较**:在 3D 空间中比较多种实现 - **代码指标教育**:通过交互式可视化理解复杂度指标 - **编程课程**:借助视觉辅助工具教授软件工程概念 ## 性能提示与最佳实践 ### 性能优化 - **大文件**:对于超过 1000 行的文件,增加防抖延迟 - **资源管理**:关闭未使用的分析以释放系统资源 - **目录分析**:先使用标准模式,然后再使用深度模式进行全面分析 - **多个项目**:使用 LivePanel 模式进行快速分析,使用 XR 进行深度探索 ### VR/AR 最佳实践 - **AR 模式**:在移动设备或 AR 头显上使用以获得最佳体验 - **VR 导航**:在长时间的分析会话中注意休息,以防疲劳 - **控制器设置**:在开始 VR 会话前确保控制器已充电;请注意,v1.1.0 的控制器交互尚未在物理头显硬件上进行验证 - **照明**:确保室内有充足的照明以进行 AR 追踪 ### 分析工作流 1. **从 LivePanel 开始**:通过 LivePanel 分析获得概览 2. **在 XR 中探索**:使用 XR 模式对复杂代码进行沉浸式探索 3. **使用活动分析**:从树状视图监控所有打开的可视化 4. **配置设置**:根据您的编码习惯调整防抖时间 5. **目录分析**:从标准模式开始,使用深度模式进行全面覆盖 ## 技术架构 ### 分析引擎 - **基于 Python 的协调器**:重新设计的基于 Python 的分析协调器,以提高准确性 - **多语言解析**:对 24 种代码语言及 HTML DOM 可视化的高级解析能力 - **Lizard 集成**:使用 Lizard 工具进行行业标准的复杂度分析 - **性能优化**:经过优化,可高效处理大型代码库 ### 可视化引擎 - **BabiaXR 集成**:使用 BabiaXR 框架进行强大的 3D 渲染 - **A-Frame 1.7.1**:用于沉浸式体验的最新 WebXR 框架 - **交互式面板**:用于 LivePanel 分析的响应式 Web 面板 - **实时数据绑定**:代码更改与可视化之间的实时更新 ### 会话管理 - **统一注册表**:集中的会话跟踪和管理 - **生命周期管理**:正确的初始化、监控和清理 - **进度跟踪**:为长时间运行的操作提供实时进度报告 - **错误处理**:全面的错误恢复和用户反馈 ## 依赖项与要求 ### 最终用户要求 - **Visual Studio Code**:1.98.0 或更高版本 - **Node.js**:扩展运行时需要 16+ 版本 - **Python**:3.7+ 版本(通过虚拟环境自动管理) - **内存**:最低 4GB RAM,大型项目建议 8GB - **存储空间**:扩展需要 100MB,外加用于存放分析结果的空间 ### 自动依赖项 Code-XR 会自动管理以下依赖项: - **Python 虚拟环境**:在 VS Code 的 `globalStorage` 目录中创建 - **Lizard**:代码复杂度分析工具 - **必需的 Python 包**:根据需要自动安装 ### 可选依赖项 - **WebXR 浏览器**:用于完整的 VR/AR 体验 - **VR 头显**:Oculus、Valve Index、HTC Vive 等(可选) - **AR 设备**:兼容 ARCore/ARKit 的设备(可选) ## 开发 ### 从源码构建 ``` # Clone repository git clone https://github.com/aMonteSl/CodeXR.git cd CodeXR # Install dependencies npm install # Compile extension npm run compile # Build for production npm run package ``` ### 构建命令 ``` # One-time build npm run compile # Watch mode for development npm run watch # Create VSIX package npm run package:vsix # Run tests npm run test ``` ### 开发要求(贡献者) - **Node.js**:16+ - **Python**:3.7+(用于分析组件) - **TypeScript**:用于扩展开发 - **Webpack**:用于打包(自动配置) ## 贡献 我们欢迎您的贡献!以下是您可以提供帮助的方式: 1. 在 GitHub 上 **Fork 该仓库** 2. 为您的更改 **创建一个功能分支** 3. **进行更改** 并附带适当的测试 4. **提交一个 pull request** 并附带详细的描述 5. **遵循我们的编码规范** 并包含文档 ### 贡献领域 - **语言支持**:添加对其他编程语言的支持 - **可视化**:新的图表类型和可视化模式 - **性能**:针对大型代码库的优化 - **文档**:改进指南和示例 - **测试**:扩大测试覆盖率 ## 支持与社区 ### 获取帮助 - **GitHub Issues**:在 [GitHub Issues](https://github.com/aMonteSl/CodeXR/issues) 报告错误和请求功能 - **文档**:全面的指南和示例 - **社区**:分享您的可视化和用例 ### 功能请求 - 通过 VS Code Marketplace 评价提交 - 创建带有用例的详细 GitHub Issues - 参与关于新功能的社区讨论 ## 许可证 该项目基于 **GNU General Public License v3.0 (GPLv3)** 授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ### GPLv3 摘要 - 您可以自由使用、学习和修改该软件。 - 如果您分发修改后的版本,您还必须在 GPLv3 下提供源代码。 - 分发给其他人的衍生作品必须保持与 GPLv3 兼容的条款。 - 该软件不提供任何担保。 ## 致谢 - **BabiaXR 团队**:感谢他们提供的强大可视化框架 - **A-Frame 社区**:感谢他们对 WebXR 支持和沉浸式 Web 技术的贡献 - **Lizard 工具**:感谢其提供可靠的代码复杂度分析 - **VS Code Extension API**:感谢他们提供这个可扩展的平台 - **开源社区**:感谢持续不断的反馈和贡献 **使用 Code-XR v1.1.0 体验前所未有的代码可视化 - 当全面的代码分析遇上扩展现实!** 通过沉浸式可视化、全面的分析以及对代码库结构和复杂度的实时洞察,彻底改变您的开发工作流。 ## 支持 CodeXR 的开发 如果您觉得 CodeXR 很有价值,并希望支持其持续开发,请考虑给开发者买杯咖啡: [![给我买杯咖啡](https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/adrianadyrx) 您的支持将帮助我: - 添加新功能和进行改进 - 修复错误并维护兼容性 - 提供更好的支持和文档
标签:MITM代理, SOC Prime, WebXR, 代码分析, 代码可视化, 凭证管理, 开发工具, 扩展现实, 数据可视化, 自动化攻击, 逆向工具