/** * 一键优化按钮组件 */ /** * 获取一键优化按钮的 HTML 内容 */ export function getOptimizeButtonContent(): string { return `
一键优化
`; } /** * 获取一键优化按钮的样式 */ export function getOptimizeButtonStyles(): string { return ` /* 一键优化按钮样式 */ .optimize-button { padding: 8px; background: transparent; color: var(--vscode-foreground); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s ease; width: 32px; height: 32px; } .optimize-button:hover { opacity: 0.7; } .optimize-button svg { width: 16px; height: 16px; } .optimize-button-wrapper { display: flex; align-items: flex-end; } `; } /** * 获取一键优化按钮的脚本 */ export function getOptimizeButtonScript(): string { return ` let isOptimized = false; // 标记是否已优化 let originalText = ''; // 保存原始文本用于撤回 function handleOptimize() { if (isOptimized) { // 撤回操作 messageInput.value = originalText; resetOptimizeButton(); } else { // 优化操作 originalText = messageInput.value; // 保存原始文本 // 使用死数据替换输入框内容 const optimizedTexts = [ '请帮我优化这段代码,提高性能和可读性', '请分析这个问题并给出最佳解决方案', '请帮我重构这段代码,使其更加简洁高效', '请检查代码中的潜在问题并提供改进建议' ]; const randomText = optimizedTexts[Math.floor(Math.random() * optimizedTexts.length)]; messageInput.value = randomText; // 切换到撤回状态 isOptimized = true; updateOptimizeButton(); } messageInput.focus(); autoResizeTextarea(); } function updateOptimizeButton() { const optimizeIcon = document.getElementById('optimizeIcon'); const optimizeTooltip = document.getElementById('optimizeTooltip'); if (optimizeIcon && optimizeTooltip) { // 切换为撤回图标 optimizeIcon.innerHTML = ''; optimizeTooltip.textContent = '撤回'; } } function resetOptimizeButton() { const optimizeIcon = document.getElementById('optimizeIcon'); const optimizeTooltip = document.getElementById('optimizeTooltip'); if (optimizeIcon && optimizeTooltip) { // 切换回优化图标(星星图标) optimizeIcon.innerHTML = ''; optimizeTooltip.textContent = '一键优化'; } isOptimized = false; originalText = ''; } `; }