diff --git a/CHANGELOG.md b/CHANGELOG.md index 779f129..39e51d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ 所有重要的项目变更都将记录在此文件中。 -## [1.0.0] - 2026-01-13 +## [1.0.2] - 2026-01-13 IC Coder插件端正式发布。 diff --git a/package.json b/package.json index f9d58f4..dde9723 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,8 @@ "media", "tools", "src/assets", - "LICENSE" + "LICENSE", + "CHANGELOG.md" ], "dependencies": { "@wavedrom/doppler": "^1.14.0", diff --git a/src/views/ICViewProvider.ts b/src/views/ICViewProvider.ts index 4c1e6c3..894b00c 100644 --- a/src/views/ICViewProvider.ts +++ b/src/views/ICViewProvider.ts @@ -109,6 +109,9 @@ export function showICHelperPanel(context: vscode.ExtensionContext) { case "showInfo": vscode.window.showInformationMessage(message.text); break; + case "showWarning": + vscode.window.showWarningMessage(message.message); + break; // 新增:处理用户回答 case "submitAnswer": handleUserAnswer( diff --git a/src/views/exampleShowcase.ts b/src/views/exampleShowcase.ts index 8855dfd..262d8fa 100644 --- a/src/views/exampleShowcase.ts +++ b/src/views/exampleShowcase.ts @@ -226,8 +226,20 @@ export function getExampleShowcaseScript(): string { '生成一个GMII接口的以太网UDP通信模块' ]; + // 存储待发送的示例索引 + let pendingExampleIndex = -1; + // 直接发送示例消息 function sendExample(index) { + // 先检查工作区 + pendingExampleIndex = index; + vscode.postMessage({ + command: 'checkWorkspace' + }); + } + + // 实际发送示例消息 + function doSendExample(index) { const messageInput = document.getElementById('messageInput'); const sendButton = document.getElementById('sendButton'); diff --git a/src/views/inputArea.ts b/src/views/inputArea.ts index 9baa1bd..fb5b829 100644 --- a/src/views/inputArea.ts +++ b/src/views/inputArea.ts @@ -300,7 +300,6 @@ export function getInputAreaScript(): string { ${getContextDisplayScript()} ${getContextCompressScript()} ${getOptimizeButtonScript()} - ${getExampleShowcaseScript()} // 对话状态管理 let isConversationActive = false; @@ -310,6 +309,8 @@ export function getInputAreaScript(): string { let hasCheckedWorkspace = false; // 是否已经检测过工作区 let hasWorkspace = true; // 工作区状态 + ${getExampleShowcaseScript()} + // 切换输入框布局模式 function updateInputAreaLayout() { const inputArea = document.getElementById('inputArea'); diff --git a/src/views/webviewContent.ts b/src/views/webviewContent.ts index c8b810e..83b0bf6 100644 --- a/src/views/webviewContent.ts +++ b/src/views/webviewContent.ts @@ -635,6 +635,14 @@ export function getWebviewContent( if (typeof hasWorkspace !== 'undefined') { hasWorkspace = message.hasWorkspace; console.log('[WebView] 工作区状态:', hasWorkspace); + + // 如果有待发送的示例,且工作区存在,则发送 + if (hasWorkspace && typeof pendingExampleIndex !== 'undefined' && pendingExampleIndex >= 0) { + if (typeof doSendExample === 'function') { + doSendExample(pendingExampleIndex); + pendingExampleIndex = -1; // 重置 + } + } } break;