feat: VS Code Explorer 경로 드래그 앤 드롭 지원 (v2.26.0)

This commit is contained in:
2026-04-30 14:27:54 +09:00
parent d728e861fc
commit 8c34f0c51b
3 changed files with 32 additions and 5 deletions
+23 -4
View File
@@ -1786,14 +1786,33 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn
document.body.addEventListener('drop', e => {
const dt = e.dataTransfer;
const files = dt.files;
const textData = dt.getData('text/plain');
// ⭐ Kodari PD 가이드 반영: Input 요소의 상태를 드롭된 파일로 강제 동기화
// 1. OS 파일 드래그 처리 (기존 첨부 로직)
if (files && files.length > 0) {
fileInput.files = files; // Input의 files 속성 업데이트
fileInput.files = files;
console.log(\`✅ [DnD] Input 상태 동기화 성공: \${files[0].name}\${files.length - 1}\`);
}
processFiles(files);
}
processFiles(files);
// 2. VS Code / Antigravity Explorer 경로 처리 (텍스트 입력 로직)
// 파일 객체가 없거나, 경로 정보를 텍스트로도 넣고 싶을 때 작동
if (textData && textData.trim().length > 0) {
const currentVal = input.value;
const spacer = currentVal.length > 0 && !currentVal.endsWith('\n') ? '\n' : '';
input.value = currentVal + spacer + textData.trim();
// Textarea 높이 및 상태 동기화
input.style.height = 'auto';
input.style.height = input.scrollHeight + 'px';
setDraftActive(true);
// 시각적 피드백
if (!files || files.length === 0) {
showToast('📂 경로가 입력되었습니다.', 'success');
Sound.success();
}
}
}, false);
function send() {