Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>DB-query-formatter(mybatis)New to Visual Studio Code? Get it now.
DB-query-formatter(mybatis)

DB-query-formatter(mybatis)

Luca Park

| (0) | Free
Formatter for MyBatis mapper XML and embedded SQL
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

DB Query Formatter (MyBatis)

English

DB Query Formatter (MyBatis)는 VS Code에서 MyBatis Mapper XML을 정리해 주는 포맷터 확장입니다.

XML 태그 계층과 Mapper 내부 SQL을 함께 포맷해서, 길게 한 줄로 작성된 쿼리나 들쭉날쭉한 들여쓰기를 읽기 쉬운 형태로 정리합니다.

지원 대상

다음 조건 중 하나를 만족하는 문서를 포맷합니다.

  • MyBatis Mapper DOCTYPE이 포함된 XML
  • 루트 태그가 mapper인 XML

일반 XML 문서는 이 확장의 포맷 대상이 아닙니다.

주요 기능

  • mapper 구조에 맞춘 XML 들여쓰기 정리
  • select, insert, update, delete, selectKey, sql 내부 SQL 포맷
  • SELECT, FROM, JOIN, ON, WHERE, GROUP BY, ORDER BY, SET, VALUES 기준 줄바꿈
  • 긴 속성이 있는 태그를 여러 줄로 분리
  • 중첩 서브쿼리 정리
  • <![CDATA[ <= ]]> 같은 비교 연산 포함 쿼리 처리
  • MyBatis placeholder (#{...}, ${...}) 유지
  • SQL 키워드 대문자 정규화
  • SQL 사이에 들어간 MyBatis 동적 태그(if 등) 유지

설치

VSIX로 설치

프로젝트 루트에서 패키징합니다.

vsce package

VS Code에서 Extensions: Install from VSIX...를 실행한 뒤 생성된 .vsix 파일을 선택하면 됩니다.

개발 모드로 실행

npm install
npm run compile

그다음 VS Code에서 F5를 눌러 Extension Development Host를 실행합니다.

사용 방법

  1. MyBatis Mapper XML 파일을 엽니다.
  2. 언어 모드가 XML인지 확인합니다.
  3. Format Document를 실행합니다.

기본 단축키:

  • macOS: Shift + Option + F
  • Windows / Linux: Shift + Alt + F

여러 XML 포맷터를 함께 사용 중이라면 Format Document With...에서 이 확장을 기본 포맷터로 지정하면 됩니다.

포맷 기준

이 확장은 다음 상황에 초점을 맞춥니다.

  • MyBatis Mapper에서 자주 사용하는 일반적인 SQL
  • 조인과 조건절이 섞인 조회 쿼리
  • VALUES ((SELECT ...)) 형태의 서브쿼리
  • CDATA로 감싼 비교 연산자
  • SQL 중간에 들어가는 동적 태그

반대로 아래와 같은 경우에는 결과를 한 번 더 확인하는 편이 좋습니다.

  • 벤더 전용 힌트 문법이 많은 쿼리
  • 사람이 수동 정렬한 특수 레이아웃을 반드시 유지해야 하는 경우
  • 매우 복잡한 동적 SQL 조합

개발

스크립트

npm run compile
npm run watch
npm run lint
npm test

테스트

포맷터 테스트는 src/test/extension.test.ts에 있습니다.

npm test는 vscode-test를 사용하므로 환경에 따라 VS Code 테스트 런타임이 필요할 수 있습니다.

버전 정보

현재 버전: 0.1.2

변경 내역은 CHANGELOG.md에서 확인할 수 있습니다.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft