fix: 三 tab 修复按钮一致性 — 全部诊断可修复 + AI 区域 header 加全部修复 + 移除底部冗余按钮
This commit is contained in:
-1
Submodule 2026-ai-b3 deleted from 1b09a76714
@@ -97,3 +97,4 @@
|
|||||||
| 2026-07-21 21:47 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 规则导入 Converter 架构:提取 RuleConverter 接口、YamlConverter/MdConverter/TxtConverter、ImportService,简化 setupView.ts addRule() | 无 | src/rules/converters/converter.ts src/rules/converters/yaml-converter.ts src/rules/converters/md-converter.ts src/rules/converters/txt-converter.ts src/rules/import-service.ts src/views/setupView.ts docs/superpowers/specs/2026-07-21-converter-architecture-design.md | deepseek-v4-flash |
|
| 2026-07-21 21:47 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 规则导入 Converter 架构:提取 RuleConverter 接口、YamlConverter/MdConverter/TxtConverter、ImportService,简化 setupView.ts addRule() | 无 | src/rules/converters/converter.ts src/rules/converters/yaml-converter.ts src/rules/converters/md-converter.ts src/rules/converters/txt-converter.ts src/rules/import-service.ts src/views/setupView.ts docs/superpowers/specs/2026-07-21-converter-architecture-design.md | deepseek-v4-flash |
|
||||||
| 2026-07-21 21:50 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 新增 Excel 导入支持:ExcelConverter + 更新文件选择过滤器 + 注册到 ImportService | 无 | src/rules/converters/excel-converter.ts src/views/setupView.ts package.json | deepseek-v4-flash |
|
| 2026-07-21 21:50 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | 新增 Excel 导入支持:ExcelConverter + 更新文件选择过滤器 + 注册到 ImportService | 无 | src/rules/converters/excel-converter.ts src/views/setupView.ts package.json | deepseek-v4-flash |
|
||||||
| 2026-07-21 22:04 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | Excel 导入改为全 AI 转换:移除固定列名校验,转为 Markdown 表格 → AI 识别 → YAML | 无 | src/rules/converters/excel-converter.ts docs/superpowers/specs/2026-07-21-excel-ai-converter-design.md | deepseek-v4-flash |
|
| 2026-07-21 22:04 | ① 用户提出 → ② 需求澄清 → ③ 方案设计 → ④ 人类审批 → ⑤ 编码实现 → ⑥ 审查验证 | Excel 导入改为全 AI 转换:移除固定列名校验,转为 Markdown 表格 → AI 识别 → YAML | 无 | src/rules/converters/excel-converter.ts docs/superpowers/specs/2026-07-21-excel-ai-converter-design.md | deepseek-v4-flash |
|
||||||
|
| 2026-07-22 20:40 | ① 用户提出 → ⑤ 编码实现 → ⑥ 审查验证 | 三 tab 修复按钮一致性:merger 中 fixableLinterIndices 取消 suggestion 过滤(全部可修复);AI 审查 section header 增加"全部修复"按钮;底部无效"批量修复"按钮移除 | 无 | src/merger/merger.ts src/panel/webview.ts | deepseek-v4-flash |
|
||||||
|
|||||||
@@ -53,9 +53,7 @@ export function mergeResults(input: MergeInput): MergedReport {
|
|||||||
const customRuleCount = customRuleDiagnostics.length;
|
const customRuleCount = customRuleDiagnostics.length;
|
||||||
const aiCount = input.aiFindings.length;
|
const aiCount = input.aiFindings.length;
|
||||||
|
|
||||||
const fixableLinterIndices = input.staticDiagnostics
|
const fixableLinterIndices = input.staticDiagnostics.map((_, i) => i);
|
||||||
.map((_, i) => i)
|
|
||||||
.filter(i => input.staticDiagnostics[i].suggestion);
|
|
||||||
|
|
||||||
const fixableCustomIndices = customRuleDiagnostics
|
const fixableCustomIndices = customRuleDiagnostics
|
||||||
.map((_, i) => i);
|
.map((_, i) => i);
|
||||||
|
|||||||
@@ -253,7 +253,6 @@ ${errorBox}
|
|||||||
<button class="btn btn-primary" onclick="send('rerun')">🔄 重新审查</button>
|
<button class="btn btn-primary" onclick="send('rerun')">🔄 重新审查</button>
|
||||||
<button class="btn" onclick="send('export')">📄 导出报告</button>
|
<button class="btn" onclick="send('export')">📄 导出报告</button>
|
||||||
<button class="btn" onclick="send('settings')">⚙️ 设置</button>
|
<button class="btn" onclick="send('settings')">⚙️ 设置</button>
|
||||||
<button class="btn" onclick="send('fixAll')">🔧 批量修复</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -300,7 +299,7 @@ ${errorBox}
|
|||||||
if (report.aiFindings.length === 0) {
|
if (report.aiFindings.length === 0) {
|
||||||
return '<div class="empty">无 AI 审查建议</div>';
|
return '<div class="empty">无 AI 审查建议</div>';
|
||||||
}
|
}
|
||||||
const parts: string[] = ['<div class="section-header"><span class="section-header-title">AI 审查建议 · ' + report.aiCount + ' 条</span></div>'];
|
const parts: string[] = ['<div class="section-header"><span class="section-header-title">AI 审查建议 · ' + report.aiCount + ' 条</span><button class="btn" onclick="send(\'fixAll\')">全部修复</button></div>'];
|
||||||
for (const f of report.aiFindings) {
|
for (const f of report.aiFindings) {
|
||||||
const details: string[] = [];
|
const details: string[] = [];
|
||||||
details.push(`<div class="detail-text">${esc(f.description)}</div>`);
|
details.push(`<div class="detail-text">${esc(f.description)}</div>`);
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
# Welcome to your VS Code Extension
|
|
||||||
|
|
||||||
## What's in the folder
|
|
||||||
|
|
||||||
* This folder contains all of the files necessary for your extension.
|
|
||||||
* `package.json` - this is the manifest file in which you declare your extension and command.
|
|
||||||
* The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin.
|
|
||||||
* `src/extension.ts` - this is the main file where you will provide the implementation of your command.
|
|
||||||
* The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`.
|
|
||||||
* We pass the function containing the implementation of the command as the second parameter to `registerCommand`.
|
|
||||||
|
|
||||||
## Get up and running straight away
|
|
||||||
|
|
||||||
* Press `F5` to open a new window with your extension loaded.
|
|
||||||
* Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`.
|
|
||||||
* Set breakpoints in your code inside `src/extension.ts` to debug your extension.
|
|
||||||
* Find output from your extension in the debug console.
|
|
||||||
|
|
||||||
## Make changes
|
|
||||||
|
|
||||||
* You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`.
|
|
||||||
* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes.
|
|
||||||
|
|
||||||
## Explore the API
|
|
||||||
|
|
||||||
* You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`.
|
|
||||||
|
|
||||||
## Run tests
|
|
||||||
|
|
||||||
* Install the [Extension Test Runner](https://marketplace.visualstudio.com/items?itemName=ms-vscode.extension-test-runner)
|
|
||||||
* Run the "watch" task via the **Tasks: Run Task** command. Make sure this is running, or tests might not be discovered.
|
|
||||||
* Open the Testing view from the activity bar and click the Run Test" button, or use the hotkey `Ctrl/Cmd + ; A`
|
|
||||||
* See the output of the test result in the Test Results view.
|
|
||||||
* Make changes to `src/test/extension.test.ts` or create new test files inside the `test` folder.
|
|
||||||
* The provided test runner will only consider files matching the name pattern `**.test.ts`.
|
|
||||||
* You can create folders inside the `test` folder to structure your tests any way you want.
|
|
||||||
|
|
||||||
## Go further
|
|
||||||
|
|
||||||
* [Follow UX guidelines](https://code.visualstudio.com/api/ux-guidelines/overview) to create extensions that seamlessly integrate with VS Code's native interface and patterns.
|
|
||||||
* Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension).
|
|
||||||
* [Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VS Code extension marketplace.
|
|
||||||
* Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration).
|
|
||||||
* Integrate to the [report issue](https://code.visualstudio.com/api/get-started/wrapping-up#issue-reporting) flow to get issue and feature requests reported by users.
|
|
||||||
Reference in New Issue
Block a user