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)
|
# Patch Notes - v2.25.0 (2026-04-30)
|
||||||
|
|
||||||
## 🚀 UX Optimization & Stability (Kodari Approved)
|
## 🚀 UX Optimization & Stability (Kodari Approved)
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
"name": "g1nation",
|
"name": "g1nation",
|
||||||
"displayName": "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.",
|
"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",
|
"publisher": "connectailab",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"icon": "assets/icon.png",
|
"icon": "assets/icon.png",
|
||||||
|
|||||||
+23
-4
@@ -1786,14 +1786,33 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn
|
|||||||
document.body.addEventListener('drop', e => {
|
document.body.addEventListener('drop', e => {
|
||||||
const dt = e.dataTransfer;
|
const dt = e.dataTransfer;
|
||||||
const files = dt.files;
|
const files = dt.files;
|
||||||
|
const textData = dt.getData('text/plain');
|
||||||
|
|
||||||
// ⭐ Kodari PD 가이드 반영: Input 요소의 상태를 드롭된 파일로 강제 동기화
|
// 1. OS 파일 드래그 처리 (기존 첨부 로직)
|
||||||
if (files && files.length > 0) {
|
if (files && files.length > 0) {
|
||||||
fileInput.files = files; // Input의 files 속성 업데이트
|
fileInput.files = files;
|
||||||
console.log(\`✅ [DnD] Input 상태 동기화 성공: \${files[0].name} 외 \${files.length - 1}개\`);
|
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);
|
}, false);
|
||||||
|
|
||||||
function send() {
|
function send() {
|
||||||
|
|||||||
Reference in New Issue
Block a user