문서도구
편집기와 검색
구문 강조, 언어 감지, 언어 서버 자동 완성을 지원하는 편집기와 무시된 파일까지 보여 주는 파일 탐색기로 파일을 열고 편집합니다.
Kiln에는 터미널 옆에서 쓸 수 있는 파일 편집기가 있습니다. 구문 강조, 언어 서버 자동 완성, 파일 탐색기를 갖추고 있어, 작업을 벗어나지 않고 같은 워크스페이스에서 파일, 검색, 문제를 열 수 있습니다.

편집기와 도구 열기
워크스페이스 인스펙터의 파일을 누르면 파일 탐색기가 열립니다. 제목 표시줄의 도구 메뉴에는 파일, 검색, 소스 제어, GitHub, 데이터베이스, 원격 연결, 문제가 한데 모여 있습니다. 무엇을 고르든 현재 작업 옆에 열립니다. 창이 좁을 때는 작업으로 돌아가기를 눌러 터미널로 돌아옵니다.
파일 탐색기
탐색기는 기본적으로 Git에서 무시하는 파일과 폴더도 보여 줍니다. .env, .env.prod, 로그, 생성된 디렉터리 등이 여기에 해당합니다. 이런 파일도 다른 파일처럼 클릭하거나 키보드로 이동해 열 수 있습니다.
- 무시된 항목은 이름과 아이콘이 흐리게 표시되고 작은 제외됨 배지가 붙습니다.
- 무시된 항목에 마우스를 올리면 어떤 규칙 때문에 제외되었는지 볼 수 있습니다.
- 폴더 내용은 펼칠 때만 불러옵니다.
- 무시된 파일 숨기기를 선택하면 목록에서 무시된 파일이 빠집니다.
무시된 파일을 보이거나 숨겨도 Git 추적 상태나 저장소의 ignore 규칙은 바뀌지 않습니다. 내부 메타데이터인 .git과 .DS_Store는 항상 숨겨져 있습니다.
언어 감지
편집기는 내장 문법으로 구문을 강조합니다. 언어는 먼저 파일 이름과 확장자로 판단하고, 그다음 shebang이나 JSON 문서, XML, HTML doctype, PHP 헤더처럼 알아볼 수 있는 내용 특징으로 판단합니다. 일반 문장만 보고 언어를 추측하지는 않습니다.
감지된 언어를 바꾸려면 문서 위의 언어 선택기를 사용합니다. 일반 텍스트를 포함해 원하는 언어를 고르거나, 자동 감지로 되돌릴 수 있습니다.
- 선택한 언어는 저장된 파일이든 저장하지 않은 변경이 있는 파일이든 재시작한 뒤에도 유지됩니다.
- 스크립트의 shebang을 고치거나 Kiln 밖에서 바뀐 파일을 다시 불러오면 감지 결과가 갱신됩니다.
- 선택한 언어에 따라 구문 강조, 주석 명령, 설정된 언어 서버에 전달하는 언어가 정해집니다.
자동 완성
식별자의 앞부분을 입력하면 자동 완성 제안이 나타납니다. 목록을 직접 열 수도 있습니다.
| 동작 | 방법 |
|---|---|
| 제안 열기 | ⌃Space, ⌥Esc, 또는 자동완성 클릭 |
| 후보 선택 | 화살표 키 |
| 삽입 | Enter 또는 Tab |
| 목록 닫기 | Esc |
| 전체 이름과 세부 정보 보기 | 잘린 항목에 마우스 올리기 |
입력기(IME)로 글자를 조합하는 동안에는 입력 키와 후보 선택 키를 IME가 그대로 씁니다. Kiln의 자동 완성이 이 키를 가로채지 않습니다.
제안을 수락하면 Kiln은 서버가 보낸 전체 치환과 추가 편집을 한 번의 실행 취소 단위로 적용합니다. 커서를 옮기거나 문서를 고친 뒤에 도착한 제안은 버립니다.
언어 서버
설치된 언어 서버가 의미 기반 제안을 제공합니다. Kiln에는 다음 언어의 기본 설정이 들어 있습니다.
| 언어 | 언어 서버 |
|---|---|
| Rust | rust-analyzer |
| Go | gopls |
| JavaScript, TypeScript | typescript-language-server |
| Python | pyright-langserver 또는 pylsp |
| C, C++ | clangd |
| Lua | lua-language-server |
사용하는 언어의 서버를 설치하기만 하면 Kiln이 사용합니다. 언어, 파일 확장자, 명령, 인수를 바꾸려면 lsp.json 설정을 편집하세요.
언어 서버는 평소의 PATH에 지원되는 설치 위치와 서버 자체 폴더를 더한 경로로 시작합니다. 그래서 인터프리터를 거쳐 실행되는 서버도 동작합니다. 하위 프로젝트가 중첩된 프로젝트에서는 파일마다 가장 가까운 프로젝트 표식을 기준으로 삼습니다. 이 동작은 터미널이나 워크스페이스의 작업 디렉터리에 영향을 주지 않습니다.
언어 서버가 없을 때
언어 서버가 연결되어 있지 않아도 Kiln은 언어 제안 또는 문서의 단어로 표시된 로컬 제안을 보여 줍니다.
- 자주 쓰는 키워드, 리터럴, 내장 이름이 언어별로 들어 있습니다. JavaScript와 TypeScript는 목록이 따로 있습니다.
- 그 밖의 문법에서는 열린 문서에서 일치하는 단어를 제안합니다.
- 로컬 제안은 의미 기반이 아니므로 다른 파일의 import, 타입, 심볼을 해석하지 않습니다.
- 큰 문서에서도 반응 속도를 유지하도록 검사 범위를 제한합니다. 바이너리 모드와 대용량 파일 모드에서는 자동 완성을 제공하지 않습니다.
검색과 문제
프로젝트 검색과 문제 목록은 제목 표시줄의 도구 메뉴에서 파일, 소스 제어 옆에 있습니다. 둘 다 현재 작업 옆에 열리므로 터미널 작업은 그대로 둔 채 쓸 수 있습니다.
원격 파일
S3, OCI, GCS, R2, FTP, SFTP의 파일도 같은 편집기에서 열립니다. 원격 파일과 SSH를 참고하세요.
Windows
편집기는 Windows에서도 똑같이 동작합니다. 한국어 IME 조합과 확정도 터미널에서와 마찬가지로 편집기에서 동작합니다.