# SqlList-vscode **Repository Path**: lipz89/sql-list-vscode ## Basic Information - **Project Name**: SqlList-vscode - **Description**: vscode插件 通过文件的右键菜单发布文件到TFS发布目录 TFS数据库脚本管理 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-19 - **Last Updated**: 2026-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QuickShare SqlList for VSCode 将 SQL 脚本添加到执行列表,推送执行列表到发布目录,推送静态资源文件到发布目录。 ## 功能特性 - **配置 SqlList**: 在目录右键菜单中显示,用于初始化插件的配置文件 - **添加到执行列表**: 在 .sql 文件右键菜单中显示,将当前文件添加到执行列表中 - **推送执行列表到发布目录**: 在 ScriptList.json 文件右键菜单中显示,将执行列表推送至发布目录 - **推送静态资源到发布目录**: 在配置的静态资源文件右键菜单中显示,将静态资源推送至发布目录 ## 安装 ### 从 VSIX 安装 1. 下载最新的 `.vsix` 文件 2. 在 VSCode 中打开扩展面板(Ctrl+Shift+X) 3. 点击 "..." 菜单,选择 "从 VSIX 安装..." 4. 选择下载的 `.vsix` 文件 ### 从源码安装 1. 克隆仓库: ```bash git clone https://github.com/yourusername/quickshare-sqllist.git cd quickshare-sqllist ``` 2. 安装依赖: ```bash npm install ``` 3. 编译: ```bash npm run compile ``` 4. 打包: ```bash npm run package ``` 5. 安装生成的 `.vsix` 文件 ## 使用方法 ### 1. 配置 SqlList 1. 在资源管理器中右键点击目录 2. 选择 "配置SqlList" 3. 填写配置信息: - 发布目录路径 - 项目静态资源根目录(可选) - 静态资源文件扩展名(用分号分隔) 配置会保存在目录下的 `.sqllist/deploypath.json` 文件中。 ### 2. 添加到执行列表 1. 在资源管理器中右键点击 `.sql` 文件 2. 选择 "添加到执行列表" 3. 插件会: - 自动递增版本号 - 在脚本文件头部添加版本注释 - 更新 `SqlScripts/ScriptList.json` 文件 **注意**: SQL 文件必须位于项目的 `SqlScripts` 文件夹内。 ### 3. 推送执行列表到发布目录 1. 在资源管理器中右键点击 `ScriptList.json` 文件 2. 选择 "推送执行列表到发布目录" 3. 插件会: - 比较本地和远程的脚本版本 - 仅推送版本更新的脚本文件 - 自动处理 TFS 签出操作 - 更新远程的执行列表文件 ### 4. 推送静态资源到发布目录 1. 在资源管理器中右键点击静态资源文件(.html, .js, .css 等) 2. 选择 "推送静态资源到发布目录" 3. 插件会: - 验证文件类型是否符合配置 - 批量推送静态资源文件 - 自动处理 TFS 签出操作 ## 配置文件 ### deploypath.json 配置文件位于解决方案目录下的 `.sqllist/deploypath.json`: ```json { "path": "D:\\Deploy\\SqlScripts", "projectRootPath": "wwwroot", "staticFileExts": ".html;.js;.css;.dll;.exe;.frx" } ``` **配置项说明**: - `path`: 发布目录路径(必需) - `projectRootPath`: 项目静态资源根目录(可选) - `staticFileExts`: 静态资源文件扩展名(用分号分隔) ### ScriptList.json 执行列表文件位于项目目录下的 `SqlScripts/ScriptList.json`: ```json [ { "filePath": "Init/CreateDatabase.sql", "version": 1 }, { "filePath": "Init/CreateTables.sql", "version": 2 } ] ``` ## 目录结构 插件会在解决方案目录下创建以下结构: ``` 解决方案根目录/ ├── .sqllist/ # 配置目录 │ └── deploypath.json # 发布配置文件 └── 项目目录/ └── SqlScripts/ # SQL 脚本根目录 └── ScriptList.json # 执行列表文件 ``` ## TFS 集成 插件自动集成 TFS 版本控制,支持以下操作: - **签出文件**: 自动签出只读文件 - **获取文件**: 从 TFS 获取最新版本 - **添加文件**: 将新文件添加到 TFS 所有 TFS 操作都会记录到日志文件中。 ## 日志 ### VSCode 输出窗口 插件会在 VSCode 的输出窗口中显示操作日志,可以通过以下方式查看: 1. 打开输出面板(Ctrl+Shift+U) 2. 选择 "SqlList" 输出通道 ### 日志文件 TFS 命令执行日志保存在: ``` ~/.vscode/extensions/quickshare-sqllist-*/logs/log-YYYYMMDD.log ``` ## 开发 ### 环境要求 - Node.js 16.x 或更高版本 - VSCode 1.74.0 或更高版本 - TypeScript 4.9.4 ### 开发步骤 1. 安装依赖: ```bash npm install ``` 2. 编译代码: ```bash npm run compile ``` 3. 运行测试: ```bash npm run test ``` 4. 启动调试: - 按 F5 启动扩展开发主机 - 在新窗口中测试插件功能 ### 项目结构 ``` QuickShare.Vsix.SqlList.ForVSCode/ ├── src/ # 源代码 │ ├── extension.ts # 扩展主文件 │ ├── tfsHelper.ts # TFS 操作工具类 │ ├── configManager.ts # 配置管理类 │ └── scriptListManager.ts # 脚本列表管理类 ├── out/ # 编译输出 ├── package.json # 插件配置 ├── tsconfig.json # TypeScript 配置 ├── .vscodeignore # 打包忽略文件 └── README.md # 说明文档 ``` ## 常见问题 ### Q: 为什么看不到右键菜单? A: 请确保: 1. 已正确配置插件(目录下有 `.sqllist/deploypath.json` 文件) 2. SQL 文件位于 `SqlScripts` 文件夹内 3. 静态资源文件扩展名在配置中 ### Q: 推送失败怎么办? A: 请检查: 1. 发布目录路径是否正确 2. 是否有 TFS 工作区映射 3. 查看输出窗口的错误信息 ### Q: 版本号如何管理? A: 插件自动管理版本号: - 首次添加到列表时版本为 1 - 每次重新添加时版本号自动递增 - 推送时只推送版本更新的文件 ## 版本历史 ### 1.0.0 - 初始版本 - 支持配置 SqlList - 支持添加到执行列表 - 支持推送执行列表 - 支持推送静态资源 - TFS 集成 ## 许可证 MIT ## 贡献 欢迎提交 Issue 和 Pull Request! ## 联系方式 - 作者: lipz - 邮箱: your.email@example.com