Visual Studio Code에서 들여 쓰기를 변경하는 방법?


344

모든 타입 스크립트 파일에 대해 Visual Studio 코드는 8 칸의 자동 들여 쓰기를 사용합니다. 이것은 내 취향에 비해 너무 많지만 어디에서 바꿀 것인지 찾을 수 없습니다.

설정으로 사용할 수 있지만 들여 쓰기와 관련된 것을 찾을 수 없으므로 다른 이름으로 사용 가능할 수 있습니다.

최신 정보

현재 Prettier 코드 포맷터를 사용하고 있으며 저장시 자동 서식 지정으로 모든 서식 문제를 해결합니다 (구문 오류가없는 경우)

답변:


110

전역 User수준 또는 Workspace수준 에서이를 변경할 수 있습니다 .

설정을 엽니 다 바로 가기 사용 ctrl + ,또는 클릭 File> Preferences> Settings다음과 같이합니다.

VS 코드 메뉴의 설정

그런 다음 다음 두 가지 변경을 수행하십시오. ( tabSize검색 막대에 입력)

  1. 의 확인란을 선택 취소하십시오 Detect Indentation
  2. 탭 크기를 2/4로 변경하십시오 (2는 JS에 적합하다고 생각하지만) :

여기에 이미지 설명을 입력하십시오


1
들여 쓰기를 위해 4 개의 공백을 사용하십시오.
Bohdan Kuts

3
@BohdanKuts 하하, 이것은 끝없는 논쟁이 될 것입니다
Xin

그래 :) 나는 그것에 대해 약간의 검색을하고 왜 그것이 2 칸이 된지를 알았습니다. 그리고 나에게 이유는 구식 인 것처럼 보이기 때문에 4 개의 공백을 사용하는 것이 좋습니다.
Bohdan Kuts

이것은 주관적이며 실제 이점이 없습니다. js, html 및 css와 같은 일부 파일 형식에는 2 개의 공백이 있고 가독성을 위해 코드에는 3 개의 공백이 있습니다. 공백이 4 개인 HTML 및 XML에서는 곧 오른쪽으로 스크롤해야합니다.
파블로 파 조스

574

오른쪽 하단의 도구 모음에 다음과 같은 항목이 표시됩니다. 여기에 이미지 설명을 입력하십시오 클릭하면 공백 또는 탭을 사용하여 들여 쓰기하는 옵션이 표시됩니다. 들여 쓰기 유형을 선택한 후 들여 쓰기의 크기를 변경할 수 있습니다. 위 예의 경우 들여 쓰기는 들여 쓰기 당 4 개의 공백 문자로 설정됩니다. 들여 쓰기 문자로 탭을 선택한 경우 공백 대신 탭 크기 가 표시 됩니다.

개별 파일이 아닌 모든 파일에 적용하려면 필요에 따라 사용자 설정 또는 작업 영역 설정Editor: Tab SizeEditor: Insert Spaces설정을 재정의하십시오.

편집 1

사용자 또는 작업 공간 설정을 얻으려면 환경 설정 -> 설정으로 이동하십시오 . 필요에 따라 사용자 또는 작업 공간 탭에 있는지 확인 하고 검색 막대를 사용하여 설정을 찾으십시오. Editor: Detect Indentation이 설정은 사용자가 설정 한 내용 Editor: Insert SpacesEditor: Tab Size사용 가능한 시간 을 무시 하므로 사용하지 않을 수도 있습니다.


이미지 링크가 끊어졌습니다.

34
변경해도 모든 파일의 간격 editor.tabSpaces이 변경 되지는 않습니다 . 나중에 작성된 파일에 대해서만 변경됩니다. 한 번의 작업으로 모든 파일을 수정하는 솔루션은 여전히 ​​없습니다.
Jacob Stamm

3
와. 마음을 날려. 때로는 상황이 평범한 곳에 숨어 있습니다
pingo

4
이것은 매우 직관적이지 않습니다. 이미 공백을 사용하도록 들여 쓰기를 설정했습니다. 공백 수를 설정하기 위해 숨겨진 두 번째 메뉴로 가려면 공백 옵션을 클릭해야하는 이유는 무엇입니까? 내가 사용한 다른 모든 편집기는 상태 표시 줄의 들여 쓰기 세부 정보를 한 번 클릭하면 여러 공백 옵션이 있습니다. VS 코드에서는 원하는 메뉴가 변경하려고하지 않는 옵션 뒤에 숨겨져 있기 때문에 Stack Overflow에서이를 찾아야합니다.
ian.pvd

1
새 파일을 만들 때마다 항상 기본 4 공간으로 되돌아가는 것 같습니다.!?!
oldboy

143

들여 쓰기 변경하려면 프로그래밍 언어를 기반으로를 :

  1. (명령 팔레트를 열고 CtrlShiftP| 맥 OS를 : P)
  2. 기본 설정 : 구성 언어 별 설정 ... (명령 ID : workbench.action.configureLanguageBasedSettings)
  3. 프로그래밍 언어 선택 (예 : TypeScript)
  4. 이 코드를 추가하십시오 :

    "[typescript]": {
        "editor.tabSize": 2
    }
    

VS Code Docs도 참조하십시오.


어떻게 명령 ID를 사용합니까? 파일 환경 설정에 "언어 별 설정 구성"이 표시되지 않습니다.
Alan Baljeu

@AlanBaljeu 당신은 키보드 단축키, 확장 등에 명령 ID를 사용할 수 있습니다. 따라서 파일 > 환경 설정 > 키보드 단축키 로 이동 하여 ID를 입력에 붙여 넣고 명령에 Ctrl + K Ctrl + L을 지정할 수 있습니다.
Martin Schneider

55

editor.detectIndentationElliot-J의 답변 외에도를 false 로 설정할 수도 있습니다 .

파일에 다른 탭이나 공백 들여 쓰기 패턴이있는 것을 감지하면 VSCode는 파일 당 설정 editor.tabSizeeditor.insertSpaces설정 을 덮어 씁니다 . 기존 파일을 프로젝트에 추가하거나 Angular Cli와 같은 코드 생성기를 사용하여 파일을 추가하는 경우이 문제가 발생할 수 있습니다. 위의 설정은 VSCode가이를 수행하지 못하게합니다.


44

코드 포맷 바로 가기 :

Windows의 VSCode-Shift + Alt + F

MacOS의 VSCode-Shift + Option + F

우분투의 VSCode-Ctrl + Shift + I

필요한 경우 환경 설정을 사용하여이 단축키를 사용자 정의 할 수도 있습니다.

키보드로 열 선택 Ctrl + Shift + Alt + Arrow


1
Shift + Alt + F내 파일의 모든 들여 쓰기를 8 칸에서 기본 4 칸으로 변경했습니다. 내가 찾던 것 :)
Harry12345

24

제 경우에는 " Editer for VS Code "확장이 VSCode 설정을 재정의하고 있습니다. 설치 한 경우 프로젝트의 루트 폴더에서 .editorconfig 파일을 확인하십시오.

다음은 구성 예입니다. "indent_size"는 탭의 공백 수를 설정합니다.

# editorconfig.org
root = true

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

[*.md]
trim_trailing_whitespace = false

7

'VS 코드에서 들여 쓰기 변경'한 Google 사용자를위한 간단한 그림 설명

1 단계 : 환경 설정> 설정을 클릭하십시오.

여기에 이미지 설명을 입력하십시오

2 단계 : 찾고있는 설정은 "들여 쓰기 감지"입니다. 입력을 시작하십시오. "편집기 : 탭 크기"를 클릭하십시오

여기에 이미지 설명을 입력하십시오

3 단계 : '편집기 : 탭 크기'로 스크롤하여 2 (또는 필요한 것)를 입력합니다.

여기에 이미지 설명을 입력하십시오



변경 사항이 자동으로 저장됩니다

여기에 이미지 설명을 입력하십시오

나의 변화의 예

여기에 이미지 설명을 입력하십시오


6

모든 기존 파일과 새 파일을 공간 식별로 2로 설정하려면 설정 ns.json (json의 루트)에 넣으십시오.

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

구성의 언어 유형을 추가 할 수 있습니다.

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 

요즘은 prettier.js와 js 플러그인을 사용하여 간격과 기타 긴 줄 정렬뿐만 아니라 대부분의 다른 것을 조정합니다.
HMR

1
고마워, 멋진 답변, 나에게 가장 좋은 방법.
Swetabja Hazra

5

VS 코드의 모든 파일에서 4 개의 공백 들여 쓰기를 2 공백으로 바꾸는 방법

  • 파일 검색 열기
  • 정규식 켜기
  • ( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))검색 필드에 입력하십시오 :
  • $1바꾸기 필드에 입력하십시오 :

VS 코드의 모든 파일에서 2 개의 공백 들여 쓰기를 4 개의 공백으로 바꾸는 방법

  • 파일 검색 열기
  • 정규식 켜기
  • ( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))검색 필드에 입력하십시오 :
  • $1$1바꾸기 필드에 입력하십시오 :

참고 : PERL 정규식을 먼저 켜야합니다. 방법은 다음과 같습니다.

  • 설정을 열고 JSON 파일로 이동
  • JSON 파일에 다음을 추가하십시오. "search.usePCRE2": true

누군가가 이것을 보길 바랍니다.


1
특히 VS 코드의 경우 4 ~ 2 공백으로 변환 하는 확장 기능 도 있습니다.
tanius

4

문제 : 수락 된 답변이 현재 문서의 들여 쓰기를 실제로 수정하지는 않습니다.

해결책 : Format Document현재 (새) 설정에 따라 문서를 다시 처리하려면 실행하십시오 .

문제점 : 프로젝트의 HTML 문서는 "Django HTML"유형이 아니고 "HTML"이 아니며 사용 가능한 포맷터가 없습니다.

솔루션 : 구문 "HTML"로 전환하고 형식을 지정한 다음 "Django HTML"로 다시 전환하십시오.

문제 : HTML 포맷터가 Django 템플릿 태그를 처리하는 방법을 모르고 신중하게 적용한 많은 중첩을 취소합니다.

솔루션 : 현재 언어 구문 (이 경우에는 내가 원하는 것)에 관계없이 들여 쓰기를 엄격하게 수행 하는 들여 쓰기 4-2 확장을 설치하십시오 .


2

기존 HTML 파일 의 들여 쓰기 를 4 칸에서 2 칸 으로 변경하고 싶었습니다 .

상태 표시 줄에서 'Spaces : 4'버튼을 클릭하고 다음 대화 상자에서 두 칸으로 변경했습니다.

'vim'확장자를 사용합니다. vim없이 다시 들여 쓰기하는 법은 없습니다.

현재 파일을 다시 들여 쓰기 위해 다음을 사용했습니다.

gg

=

G

0

추가 : 예, 오른쪽 하단 UI를 사용하여 공간 설정을 구성 할 수 있습니다. 그러나 새 간격으로 포맷되지 않은 기존 코드가있는 경우 파일 내의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 문서 서식을 클릭 할 수 있습니다 . 내가이 문제에 걸려 넘어 질 때까지 이것을 알아내는 데 시간 걸렸습니다 .

문서 서식 메뉴

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.