본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
OpenCode 고급 활용

기본 세팅

Ch1. 설치/업데이트Ch2. 고급 설정

에이전트 & 권한

Ch3. 에이전트 설계Ch4. 권한 정책Ch5. 모드 활용

워크플로우

Ch6. 커스텀 커맨드Ch7. TUI 고급 활용Ch8. 포매터 자동화Ch9. 모델 선택

확장 & 통합

Ch10. 플러그인 확장Ch11. GitHub & IDE 통합Ch12. LSP 코드 인텔리전스Ch13. 공유/프라이버시

검증

검증 리포트업데이트 내역
핸드북›OpenCode 고급 활용›Ch8. 포매터 자동화

Ch8. 포매터 자동화

opencode.json의 format 키로 확장자별 포매터를 지정해 파일 변경 시 prettier·black·gofmt 등을 자동 실행하고, 프론트/백엔드 팀 표준을 강제하는 방법입니다.

핵심 요약

  • opencode.json의 format 키에 "*.ts": "prettier --write"처럼 확장자별 포매터 명령을 지정합니다.
  • OpenCode가 파일을 수정하면 변경 감지 → 확장자 매칭 → 포매터 실행 → 결과 반영 순서로 알아서 포매팅합니다.
  • v1.2.6에서 D 언어(dfmt)와 Clojure(cljfmt) 포매터 지원이 추가되었습니다.
  • 프론트엔드(prettier)·백엔드(black/gofmt/rustfmt)별로 설정을 분리하고 *.{ts,tsx} 같은 glob으로 묶어 관리합니다.
  • 대규모 리팩토링 중에는 포매터 설정을 임시 제거해 불필요한 diff 충돌을 피합니다.

OpenCode는 파일이 바뀔 때마다 포매터를 자동으로 돌립니다. 팀 코드 스타일을 강제하려면 포매터 설정을 빠뜨리지 마세요.

포매터 설정

opencode.json에서 파일 확장자별 포매터를 지정합니다.

{
  "format": {
    "*.ts": "prettier --write",
    "*.tsx": "prettier --write",
    "*.py": "black",
    "*.go": "gofmt -w",
    "*.rs": "rustfmt",
    "*.d": "dfmt",
    "*.clj": "cljfmt fix"
  }
}

v1.2.6 추가

D 언어(dfmt)와 Clojure(cljfmt) 포매터가 v1.2.6에서 추가되었습니다.

동작 방식

  1. OpenCode가 파일을 수정하면 변경 감지
  2. 파일 확장자에 매칭되는 포매터를 조회
  3. 해당 포매터를 자동 실행
  4. 포매팅 결과를 파일에 반영

팀 표준 포매터 설정

{
  "format": {
    "*.ts": "prettier --write",
    "*.tsx": "prettier --write",
    "*.css": "prettier --write",
    "*.json": "prettier --write"
  }
}

고급 팁

  • 프로젝트 표준 포매터 고정: 포매터 옵션을 opencode.json에 팀 단위로 고정
  • 파일 유형별 분리: 언어별 포매터를 분리해 충돌 최소화
  • 포매터 비활성화: 대규모 리팩토링 시 포매터 설정을 임시로 제거
  • Glob 패턴 활용: *.{ts,tsx}처럼 여러 확장자를 묶어 관리

참고 문서

  • 포매터 설정: https://opencode.ai/docs/formatters
  • 구성 파일: https://opencode.ai/docs/config

관련 문서

검증 리포트

OpenCode 고급 활용 핸드북의 콘텐츠 검증 및 업데이트 이력

Ch7. TUI 고급 활용

/compact·/share 등 슬래시 커맨드, @파일·!셸·Tab 입력 기능, ctrl+x 리더 키바인딩과 tui.json 커스터마이즈, 컴팩트 모드·워크스페이스 등 생산성 팁을 다룹니다.

Ch9. 모델 선택

75개+ LLM 프로바이더 지원, model·small_model 분리, 추론 강도 변형(variants), 모델 선택 우선순위, 사내 게이트웨이 커스텀 프로바이더 등록을 정리합니다.

On this page

포매터 설정동작 방식팀 표준 포매터 설정고급 팁참고 문서