feat: VS Code Explorer 경로 드래그 앤 드롭 지원 (v2.26.0)
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
# Patch Notes - v2.26.0 (2026-04-30)
|
||||
|
||||
## 📂 Enhanced Drag & Drop: Path Insertion
|
||||
- **New Feature:** VS Code Explorer나 Antigravity 탐색기에서 파일/폴더를 드래그하여 채팅창에 놓으면, 해당 **경로(Path)가 자동으로 텍스트 영역에 입력**됩니다.
|
||||
- **Workflow:** OS 탐색기 드래그 시에는 '파일 첨부', 내부 탐색기 드래그 시에는 '경로 입력'으로 동작하여 작업 효율을 극대화했습니다.
|
||||
|
||||
---
|
||||
|
||||
# Patch Notes - v2.25.0 (2026-04-30)
|
||||
|
||||
## 🚀 UX Optimization & Stability (Kodari Approved)
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
"name": "g1nation",
|
||||
"displayName": "G1nation",
|
||||
"description": "100% local AI coding agent for VS Code. Create files, edit code, run commands, and work offline with Ollama or LM Studio.",
|
||||
"version": "2.25.0",
|
||||
"version": "2.26.0",
|
||||
"publisher": "connectailab",
|
||||
"license": "MIT",
|
||||
"icon": "assets/icon.png",
|
||||
|
||||
+23
-4
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user