# Squirrel NUT Explorer 功能说明 ## 已实现的功能 ### 1. 基础功能 - 通过 pvfUtility API 浏览和编辑 NUT 文件 - 支持连接到本地运行的 pvfUtility 服务 - 自动加载所有 NUT 文件内容 - 支持文件保存和刷新 ### 2. 代码自动完成功能 - **基础自动完成**:提供关键字、API函数、类、常量的基本自动完成 - **跨文件完成**:能够识别其他已加载的 NUT 文件中定义的函数 - **变量完成**:提供当前文档中已声明的局部变量自动完成 - **点号完成**:支持对象属性和方法的自动完成(如 string.len, array.append 等) ### 3. 悬停信息功能 - **库函数信息显示**:显示内置函数的参数、返回值和描述 - **类信息显示**:显示内置类的方法和属性信息 - **常量信息显示**:显示内置常量的值和描述 - **跨文件自定义函数信息**:显示其他文件中定义的函数的参数和位置信息 ### 4. 定义跳转功能 - **跨文件跳转**:支持在所有已加载的 NUT 文件中查找函数定义并跳转 - **多重定义支持**:当存在同名函数时,提供所有可能的定义位置供选择 ### 5. 函数签名帮助 - **参数提示**:在函数调用时显示函数的参数列表 - **当前参数高亮**:高亮显示当前正在输入的参数 - **内置函数支持**:支持内置函数的签名帮助 - **自定义函数支持**:支持用户定义函数的签名帮助 ### 6. 输入时格式化 - **括号触发格式化**:输入 ")" 时格式化当前行 - **分号触发格式化**:输入 ";" 时格式化当前行 - **大括号触发格式化**:输入 "}" 时格式化整个代码块 - **Squirrel语法优化**:针对Squirrel语言特性进行格式化优化 ### 7. 代码格式化 - **缩进标准化**:统一代码缩进风格 - **空格规范化**:在操作符周围添加适当空格 - **换行管理**:合理安排代码换行 - **括号处理**:自动调整大括号位置和缩进 ### 8. 代码错误检测 - **语法错误检测**:检测常见的语法错误,如拼写错误的关键字 - **未闭合字符串检测**:检测未正确闭合的字符串 - **未闭合括号检测**:检测未正确闭合的括号 - **逻辑错误提示**:提示可能的逻辑错误,如在条件语句中使用赋值操作符 - **快速修复**:提供拼写错误的快速修复功能 ### 9. API文档解析 - **内置函数文档**:解析和管理Squirrel语言的内置函数文档 - **类文档**:解析和管理内置类的文档 - **常量文档**:解析和管理内置常量的文档 - **动态生成**:根据文档动态生成自动完成项和悬停信息 ### 10. 语法定义支持 - **语法高亮**:支持关键字、字符串、注释、数字、操作符等的语法高亮 - **代码折叠**:支持基于大括号的代码折叠 - **自动闭合**:支持括号、引号的自动闭合 - **智能缩进**:根据代码结构自动调整缩进 ## 缓存机制 - **函数缓存**:缓存所有已解析的函数信息,提高性能 - **持久化缓存**:在整个VS Code会话期间保持缓存有效 - **增量更新**:在保存文件时自动更新对应文件的缓存 - **重复函数处理**:正确处理同名函数,提供所有定义位置供选择 ## 性能优化 - **批量处理**:文件按批次处理,避免内存溢出 - **并行处理**:批次内的文件并行处理,提高效率 - **增量更新**:仅在文件保存时更新对应文件的缓存 - **防重复提取**:防止同时进行多次提取操作 - **性能监控**:监控提取性能,为优化提供数据支持 ## 使用方法 1. 确保 pvfUtility 服务正在运行 2. 在 VS Code 中打开 Squirrel NUT Explorer 3. 点击"连接到 pvfUtility"按钮 4. 连接成功后,所有功能将自动启用 5. 编辑和保存文件时,相关缓存会自动更新