# ArenaNext **Repository Path**: box3lab/arena-next-plugin ## Basic Information - **Project Name**: ArenaNext - **Description**: ArenaNext 是神岛 Arena 编辑器的功能抢先体验版插件,让用户提前体验下一代编辑器的创新特性。该插件集成了多种强大功能和增强特性,经过用户验证和优化后的功能将会正式内置到未来的编辑器版本中。其中核心 AI 助手"AIChat 吉 PT"提供智能 JavaScript 编程辅助,为开发者提供代码分析、错误修复和代码优化。通过神岛代码编辑器深度集成,它提供了超越基础代码提示的智能化编程体验 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://box3lab.com/ - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-07-07 - **Last Updated**: 2025-10-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 ArenaNext - 下一代的神岛 Arena 编辑器插件
![Version](https://img.shields.io/badge/version-1.3.0-blue) ![License](https://img.shields.io/badge/license-Apache2.0-green) ![Platform](https://img.shields.io/badge/platform-dao3fun-orange)
ArenaNext 是神岛 Arena 编辑器的功能抢先体验版插件,让用户提前体验下一代编辑器的创新特性。经过用户验证和优化后的功能将会正式内置到未来的编辑器版本中。 核心 AI 助手 "AIChat 吉 PT" 提供智能 JavaScript 编程辅助,通过与神岛代码编辑器的深度集成,为开发者提供代码分析、错误修复和代码优化等功能,创造超越基础代码提示的智能化编程体验。 ## 📋 目录 - [✨ 主要功能](#-主要功能) - [🔧 技术实现](#-技术实现) - [📂 项目结构](#-项目结构) - [📥 安装与使用](#-安装与使用) - [🛠️ 技术栈](#️-技术栈) - [🔄 持续改进](#-持续改进) - [👥 开发团队](#-开发团队) - [📜 许可证](#-许可证) - [🙏 贡献](#-贡献) ## ✨ 主要功能 ### 🐛 代码错误处理与修复 - **🔍 智能错误高亮显示**:在代码行尾直接显示错误信息,红色背景标识错误行,橙色标识警告行 - **📊 错误列表面板**:在编辑器底部展示代码错误、警告和提示 - **🔧 一键修复**:点击"吉 PT 一键修复"按钮自动分析并修复所有代码问题 - **💡 错误解释**:点击单个错误的"解释报错"按钮获取详细错误解释和修复建议 - **⚡ 快速修复集成**:右键单击错误标记直接访问 AI 修复建议 - **🤖 AI 错误解释助手**:在控制台错误旁显示 AI 按钮,点击后智能分析错误并提供修复方案 ### 📊 代码分析与优化 - **🔎 代码透镜(CodeLens)**:在函数和类定义上方提供智能操作菜单 - **📋 代码复制**:通过代码透镜菜单一键复制整个函数或类的代码 - **👁️ Peek 定义视图**:点击引用可预览代码定义,支持只读模式,无需跳转即可查看引用代码 - **📝 上下文菜单**:右键点击编辑器访问丰富的代码分析功能: - ✅ 纠正代码错误 - 🔄 长函数拆分 - ⚙️ 优化重构代码 - 📚 详细解释代码 - 💬 注释生成 - 📘 API 详细解释和示例 ### 🧩 代码包管理 - **📦 代码包浏览**:通过左侧菜单访问代码包库,浏览可用的代码模块 - **🔍 代码包搜索**:快速搜索和筛选代码包,轻松找到需要的功能 - **📥 多种导入方式**:支持控制台导入和新脚本导入两种方式 - **📖 文档访问**:直接访问代码包的详细文档和使用说明 - **🔄 实时更新**:自动获取最新的代码包列表和更新 - **📤 代码包投稿/更新**:支持开发者提交和更新自己的代码包 ### 🎨 Monaco 编辑器增强 - **⚡ JavaScript/TypeScript 语言服务增强**:提供高级类型检查和语法分析 - **🔍 TypeScript 支持**:自动识别 .ts 和 .tsx 文件,提供类型检查和代码导航 - **💡 智能内联补全**: - 🤖 基于 AI 的智能代码补全 - 📊 项目上下文感知补全 - 🔄 自动导入分析 - 📝 支持 JSDoc 注释补全 - 🔍 类型感知补全 - **⚙️ 代码严格度设置**:可配置的 JavaScript/TypeScript 验证选项,支持本地保存配置: - 📋 基础检查:检查 JS/TS 文件类型 - 🔒 类型严格性:禁止隐式 any、严格空值检查、禁止隐式 this - 🔍 代码质量:未使用局部变量/参数检查、隐式返回检查等 - 📏 代码风格规范:禁止隐式类型转换、一致返回值要求 - 🛡️ 安全相关:禁用 eval、原型方法安全调用 - **👁️ Peek 定义查看**:只读模式的代码引用查看,提高代码浏览效率 - **💾 配置持久化**:自动保存用户配置到本地存储,下次使用时自动恢复 - **🎭 语法高亮优化**:精确匹配 VS Code 的语法配色 - **🔠 智能括号引导线**:点击代码时显示不同颜色的垂直引导线 - **🎨 颜色可视化**:为 GameRGBColor、GameRGBAColor 和 Vec3.create 提供实时颜色预览 - **💡 代码提示优化**:自动补全提示优化,提高代码编写效率 ### 🖌 UI 增强功能 - **🚦 错误类型区分**:通过不同的颜色和图标直观区分错误、警告、注意和信息 - 🔴 错误(红色) - 🟠 警告(橙色) - 🟡 注意(黄色) - 🔵 信息(蓝色) - **🔍 错误列表过滤**:通过类型筛选器快速聚焦于特定类型的问题 - **↕️ 可调整大小的面板**:拖动调整错误列表高度,保存用户首选项 - **📍 智能定位**:自动适应调试面板位置,确保最佳界面布局 - **🧹 控制台清理**:一键清空控制台日志,提高调试效率 ### 💻 编辑体验增强 - **🔍 自动代码选择**:点击错误项自动选择相关代码,提高工作效率 - **✨ 自动格式化**:回车/粘贴/保存时自动格式化代码,实时保持代码整洁,提高代码质量 - **📁 虚拟文件系统**:维护编辑器内的文件结构,实现跨文件代码分析 ### ⌨️ 快捷键支持 - **Ctrl+S**:格式化当前脚本文件 - **F5**:运行地图 ## 🔧 技术实现 ### 组件架构 - **🔧 EditorErrorList**:错误列表 UI 组件,支持交互式错误管理 - **🤖 ErrorAIHelper**:AI 错误解释助手,为控制台错误添加智能分析功能 - **🧹 ConsoleCleaner**:控制台清理工具,提供一键清空日志功能 - **⚙️ MonacoIntegration**:Monaco 编辑器的深度集成 - **🎨 UIComponents**:UI 组件和界面交互系统,包括代码包浏览器和导入系统 - **🔄 AI 通信**:与后端 AI 服务的无缝通信,用于代码分析和建议 ## 📂 项目结构 项目采用模块化结构设计,核心功能按照职责划分到不同目录中: ``` arenanext/ ├── 📦 dist/ # 编译输出目录 │ └── 📄 arenanext.user.js # 用户脚本最终打包文件 ├── 📁 src/ # 源代码 │ ├── 📁 components/ # UI和功能组件 │ │ ├── 📄 EditorActions.js # 编辑器动作处理 │ │ ├── 📄 EditorErrorList.js # 错误列表UI与交互 │ │ ├── 📄 MonacoIntegration.js # Monaco编辑器功能集成 │ │ ├── 📄 ErrorAIHelper.js # AI错误解释助手 │ │ ├── 📄 ConsoleCleaner.js # 控制台清理工具 │ │ └── 📄 UIComponents.js # 通用UI组件和代码包管理 │ ├── 📁 monaco/ # Monaco编辑器增强 │ │ ├── 📄 languageServices.js # 语言服务增强 │ │ ├── 📄 typeScriptOptions.js # TS/JS配置选项 │ │ ├── 📄 codeLens.js # 代码透镜实现 │ │ ├── 📄 inlineCompletionsProvider.js # AI 智能内联补全 │ │ ├── 📄 errorDecorations.js # 错误装饰与高亮 │ │ ├── 📄 virtualFileSystem.js # 虚拟文件系统 │ │ ├── 📄 editorActions.js # 编辑器操作扩展 │ │ ├── 📄 utils.js # Monaco工具函数 │ │ └── 📄 index.js # Monaco模块入口 │ ├── 📁 services/ # 服务层 │ │ └── 📄 apiService.js # AI API通信服务 │ ├── 📁 styles/ # 样式文件 │ │ └── 📄 main.css # 全局样式定义 │ ├── 📁 utils/ # 工具函数 │ │ ├── 📄 domUtils.js # DOM操作工具 │ │ ├── 📄 fileUtils.js # 文件操作工具 │ │ └── 📄 promptTemplates.js # AI提示模板 │ └── 📄 index.js # 主入口文件 ├── 📄 package.json # 项目依赖配置 ├── 📄 webpack.config.js # Webpack构建配置 └── 📄 LICENSE # 开源许可证 ``` ### 🧩 核心模块说明 #### 组件模块 (components/) - **🧾 EditorErrorList**: 提供错误列表 UI、交互和错误管理功能 - **🤖 ErrorAIHelper**: 实现 AI 错误解释按钮,将错误信息发送给 AI 进行分析 - **🧹 ConsoleCleaner**: 实现控制台清理按钮,一键清空调试日志 - **⚙️ MonacoIntegration**: 集成 Monaco 编辑器的各种增强功能 - **🎨 UIComponents**: 提供通用 UI 组件和界面交互,包括代码包浏览器和管理功能 #### Monaco 增强 (monaco/) - **⚡ languageServices**: JavaScript/TypeScript 语言服务增强,提供更精确的代码分析 - **🔎 codeLens**: 实现代码透镜功能,在函数和类上方显示操作菜单 - **🚨 errorDecorations**: 错误高亮和行尾错误提示实现 - **⚙️ typeScriptOptions**: TypeScript/JavaScript 验证选项配置,支持本地存储 - **📁 virtualFileSystem**: 维护编辑器内文件结构的虚拟文件系统 ### 🔄 功能与文件对应关系 | 功能特性 | 实现文件 | 说明 | | :----------------: | :---------------------------------: | :---------------------------------------------: | | 🚨 代码错误高亮 | monaco/errorDecorations.js | 在代码中高亮显示错误并在行尾添加错误信息 | | 📊 错误列表面板 | components/EditorErrorList.js | 可排序、过滤的错误列表 UI 组件 | | 🤖 AI 错误解释 | components/ErrorAIHelper.js | 为错误日志添加 AI 解释按钮 | | 🧹 控制台清理 | components/ConsoleCleaner.js | 一键清空调试控制台日志 | | 🔎 代码透镜 | monaco/codeLens.js | 在函数和类上方显示操作菜单 | | 👁️ Peek 定义查看 | monaco/languageServices.js | 只读模式的代码引用预览 | | 🎨 语法高亮优化 | monaco/languageServices.js | 自定义语法高亮主题和配色 | | 📝 TypeScript 支持 | monaco/languageServices.js | 自动检测文件类型和编译器配置 | | ⚙️ 类型检查增强 | monaco/typeScriptOptions.js | 配置 JavaScript 验证选项和严格度 | | 💾 配置本地存储 | monaco/typeScriptOptions.js | 将用户配置持久化到本地,下次自动恢复设置 | | 📁 虚拟文件系统 | monaco/virtualFileSystem.js | 跨文件代码分析的虚拟文件管理 | | 💡 智能内联补全 | monaco/inlineCompletionsProvider.js | AI 驱动的智能代码补全,支持上下文感知和频率限制 | | 📦 代码包管理 | components/UIComponents.js | 实现代码包浏览、搜索和导入等功能 | ## 📥 安装与使用 ### 用户安装 1. 安装 **Tampermonkey** 或其他用户脚本管理器浏览器扩展 - Chrome: [Tampermonkey](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo) - Firefox: [Tampermonkey](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/) - Edge: [Tampermonkey](https://microsoftedge.microsoft.com/addons/detail/tampermonkey/iikmkjmpaadaobahmlepeloendndfphd) 2. 安装 ArenaNext 插件 - 访问[安装链接](https://static.pgaot.com/Assets/js/arenanext.user.js) - 在弹出的 Tampermonkey 页面中点击"安装"按钮 3. 在神岛编辑器中使用 - 打开 [神岛编辑器](https://dao3.fun) - 插件会自动加载并激活 ### 📦 代码包功能 1. **🔍 访问代码包库** - 在编辑器左侧菜单中找到"代码包"图标并点击 - 界面将显示可用代码包的网格视图,包含标题、描述和导入选项 2. **🔎 搜索与浏览** - 使用搜索框快速查找特定代码包 - 代码包按时间排序,最新的显示在前面 - 每个代码包显示详细描述和文档链接 3. **📥 导入代码包** - 点击"导入"按钮打开导入选项 - 选择导入方式:控制台导入或新脚本导入 - 导入完成后会显示成功通知 4. **📤 投稿与更新** - 开发者可以提交自己的代码包供社区使用 - 支持更新已有代码包 ### 💻 TypeScript 支持与 Peek 定义查看 1. **🔄 自动语言检测** - 系统会自动根据文件扩展名(.ts/.js)识别语言类型 - TypeScript 文件会获得完整的类型检查和代码智能提示 2. **👁️ Peek 定义功能** - 点击代码中的变量、函数等引用可打开只读预览窗口 - 无需离开当前编辑位置即可查看定义 - 支持在同一文件或跨文件引用之间导航 ### ⚙️ 配置保存功能 编辑器严格度设置现已支持本地保存,您的配置会自动存储在浏览器的 localStorage 中: 1. 在编辑器左侧菜单找到"脚本检查严格度设置" 2. 根据需要调整选项(如严格模式、类型检查等) 3. 设置会自动保存,下次打开编辑器时自动应用 4. 配置跟随浏览器环境,在同一浏览器中将保持一致 ### 🤖 AI 错误解释助手 控制台错误解释功能提供智能错误分析: 1. 当控制台出现错误时,每条错误消息右侧会显示一个 "AI" 按钮 2. 点击该按钮,AI 助手会分析错误并提供详细解释 3. AI 会给出错误原因分析和具体修复建议 4. 适用于语法错误、运行时错误、逻辑错误等多种错误类型 ## 🛠️ 技术栈
| 技术 | 版本 | 用途 | | :-----------: | :-----: | :------------: | | JavaScript | ES6+ | 核心开发语言 | | TypeScript | 支持 | 类型定义和检查 | | Monaco Editor | API | 代码编辑器集成 | | jQuery | ^3.6.0 | DOM 操作 | | Marked | ^4.0.2 | Markdown 渲染 | | Highlight.js | ^11.4.0 | 代码高亮 | | Webpack | ^5.88.2 | 构建工具 |
## 🔄 持续改进 ArenaNext 插件不断更新以提供更好的编程体验。最新增强功能包括: - **📦 代码包管理功能**:浏览、搜索和导入社区代码包 - **📝 TypeScript 全面支持**:自动语言检测和类型检查 - **👁️ Peek 定义查看**:只读模式的代码引用浏览功能 - **💾 用户配置持久化**:编辑器配置自动保存到本地,下次使用时自动恢复 - **🤖 AI 错误解释增强**:优化错误解释按钮的稳定性和交互体验 - **🧹 控制台清理功能**:一键清空控制台日志,提高调试效率 - **🔍 TypeScript 错误码智能过滤**:减少无关提示,专注于重要错误 - **🎨 错误类型的颜色编码和图标区分**:更直观的错误提示系统 ## 👥 开发团队
Box3Lab Team
## 📜 许可证 [Apache-2.0 License](./LICENSE) ## 🙏 贡献 您的反馈和贡献对于 ArenaNext 的改进至关重要!我们欢迎并重视所有用户反馈,这将直接影响哪些功能将被选入编辑器核心。 欢迎通过以下方式提供您的建议和反馈: - 🐞 Gitee Issues:报告问题或提出功能建议 - 🌐 官网:https://box3lab.com - 📊 用户调查:定期参与我们的用户体验调查 ---

Copyright © 2024-2025 神岛实验室 (Box3Lab)。保留所有权利。