From fe15f52be5cce31c7993b3bde89caa935895b511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9D=BF=20=E5=AE=89?= Date: Wed, 17 Sep 2025 22:31:31 +0800 Subject: [PATCH] =?UTF-8?q?1.1.1=20=E4=BC=98=E5=8C=96=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=92=8C=E6=82=AC=E6=B5=AE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CODE_ERROR_FIX_REPORT.md | 105 --------- FEATURES.md | 82 ------- FUNCTION_EXTRACTOR.md | 67 ------ INSTALL_GUIDE.md | 100 -------- copy-beautify-files.js | 34 --- dist/providers/apiParser.js | 71 ++++-- dist/providers/apiParser.js.map | 2 +- dist/providers/completionProvider.js | 33 ++- dist/providers/completionProvider.js.map | 2 +- dist/providers/hoverProvider.js | 3 +- dist/providers/hoverProvider.js.map | 2 +- package.json | 2 +- squirrel-nut-explorer-1.1.0.vsix | Bin 130230 -> 131862 bytes src/providers/apiParser.ts | 76 +++++-- src/providers/completionProvider.ts | 36 ++- src/providers/hoverProvider.ts | 3 +- 新库函数示范.json | 277 +++++++++++++++++++++++ 17 files changed, 464 insertions(+), 431 deletions(-) delete mode 100644 CODE_ERROR_FIX_REPORT.md delete mode 100644 FEATURES.md delete mode 100644 FUNCTION_EXTRACTOR.md delete mode 100644 INSTALL_GUIDE.md delete mode 100644 copy-beautify-files.js create mode 100644 新库函数示范.json diff --git a/CODE_ERROR_FIX_REPORT.md b/CODE_ERROR_FIX_REPORT.md deleted file mode 100644 index 685d40c..0000000 --- a/CODE_ERROR_FIX_REPORT.md +++ /dev/null @@ -1,105 +0,0 @@ -# 代码错误检测功能修复报告 - -## 修复的问题 - -### 1. 字符串检测误报问题 -**原问题**: 只要使用引号就会报"检测未正确闭合的字符串"错误 -**修复方案**: -- 重写了字符串检测逻辑,使用状态机方法进行精确解析 -- 正确处理转义字符(`\"`、`\'`) -- 区分字符串内容和代码内容 -- 支持多行字符串检测 -- 正确处理注释中的引号(不会误报) -- **新增**: 跳过被注释掉的代码行中的字符串检测 - -### 2. 括号检测误报问题 -**原问题**: 只要使用括号就会报"检测未正确闭合的括号"错误 -**修复方案**: -- 重写了括号匹配算法,使用栈数据结构进行精确匹配 -- 正确处理字符串内的括号(不参与匹配) -- 正确处理注释内的括号(不参与匹配) -- 支持多行括号匹配 -- 提供具体的错误位置和类型(圆括号、方括号、花括号) -- **新增**: 跳过被注释掉的代码行中的括号检测 - -### 3. 注释行误报问题 ⭐ **新修复** -**原问题**: 被注释掉的代码(以`//`开头的行)也会被错误检测 -**修复方案**: -- 智能识别整行注释(以`//`开头的行) -- 跳过注释行中的所有错误检测 -- 正确处理块注释(`/* */`)中的内容 -- 区分行内注释和整行注释 -- 保持对正常代码的检测精度 - -### 4. 语法错误检测改进 -**改进内容**: -- 更精确的拼写错误检测,减少误报 -- 改进的赋值操作符检查(避免误报合法赋值) -- 跳过注释行的检查 -- 添加函数定义语法检查 -- 分号缺失检测 - -### 5. 拼写检查智能化 -**改进内容**: -- 扩展了Squirrel关键字列表 -- 添加常见标识符模式识别,减少误报 -- 改进编辑距离算法的使用 -- 移除字符串和注释内容后再进行拼写检查 -- **新增**: 跳过注释行中的拼写检查 - -### 6. 快速修复功能增强 -**新增功能**: -- 拼写错误的一键修复 -- 赋值操作符的快速修复 -- 缺失分号的自动添加 -- 更友好的修复建议描述 - -## 技术实现 - -### 状态机解析 -使用状态机方法来跟踪: -- 字符串状态(是否在字符串内) -- 转义状态(是否被转义) -- 注释状态(行注释/块注释) - -### 栈结构匹配 -使用栈来跟踪: -- 开括号的位置和类型 -- 括号的匹配状态 -- 错误位置的精确报告 - -### 上下文感知 -- 区分代码、字符串、注释的不同上下文 -- 在不同上下文中应用不同的检测规则 -- 避免跨上下文的误报 - -## 测试覆盖 - -创建了全面的测试用例: -- 正常的字符串和括号使用 -- 各种拼写错误场景 -- 字符串中的特殊字符 -- 注释中的内容(行注释和块注释) -- **新增**: 被注释掉的代码行测试 -- 多行结构 -- 转义字符处理 -- 混合场景(注释+正常代码) - -## 使用说明 - -1. 修复后的错误检测会在您输入代码时实时运行 -2. 错误会以红色波浪线显示在编辑器中 -3. 将鼠标悬停在错误上可查看详细信息 -4. 点击灯泡图标或使用 `Ctrl+.` 可应用快速修复 -5. 支持的快速修复包括:拼写纠正、添加分号、修复操作符等 -6. **新功能**: 注释掉的代码不会被错误检测干扰 - -## 性能优化 - -- 使用高效的算法减少处理时间 -- 避免不必要的重复检查 -- 智能跳过注释和字符串内容的检查 -- 优化正则表达式的使用 -- **新优化**: 提前识别注释行,减少不必要的处理 - -修复完成后,代码错误检测功能应该能够准确、智能地识别真正的错误,同时避免之前存在的误报问题,包括对注释代码的错误检测。 \ No newline at end of file diff --git a/FEATURES.md b/FEATURES.md deleted file mode 100644 index 0a39b8c..0000000 --- a/FEATURES.md +++ /dev/null @@ -1,82 +0,0 @@ -# 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. 编辑和保存文件时,相关缓存会自动更新 \ No newline at end of file diff --git a/FUNCTION_EXTRACTOR.md b/FUNCTION_EXTRACTOR.md deleted file mode 100644 index ac66c10..0000000 --- a/FUNCTION_EXTRACTOR.md +++ /dev/null @@ -1,67 +0,0 @@ -# 函数提取和缓存功能说明 - -## 功能概述 - -本项目新增了函数提取和缓存功能,用于从nut文件中提取函数信息并进行缓存,为后续的函数跳转功能做准备。 - -## 主要组件 - -### 1. FunctionInfo 接口 -定义了函数信息的数据结构: -- `name`: 函数名称 -- `filePath`: 文件路径 -- `lineNumber`: 行号 -- `parameters`: 参数列表 -- `signature`: 函数签名 - -### 2. FunctionCacheManager 类 -负责管理函数信息的缓存: -- 缓存函数信息 -- 提供函数查找功能 -- 统计缓存信息 -- 缓存在VS Code会话期间一直有效,直到重新获取nut文件时重置 - -### 3. FunctionExtractor 类 -负责从文件中提取函数信息: -- 解析Squirrel语言的函数定义 -- 批量处理文件 -- 防止重复提取 -- 性能监控 - -### 4. PerformanceMonitor 类 -监控函数提取的性能: -- 记录提取时间 -- 计算平均处理时间 -- 提供性能统计信息 - -## 工作流程 - -1. 用户点击"连接到 pvfUtility"时,系统自动获取所有nut文件内容 -2. 连接成功后,自动启动函数提取过程 -3. FunctionExtractor逐个解析文件中的函数定义 -4. 提取的函数信息被缓存到FunctionCacheManager中 -5. 缓存在VS Code会话期间一直有效 -6. 当用户保存nut文件时,自动更新对应文件的函数缓存 -7. 性能数据被记录用于优化 - -## 性能优化措施 - -1. **批量处理**: 文件按批次处理,避免内存溢出 -2. **并行处理**: 批次内的文件并行处理,提高效率 -3. **缓存机制**: 避免重复解析已处理的文件 -4. **增量更新**: 仅在文件保存时更新对应文件的缓存 -5. **防重复提取**: 防止同时进行多次提取操作 -6. **性能监控**: 监控提取性能,为优化提供数据支持 - -## 使用方法 - -1. 函数提取功能在用户连接到pvfUtility后自动执行,无需手动操作。 -2. 当用户保存nut文件时,对应的函数缓存会自动更新。 -3. 缓存在整个VS Code会话期间一直有效,直到重新获取nut文件时重置。 - -## 后续开发 - -当前实现为函数跳转功能奠定了基础,下一步可以: -1. 实现函数跳转到定义功能 -2. 添加函数引用查找功能 -3. 提供函数自动补全功能 \ No newline at end of file diff --git a/INSTALL_GUIDE.md b/INSTALL_GUIDE.md deleted file mode 100644 index 7b24a2e..0000000 --- a/INSTALL_GUIDE.md +++ /dev/null @@ -1,100 +0,0 @@ -# 🚀 Squirrel NUT Explorer - 安装和使用指南 - -## 📦 已修复版本特性 - -✅ **修复了所有代码错误检测的误报问题** -- 字符串检测不再误报 -- 括号检测不再误报 -- 智能语法检查 -- 快速错误修复 - -✅ **完整的功能支持** -- 代码自动完成 -- 悬停信息显示 -- 定义跳转 -- 函数签名帮助 -- 代码格式化 -- 错误检测和修复 - -## 📋 安装步骤 - -### 方法一:通过 VSIX 文件安装 (推荐) - -1. **打开 VS Code** - -2. **打开扩展面板** - - 快捷键:`Ctrl+Shift+X` - - 或点击左侧活动栏的扩展图标 - -3. **安装扩展** - - 点击扩展面板右上角的 "..." 菜单 - - 选择 "从 VSIX 安装..." - - 浏览并选择:`squirrel-nut-explorer-1.0.1.vsix` - -4. **重启 VS Code** - - 安装完成后重启 VS Code 以确保扩展正常工作 - -### 方法二:命令行安装 - -```bash -code --install-extension squirrel-nut-explorer-1.0.1.vsix -``` - -## 🎯 使用方法 - -1. **激活扩展** - - 扩展会在 VS Code 启动时自动激活 - - 在活动栏中会看到 "Squirrel" 图标 - -2. **连接到 pvfUtility** - - 确保 pvfUtility 服务正在运行 - - 点击 Squirrel 面板中的"连接到 pvfUtility"按钮 - - 连接成功后即可使用所有功能 - -3. **编辑 NUT 文件** - - 打开或创建 `.nut` 文件 - - 享受完整的语言支持功能 - -## 🔧 功能说明 - -### 代码错误检测 -- **实时检测**:输入时即时显示错误 -- **智能识别**:不会误报正常的字符串和括号 -- **快速修复**:点击灯泡图标或 `Ctrl+.` 应用修复 - -### 代码自动完成 -- **关键字完成**:Squirrel 语言关键字 -- **函数完成**:内置和自定义函数 -- **变量完成**:当前作用域的变量 -- **跨文件完成**:其他 NUT 文件中的函数 - -### 悬停信息 -- **函数说明**:显示参数、返回值和描述 -- **类信息**:显示类的方法和属性 -- **跨文件信息**:其他文件中的函数信息 - -### 其他功能 -- **定义跳转**:`F12` 或 `Ctrl+点击` -- **格式化代码**:`Shift+Alt+F` -- **函数签名提示**:输入函数参数时显示 -- **输入时格式化**:输入 `)`、`;`、`}` 时自动格式化 - -## 🐛 问题反馈 - -如果遇到任何问题,请检查: -1. VS Code 版本是否为 1.99.0 或更高 -2. pvfUtility 服务是否正常运行 -3. 文件扩展名是否为 `.nut` - -## 📄 更新日志 - -### v1.0.1 (修复版) -- ✅ 完全修复字符串检测误报问题 -- ✅ 完全修复括号检测误报问题 -- ✅ 改进语法错误检测精度 -- ✅ 增强快速修复功能 -- ✅ 优化性能和稳定性 - ---- - -**享受无误报的 Squirrel 开发体验!** 🎉 \ No newline at end of file diff --git a/copy-beautify-files.js b/copy-beautify-files.js deleted file mode 100644 index 9912ab2..0000000 --- a/copy-beautify-files.js +++ /dev/null @@ -1,34 +0,0 @@ -const fs = require('fs-extra'); -const path = require('path'); - -// 复制 js-beautify 相关文件到 dist 目录 -async function copyBeautifyFiles() { - const srcDir = path.join(__dirname); - const destDir = path.join(__dirname, 'dist'); - - // 确保目标目录存在 - await fs.ensureDir(destDir); - - // 复制 js-beautify.js 和包装器 - const filesToCopy = [ - 'js-beautify.js', - 'js-beautify-wrapper.js' - ]; - - for (const file of filesToCopy) { - const srcPath = path.join(srcDir, file); - const destPath = path.join(destDir, file); - - if (await fs.pathExists(srcPath)) { - await fs.copy(srcPath, destPath); - console.log(`已复制 ${file} 到 dist 目录`); - } - } -} - -// 如果直接运行此脚本,则执行复制操作 -if (require.main === module) { - copyBeautifyFiles().catch(console.error); -} - -module.exports = { copyBeautifyFiles }; \ No newline at end of file diff --git a/dist/providers/apiParser.js b/dist/providers/apiParser.js index 5320d05..676654f 100644 --- a/dist/providers/apiParser.js +++ b/dist/providers/apiParser.js @@ -40,7 +40,8 @@ const path = __importStar(require("path")); // API文档解析器类 class ApiParser { constructor() { - this.functions = []; + this.functions = []; // 普通函数,不自动填写第一个参数 + this.functionEx = []; // 扩展函数,自动填写所有参数 this.classes = []; this.constants = []; // 获取扩展路径并设置JSON文件路径 @@ -65,6 +66,7 @@ class ApiParser { const apiData = JSON.parse(jsonData); // 加载函数数据 this.functions = apiData.functions || []; + this.functionEx = apiData.functionEx || []; // 加载类数据 this.classes = apiData.classes || []; // 加载常量数据 @@ -383,6 +385,7 @@ class ApiParser { try { const apiData = { functions: this.functions, + functionEx: this.functionEx, classes: this.classes, constants: this.constants }; @@ -396,13 +399,27 @@ class ApiParser { reloadApiDocumentation() { this.initializeApiDocumentation(); } - // 获取所有函数 + // 获取所有普通函数 getFunctions() { return this.functions; } - // 根据名称获取函数 + // 获取所有扩展函数 + getFunctionEx() { + return this.functionEx; + } + // 根据名称获取函数(包括普通函数和扩展函数) getFunctionByName(name) { - return this.functions.find(func => func.name === name); + // 先在普通函数中查找 + let func = this.functions.find(func => func.name === name); + if (func) { + return func; + } + // 再在扩展函数中查找 + return this.functionEx.find(func => func.name === name); + } + // 检查是否是扩展函数 + isFunctionEx(name) { + return this.functionEx.some(func => func.name === name); } // 获取所有类 getClasses() { @@ -425,19 +442,41 @@ class ApiParser { return this.constants.find(constant => constant.name === name); } // 生成函数签名 - generateFunctionSignature(func) { - const params = func.params.map(param => { - let paramStr = param.name; - if (param.optional) { - paramStr = `[${paramStr}`; - if (param.defaultValue) { - paramStr += `=${param.defaultValue}`; + generateFunctionSignature(func, isFunctionEx = false) { + // 检查是否是普通函数且有参数 + if (!isFunctionEx && func.params.length > 0) { + // 对于普通函数,将第一个参数移到函数名前面 + const firstParam = func.params[0]; + const remainingParams = func.params.slice(1); + const params = remainingParams.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; } - paramStr += ']'; - } - return paramStr; - }).join(', '); - return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + return paramStr; + }).join(', '); + const paramPart = params ? `(${params})` : '()'; + return `function ${firstParam.name}.${func.name}${paramPart}${func.returns ? `: ${func.returns.type}` : ': void'}`; + } + else { + // 对于扩展函数或无参数的函数,保持原有格式 + const params = func.params.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + } } // 生成类签名 generateClassSignature(cls) { diff --git a/dist/providers/apiParser.js.map b/dist/providers/apiParser.js.map index 83f3dd4..05d9d1f 100644 --- a/dist/providers/apiParser.js.map +++ b/dist/providers/apiParser.js.map @@ -1 +1 @@ -{"version":3,"file":"apiParser.js","sourceRoot":"","sources":["../../src/providers/apiParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"apiParser.js","sourceRoot":"","sources":["../../src/providers/apiParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/providers/completionProvider.js b/dist/providers/completionProvider.js index 25a0cd8..7c18b77 100644 --- a/dist/providers/completionProvider.js +++ b/dist/providers/completionProvider.js @@ -96,21 +96,50 @@ class CompletionProvider { } // 获取API函数完成项 getApiFunctionCompletions() { + const completions = []; + // 添加普通函数(不自动填写第一个参数) const functions = this.apiParser.getFunctions(); - return functions.map(func => { + functions.forEach(func => { const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); item.detail = '内置函数'; item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); // 为函数创建带参数的插入文本 if (func.params.length > 0) { + // 普通函数不自动填写第一个参数,用户需要手动输入 + if (func.params.length > 1) { + // 从第二个参数开始添加占位符 + const remainingParams = func.params.slice(1); + const paramText = remainingParams.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); + item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); + } + else { + // 只有一个参数或无参数 + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + } + else { + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + completions.push(item); + }); + // 添加扩展函数(自动填写所有参数) + const functionEx = this.apiParser.getFunctionEx(); + functionEx.forEach(func => { + const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); + item.detail = '扩展函数'; + item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); + // 为函数创建带参数的插入文本 + if (func.params.length > 0) { + // 扩展函数自动填写所有参数 const paramText = func.params.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); } else { item.insertText = new vscode.SnippetString(`${func.name}()`); } - return item; + completions.push(item); }); + return completions; } // 获取API类完成项 getApiClassCompletions() { diff --git a/dist/providers/completionProvider.js.map b/dist/providers/completionProvider.js.map index 687e811..a318ddf 100644 --- a/dist/providers/completionProvider.js.map +++ b/dist/providers/completionProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../src/providers/completionProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../src/providers/completionProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/providers/hoverProvider.js b/dist/providers/hoverProvider.js index b6e09fa..0fc1c3e 100644 --- a/dist/providers/hoverProvider.js +++ b/dist/providers/hoverProvider.js @@ -60,7 +60,8 @@ class HoverProvider { // 首先检查是否是API函数 const apiFunction = this.apiParser.getFunctionByName(word); if (apiFunction) { - const signature = this.apiParser.generateFunctionSignature(apiFunction); + const isFunctionEx = this.apiParser.isFunctionEx(apiFunction.name); + const signature = this.apiParser.generateFunctionSignature(apiFunction, isFunctionEx); let hoverContent = ` 内置函数: ${signature}\n\n`; hoverContent += `${apiFunction.description}\n\n`; if (apiFunction.params.length > 0) { diff --git a/dist/providers/hoverProvider.js.map b/dist/providers/hoverProvider.js.map index 7f2e867..861f2d9 100644 --- a/dist/providers/hoverProvider.js.map +++ b/dist/providers/hoverProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../src/providers/hoverProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../src/providers/hoverProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 20f5837..23a0697 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "squirrel-nut-explorer", "displayName": "Squirrel NUT Explorer", "description": "通过 pvfUtility API 浏览和编辑 NUT 文件", - "version": "1.1.0", + "version": "1.1.1", "publisher": "local", "engines": { "vscode": "^1.99.0" diff --git a/squirrel-nut-explorer-1.1.0.vsix b/squirrel-nut-explorer-1.1.0.vsix index 61979820668ed127745c48ac682e21d65ce7d33c..30101981eeb490bf58b3ce04b56a5a166e6b007d 100644 GIT binary patch delta 18585 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 b@n6@dz5O2xQXwIb5N_W5P=4~}c) func.name === name); + // 先在普通函数中查找 + let func = this.functions.find(func => func.name === name); + if (func) { + return func; + } + // 再在扩展函数中查找 + return this.functionEx.find(func => func.name === name); + } + + // 检查是否是扩展函数 + public isFunctionEx(name: string): boolean { + return this.functionEx.some(func => func.name === name); } // 获取所有类 @@ -456,20 +475,43 @@ export class ApiParser { } // 生成函数签名 - public generateFunctionSignature(func: ApiFunction): string { - const params = func.params.map(param => { - let paramStr = param.name; - if (param.optional) { - paramStr = `[${paramStr}`; - if (param.defaultValue) { - paramStr += `=${param.defaultValue}`; - } - paramStr += ']'; - } - return paramStr; - }).join(', '); + public generateFunctionSignature(func: ApiFunction, isFunctionEx: boolean = false): string { + // 检查是否是普通函数且有参数 + if (!isFunctionEx && func.params.length > 0) { + // 对于普通函数,将第一个参数移到函数名前面 + const firstParam = func.params[0]; + const remainingParams = func.params.slice(1); - return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + const params = remainingParams.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + + const paramPart = params ? `(${params})` : '()'; + return `function ${firstParam.name}.${func.name}${paramPart}${func.returns ? `: ${func.returns.type}` : ': void'}`; + } else { + // 对于扩展函数或无参数的函数,保持原有格式 + const params = func.params.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + + return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + } } // 生成类签名 diff --git a/src/providers/completionProvider.ts b/src/providers/completionProvider.ts index 3607855..a31e2c1 100644 --- a/src/providers/completionProvider.ts +++ b/src/providers/completionProvider.ts @@ -93,22 +93,54 @@ export class CompletionProvider implements vscode.CompletionItemProvider { // 获取API函数完成项 private getApiFunctionCompletions(): vscode.CompletionItem[] { + const completions: vscode.CompletionItem[] = []; + + // 添加普通函数(不自动填写第一个参数) const functions = this.apiParser.getFunctions(); - return functions.map(func => { + functions.forEach(func => { const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); item.detail = '内置函数'; item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); // 为函数创建带参数的插入文本 if (func.params.length > 0) { + // 普通函数不自动填写第一个参数,用户需要手动输入 + if (func.params.length > 1) { + // 从第二个参数开始添加占位符 + const remainingParams = func.params.slice(1); + const paramText = remainingParams.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); + item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); + } else { + // 只有一个参数或无参数 + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + } else { + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + + completions.push(item); + }); + + // 添加扩展函数(自动填写所有参数) + const functionEx = this.apiParser.getFunctionEx(); + functionEx.forEach(func => { + const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); + item.detail = '扩展函数'; + item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); + + // 为函数创建带参数的插入文本 + if (func.params.length > 0) { + // 扩展函数自动填写所有参数 const paramText = func.params.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); } else { item.insertText = new vscode.SnippetString(`${func.name}()`); } - return item; + completions.push(item); }); + + return completions; } // 获取API类完成项 diff --git a/src/providers/hoverProvider.ts b/src/providers/hoverProvider.ts index c993df1..f7f3d82 100644 --- a/src/providers/hoverProvider.ts +++ b/src/providers/hoverProvider.ts @@ -37,7 +37,8 @@ export class HoverProvider implements vscode.HoverProvider { // 首先检查是否是API函数 const apiFunction = this.apiParser.getFunctionByName(word); if (apiFunction) { - const signature = this.apiParser.generateFunctionSignature(apiFunction); + const isFunctionEx = this.apiParser.isFunctionEx(apiFunction.name); + const signature = this.apiParser.generateFunctionSignature(apiFunction, isFunctionEx); let hoverContent = ` 内置函数: ${signature}\n\n`; hoverContent += `${apiFunction.description}\n\n`; diff --git a/新库函数示范.json b/新库函数示范.json new file mode 100644 index 0000000..2f2f346 --- /dev/null +++ b/新库函数示范.json @@ -0,0 +1,277 @@ +{ + "functions": [ + { + "name": "file", + "description": "", + "params": [], + "returns": { + "type": "void", + "description": "" + } + }, + { + "name": "close", + "description": "关闭文件流", + "params": [], + "returns": { + "type": "void", + "description": "" + } + }, + { + "name": "len", + "description": "获取数据长度", + "params": [ + { + "name": "data", + "type": "object", + "description": "基本数据类型" + } + ], + "returns": { + "type": "int", + "description": "" + } + } + ], + "functionEx": [ + { + "name": "sq_RGB", + "description": "颜色空间", + "params": [ + { + "name": "R", + "type": "int", + "description": "红色(0-255)" + }, + { + "name": "G", + "type": "int", + "description": "绿色(0-255)" + }, + { + "name": "B", + "type": "int", + "description": "蓝色(0-255)" + } + ], + "returns": { + "type": "object", + "description": "颜色对象" + } + }, + { + "name": "sq_RGBA", + "description": "颜色空间", + "params": [ + { + "name": "R", + "type": "int", + "description": "红色(0-255)" + }, + { + "name": "G", + "type": "int", + "description": "绿色(0-255)" + }, + { + "name": "B", + "type": "int", + "description": "蓝色(0-255)" + }, + { + "name": "A", + "type": "int", + "description": "透明度(0-255)" + } + ], + "returns": { + "type": "object", + "description": "颜色对象" + } + } + ], + "classes": [ + { + "name": "String", + "description": "字符串类,提供字符串操作方法", + "methods": [ + { + "name": "len", + "description": "返回字符串长度", + "params": [], + "returns": { + "type": "integer", + "description": "字符串的长度" + } + }, + { + "name": "slice", + "description": "返回字符串的子串", + "params": [ + { + "name": "start", + "type": "integer", + "description": "起始位置" + }, + { + "name": "end", + "type": "integer", + "description": "结束位置(可选)", + "optional": true + } + ], + "returns": { + "type": "string", + "description": "子串" + } + }, + { + "name": "find", + "description": "查找子串在字符串中的位置", + "params": [ + { + "name": "substr", + "type": "string", + "description": "要查找的子串" + } + ], + "returns": { + "type": "integer", + "description": "子串的位置,未找到返回-1" + } + } + ], + "properties": [ + { + "name": "length", + "type": "integer", + "description": "字符串的长度" + } + ] + }, + { + "name": "Array", + "description": "数组类,提供数组操作方法", + "methods": [ + { + "name": "len", + "description": "返回数组长度", + "params": [], + "returns": { + "type": "integer", + "description": "数组的长度" + } + }, + { + "name": "append", + "description": "向数组末尾添加元素", + "params": [ + { + "name": "value", + "type": "any", + "description": "要添加的元素" + } + ], + "returns": { + "type": "void", + "description": "无返回值" + } + }, + { + "name": "pop", + "description": "移除并返回数组最后一个元素", + "params": [], + "returns": { + "type": "any", + "description": "被移除的元素" + } + } + ], + "properties": [ + { + "name": "length", + "type": "integer", + "description": "数组的长度" + } + ] + }, + { + "name": "Table", + "description": "表类,提供表操作方法", + "methods": [ + { + "name": "len", + "description": "返回表中键值对的数量", + "params": [], + "returns": { + "type": "integer", + "description": "键值对的数量" + } + }, + { + "name": "rawget", + "description": "获取指定键的值", + "params": [ + { + "name": "key", + "type": "any", + "description": "键" + } + ], + "returns": { + "type": "any", + "description": "键对应的值" + } + }, + { + "name": "rawset", + "description": "设置指定键的值", + "params": [ + { + "name": "key", + "type": "any", + "description": "键" + }, + { + "name": "value", + "type": "any", + "description": "值" + } + ], + "returns": { + "type": "void", + "description": "无返回值" + } + } + ], + "properties": [] + } + ], + "constants": [ + { + "name": "PI", + "value": "3.14159", + "description": "圆周率", + "category": "math" + }, + { + "name": "true", + "value": "true", + "description": "布尔真值", + "category": "boolean" + }, + { + "name": "false", + "value": "false", + "description": "布尔假值", + "category": "boolean" + }, + { + "name": "null", + "value": "null", + "description": "空值", + "category": "general" + } + ] +} \ No newline at end of file