codingstairs
노트에듀라이프연락
⌕검색⌘K
koen

Navigation

  • Intro
  • Blog
  • Life

연락하기

로그인 없이도 보낼 수 있어요. 답변이 필요하면 이메일을 함께 적어 주세요.

  • 익명 폼으로 의견 남기기 →
  • ✉ warragon112@gmail.com
  • 카카오톡 오픈채팅 ↗

© 2026 codingstairs

  • 노트
  • 에듀
  • 검색
  • 라이프
  • 연락
  • 약관
  • RSS
  • GitHub
노트›tools

에디터 설정

2026-04-28 게시· 2026-05-18 갱신·0회 조회

에디터 설정

에디터는 코드를 입력하고 읽는 일의 대부분이 일어나는 도구. 이 글은 대표 에디터 · 표준 프로토콜 (LSP · DAP) · EditorConfig.

1. Visual Studio Code

Microsoft 가 2015 년 4월 Build 컨퍼런스에서 공개. 같은 해 11월 MIT 라이선스로 오픈소스화 (저장소 microsoft/vscode). Electron (Chromium + Node.js) 위에 TypeScript 로 작성. 마켓플레이스의 확장 다수가 무료라는 점, 그리고 Microsoft 가 같은 시기에 표준화한 LSP · DAP 가 결합되며 입문 에디터의 기본 선택지로 자리잡음.

VS Code 에는 두 갈래 — Microsoft 가 배포하는 빌드 (텔레메트리 · 일부 독점 확장) 와, 같은 소스를 빌드한 VSCodium (커뮤니티, telemetry 제거).

2. LSP — Language Server Protocol

Microsoft 가 2016 년 처음 공개. 에디터와 언어 도구 (자동완성 · 이동 · 진단) 사이의 JSON-RPC 프로토콜. 서버를 한 번 만들면 LSP 를 따르는 어떤 에디터에서도 동작. 결과적으로 Neovim · Helix · Zed · Emacs · VS Code · JetBrains 가 같은 언어 서버를 공유할 수 있는 기반.

3. DAP — Debug Adapter Protocol

Microsoft 가 2018 년 공개. 디버거와 에디터 사이의 프로토콜. LSP 와 같은 의도를 디버거에 적용.

4. JetBrains 계열

IntelliJ IDEA (2001) · PyCharm (2010) · WebStorm (2010) · GoLand (2017) 등. 언어별로 깊이 통합된 정적 분석 · 리팩터 · 디버거가 강점. 유료 (개인용 일부 무료) 라이선스. Android Studio 는 IntelliJ Platform 을 기반.

5. Cursor · Zed · Neovim

  • Cursor (2023, Anysphere) — VS Code 포크 위에 AI 보조를 통합.
  • Zed (2024, Zed Industries) — Rust. Atom 의 핵심 인력이 만든 GPU 가속 에디터. macOS 우선이었으나 Linux · Windows 지원이 진행 중.
  • Neovim (2014) — Vim 의 포크. Lua 설정 · 내장 LSP 클라이언트.

6. EditorConfig

editorconfig.org 의 표준. .editorconfig 파일에 들여쓰기 · 줄바꿈 · 인코딩 같은 기본 규약을 적어 두면 다수 에디터가 자동으로 따름. VS Code 는 확장 (EditorConfig.EditorConfig) 으로, JetBrains 는 내장.

7. VS Code 핵심 확장

영역 확장
포맷 Prettier · Biome
린트 ESLint · Ruff · Java by Red Hat
언어 Python (ms-python) · Pylance · Rust Analyzer · Go · Java Extension Pack
Git GitLens
환경 EditorConfig · Remote SSH · WSL · Dev Containers
디버그 DAP 기반 각 언어 디버거

확장 중 다수가 LSP 서버를 자동 설치 · 관리. Pylance 를 설치하면 Microsoft 의 Python 언어 서버를 함께 받음.

8. 워크스페이스 설정

.vscode/settings.json 에 두면 사용자 글로벌 설정과 분리. 팀이 공유하는 규약은 워크스페이스 쪽이 적합:

// .vscode/settings.json
{
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true
  },
  "files.eol": "\n",
  "files.insertFinalNewline": true
}

.vscode/extensions.json 에 권장 확장을 적어 두면 새 협업자에게 자동 안내.

.editorconfig 예:

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2

[*.{md,markdown}]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

9. 다른 길

선택은 환경에 따라 갈림.

  • Java / Kotlin 대규모 프로젝트나 깊은 리팩터가 잦으면 IntelliJ 계열의 정적 분석이 효율적.
  • 가벼운 다언어 작업 · 풍부한 확장 · 원격 / 컨테이너 개발 (Remote SSH · Dev Containers) 이 중요하면 VS Code.
  • 키보드 중심 워크플로 · 터미널 안 작업 · 서버 SSH 환경에서는 Neovim 이 빠름.
  • AI 보조 통합을 우선하면 Cursor · Windsurf 같은 VS Code 포크 또는 VS Code + Copilot 조합.

10. 설치 예

# Windows: winget
winget install -e --id Microsoft.VisualStudioCode
winget install -e --id JetBrains.IntelliJIDEA.Community
# macOS: Homebrew
brew install --cask visual-studio-code
brew install --cask intellij-idea-ce
brew install neovim

확장 설치 (VS Code CLI):

code --install-extension EditorConfig.EditorConfig
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension charliermarsh.ruff

11. 자주 걸리는 자리

사용자 글로벌 vs 워크스페이스 충돌 — 포매터가 두 개 동작하는 사고. editor.defaultFormatter 를 언어별로 명시.

ESLint + Prettier 동시 사용 시 규칙 충돌 — eslint-config-prettier 가 충돌 규칙을 끄는 표준 처방. 또는 Biome 처럼 한 도구로 묶는 선택.

WSL · Remote SSH 환경에서 확장 — "원격에서 다시 설치" 가 필요하다는 안내를 놓쳐 자동완성이 동작 안 하는 경우.

\r\n vs \n 섞임 — .editorconfig 의 end_of_line = lf 와 .gitattributes 의 * text=auto eol=lf 를 함께 두면 일관성 유지.

JetBrains IDE 인덱싱 — 인덱싱이 끝나기 전 검색 결과가 비어 보이는 경우. 인덱싱 진행 표시줄 확인.

하고픈 말

LSP · DAP 의 표준화 덕분에 같은 언어 서버를 여러 에디터가 공유합니다. 도구는 취향이지만 EditorConfig · .gitattributes 의 일관성은 팀 자산. AI 보조 (Cursor · Copilot · Claude Code) 의 등장으로 에디터 안의 워크플로가 빠르게 변하는 시기, 단 본업의 도구 자체는 단순할수록 안전.

Next

  • linting-formatting
  • python-venv-poetry-history

VS Code 공식 문서 · Language Server Protocol · Debug Adapter Protocol · EditorConfig 공식 사이트 · JetBrains 공식 사이트 · Neovim 공식 사이트 · Zed 공식 사이트 · VSCodium · Awesome LSP Servers 를 참고합니다.

tools 카테고리의 다른 글

카테고리 전체 보기 →
  • Git Submodule · Subtree · LFS — 저장소 안에 다른 저장소
  • 정규표현식 — 패턴으로 문자열을 찾기
  • Python 의존성 도구의 역사
  • 린팅과 포매팅
  • Gradle
  • Git 워크플로