코드 에디터
Blyck의 코드 에디터는 VS Code와 같은 Monaco 엔진 기반입니다. LSP 언어 지능, 인라인 AI 편집, 코드 실행, DB 링크(SQL 자동완성), SFTP 원격 편집이 편집 흐름 안으로 통합되어 있습니다.
파일 열기 & 저장
Section titled “파일 열기 & 저장”파일 트리 또는 터미널 출력에서 더블클릭하면 에디터가 열립니다. 트리의 새 파일 버튼으로 Untitled 파일도 만들 수 있습니다.
| 파일 크기 | 처리 방식 |
|---|---|
| 2MB 이하 | Monaco 편집기로 열림 |
| 2 ~ 32MB | 읽기 전용 뷰어 (탭에 [읽기 전용] 표시) |
| 32MB 초과 | OS 기본 앱으로 열도록 안내 |
| 형식 | 동작 |
|---|---|
| 이미지 (PNG·JPG·GIF·WebP·SVG 등) | 내장 이미지 뷰어 |
| 내장 PDF 뷰어 (32MB까지) | |
마크다운 (.md) | 툴바 미리보기 버튼으로 렌더링 HTML ↔ 편집 모드 전환 |
| 오피스 (xlsx·docx·pptx) | OS 기본 앱 — 원격 파일은 자동 다운로드 후 실행 |
언어 지능 (LSP)
Section titled “언어 지능 (LSP)”Monaco 내장 — 설치 불필요
Section titled “Monaco 내장 — 설치 불필요”TypeScript와 JavaScript는 Monaco 내장 분석 엔진으로 바로 동작합니다. 별도 설치나 설정이 없습니다.
외부 LSP 서버 — 자동 설치
Section titled “외부 LSP 서버 — 자동 설치”Python·Go·Rust·C·C++·C#·Lua·Bash·JSON·YAML 등은 전용 LSP 서버를 사용합니다. 해당 언어 파일을 처음 열면 “다운로드할까요?” 모달이 표시되고, 승인하면 백그라운드에서 자동 설치됩니다.
| 언어 | LSP 서버 |
|---|---|
| Python | Pyright |
| Go | gopls |
| Rust | rust-analyzer |
| C / C++ | clangd |
| C# | csharp-ls |
| Lua | lua-language-server |
| Bash | bash-language-server |
| JSON / YAML | vscode-json-language-server / yaml-language-server |
설치 진행 상황이 UI에 표시되며, 시스템 PATH에 이미 있으면 그것을 우선 사용합니다. 없으면 npm 또는 GitHub 릴리스에서 OS·아키텍처에 맞는 바이너리를 받아 앱 내부에 보관합니다.
| 기능 | 지원 |
|---|---|
| 자동완성 (IntelliSense) | ✅ |
| 호버 힌트 (타입·시그니처) | ✅ |
| 진단 (구문·타입 오류 빨간 줄) | ✅ |
| 함수 시그니처 힌트 | ✅ |
| 심볼 이름 일괄 변경 | ✅ |
| 정의로 이동 | ✅ (같은 파일 내) |
인라인 AI — Ctrl+I
Section titled “인라인 AI — Ctrl+I”Cursor 스타일의 인라인 편집입니다.
- 코드를 선택하고(없으면 파일 전체)
Ctrl+I또는 툴바 AI (Ctrl+I) 버튼 - 커서 근처 입력창에 지시를 입력합니다 — “에러 처리 추가”, “타입 안전하게”.
Enter로 전송,Shift+Enter로 줄바꿈,Esc로 취소. 입력창 우측 드롭다운에서 모델(Claude/Codex)을 바꿀 수도 있습니다. - 전송 전 RAG 컨텍스트 자동 검색 — 프로젝트에서 관련 코드를 찾아 AI에 함께 전달합니다 (“관련 코드 찾는 중…” 표시, 최대 4청크). 같은 패턴·컨벤션을 따른 수정이 나옵니다.
- 응답 첫 줄에 따라 두 가지 모드로 동작합니다:
- MODE:EDIT — 선택 영역은 인라인 diff(초록/빨강) + 적용/취소 툴바, 파일 전체는 좌우 분할 diff 모달. 적용 시 ChangeSet에 기록됩니다.
- MODE:ANSWER — 코드 수정 없이 설명·리뷰 답변 팝오버로 표시됩니다.
Apply한 변경은 활성 AI 세션의 ChangeSet에 기록되어 나중에 되돌릴 수 있습니다.
Ctrl+I는 에디터 밖에서도 동작합니다 — 터미널에서 누르면 선택한 출력을 AI가 분석하고, DB 결과 그리드에서 누르면 선택한 셀이 컨텍스트로 전달됩니다.
코드 실행 (▶ 실행)
Section titled “코드 실행 (▶ 실행)”로컬에 저장된 파일에서만 툴바에 ▶ 실행 버튼이 표시됩니다. 실행 중에는 ■ 중지로 토글됩니다.
프로젝트 타입 자동 감지
Section titled “프로젝트 타입 자동 감지”| 마커 파일 | 감지 타입 |
|---|---|
package.json | Node.js |
go.mod | Go |
Cargo.toml | Rust |
*.csproj | .NET |
pyproject.toml / setup.py | Python / pytest |
Makefile | Make |
CMakeLists.txt | CMake |
| (단일 파일) | 언어별 스크립트 실행 |
- 실행 명령($), 표준 출력(흰색), 표준 오류(빨간색)를 실시간으로 표시합니다(최대 5,000줄).
- Problem Matcher —
파일명:줄번호패턴의 에러를 파싱해 에디터에 빨간 마커로 표시합니다. 클릭하면 해당 줄로 바로 이동합니다.
코드 안의 SQL 자동완성 (DB 링크)
Section titled “코드 안의 SQL 자동완성 (DB 링크)”코드 파일에서 SQL 리터럴을 작성할 때 열려 있는 DB 연결의 스키마 기반 자동완성을 사용할 수 있습니다.
- 툴바 우측 DB 드롭다운에서 연결을 선택해 링크합니다.
- 코드 안의 SQL 리터럴(임베디드 SQL 또는 SQL 스크래치패드 조건)에서 자동완성이 활성화됩니다.
FROM/JOIN/UPDATE/INTO뒤에서 테이블 제안테이블명.뒤에서 컬럼 제안
- SQL 문장 위에 ▶ DB 실행 코드렌즈가 표시됩니다. 클릭 시:
- 조회(SELECT): 즉시 실행 후 결과 표시
- DML/DDL: 확인 모달을 거쳐 실행
SFTP 원격 편집
Section titled “SFTP 원격 편집”터미널·SSH·SFTP 트리에서 원격 파일을 열면 Monaco 에디터로 표시됩니다. Ctrl+S 저장 시 즉시 원격에 업로드되고 변경 이력에 기록됩니다.
좌측 파일 트리(Ctrl+Shift+E)는 로컬·SFTP 원격 모두 같은 방식으로 다룹니다.
- git 상태 배지 —
?untracked,+staged,-deleted,!충돌 (로컬 트리만) - 새 파일·새 폴더·새로고침,
F2이름 변경,Delete삭제 Ctrl+C/Ctrl+X/Ctrl+V복사·잘라내기·붙여넣기 (여러 파일 선택 가능)- 터미널 출력의 파일명 더블클릭으로도 에디터가 열립니다
프로젝트 전체 검색 — Ctrl+Shift+G
Section titled “프로젝트 전체 검색 — Ctrl+Shift+G”- 프로젝트 전체에서 텍스트를 검색합니다 (대소문자 무시, 한 번에 500파일까지)
- SFTP 원격 폴더도 검색됩니다
- 치환은 Replace Selected(선택한 결과만) / Replace All 두 가지 — 실행 전 “N개 파일, M곳 교체” 확인 모달을 거칩니다
AI가 에디터를 직접 다룹니다
Section titled “AI가 에디터를 직접 다룹니다”AI 채팅은 활성 에디터의 보이는 코드·선택 영역·커서 위치를 인지할 뿐 아니라, editor_inject 도구로 에디터에 직접 코드를 넣을 수도 있습니다. 검토 모드로 요청하면 즉시 적용하지 않고 diff 카드(Apply/Reject)를 띄워 사용자가 결정합니다.
자세한 내용은 AI 채팅 & RAG 검색을 참고하세요.
에디터 단축키
Section titled “에디터 단축키”| 키 | 동작 |
|---|---|
Ctrl+I | 인라인 AI 편집 |
Ctrl+S | 저장 (원격이면 업로드) |
Ctrl+F | 파일 내 검색 (정규식 지원) |
Ctrl+H | 파일 내 검색·치환 |
Ctrl+Shift+G | 프로젝트 전체 검색·치환 |
Ctrl+L | AI 채팅에 현재 파일 첨부 |
Esc | 파일 트리로 복귀 |
Ctrl+K | RAG 통합 검색 |
Ctrl+Shift+H | 변경 이력 (ChangeSet) |
Ctrl+= / Ctrl+- / Ctrl+0 | 에디터 폰트 확대/축소/기본 |
Q. LSP 자동완성이 안 됩니다. → 해당 언어 확장자 파일인지 확인하세요. 처음 열 때 “다운로드?” 모달이 표시되면 승인해야 설치됩니다. 원격 SFTP 파일은 LSP를 지원하지 않습니다.
Q. ▶ 실행 버튼이 안 보입니다. → 원격 파일이나 Untitled 파일에는 실행 버튼이 없습니다. 로컬에 저장된 파일에서만 표시됩니다.
Q. DB 드롭다운에 연결이 없습니다. → DB 클라이언트 패널에서 먼저 DB에 연결하세요. 드롭다운은 열 때마다 최신 목록으로 갱신됩니다.
Q. 마크다운 미리보기가 안 됩니다.
→ .md 파일을 에디터로 열면 툴바에 미리보기 버튼이 표시됩니다. 버튼을 클릭하면 렌더링 HTML로 전환됩니다.
Q. 원격 파일을 저장했는데 업로드가 안 됩니다.
→ SFTP 연결 상태를 확인하세요. 터미널·SSH·SFTP 트리에서 연결이 살아 있어야 Ctrl+S 저장 시 자동 업로드됩니다.
Q. 인라인 AI 적용 후 되돌리고 싶습니다.
→ Ctrl+Shift+H로 ChangeSet을 열고, 해당 항목의 되돌리기 버튼을 누르세요. 자세한 내용은 변경이력 & Git을 참고하세요.