탭에서 공백으로 변환 계수를 사용자 정의하려면 어떻게해야합니까?


852

Visual Studio Code를 사용할 때 탭에서 공백으로 변환하는 요소를 어떻게 사용자 정의합니까?

예를 들어, 현재 HTML TAB에서는를 누를 때마다 두 개의 공백 이 생성되는 것으로 보이지만 TypeScript에서는 4를 생성합니다.

답변:


1359

기본적으로 Visual Studio Code는 사용자가 연 파일에 따라 들여 쓰기 옵션을 추측합니다.

들여 쓰기 추측 기능을 통해 끌 수 있습니다 "editor.detectIndentation": false .

당신은 이러한 세 가지 설정을 통해 쉽게 사용자 정의 할 수 있습니다 윈도우 메뉴에서 파일환경 설정사용자 설정 및 대한 메뉴에서 코드환경 설정설정 또는 ⌘,:

// The number of spaces a tab is equal to. This setting is overridden
// based on the file contents when `editor.detectIndentation` is true.
"editor.tabSize": 4,

// Insert spaces when pressing Tab. This setting is overriden
// based on the file contents when `editor.detectIndentation` is true.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces`
// will be detected based on the file contents. Set to false to keep
// the values you've explicitly set, above.
"editor.detectIndentation": false

1
Guss, 추측이 틀린 파일을 알려 주시겠습니까? 또한이 두 가지 설정 (tabSize 및 insertSpaces)을 구성한 방법과 얻을 수있는 것을 공유하십시오. 감사! :)
Alex Dima

5
두 설정을 모두 "자동"으로 구성했으며 동작이 예상 한대로 진행되지 않았습니다 ( "잘못된"이라고 부르지 않는 한). 컨벤션을 지원하기 위해 어떤 파일을 변경해야할지 모르겠지만 질문 # 30057721
Guss

4
비어있는 새 파일의 기본값을 설정하는 옵션도 있습니까? 이 시나리오에서는 추측 할 것이 많지 않고 VSCode가 공백을 사용하도록 기본 설정되어 있다고 생각합니다. (좋지 않은) ...
Stijn de Witt

Fwiw에는 사용자 설정을 재정의하는 프로젝트별로 다른 동작을 설정할 수 있는 작업장 설정 옵션도 있습니다. 2 ¢
ruffin

1
고마워 루핀 tabSize언어마다 변경하는 방법이 있습니까? 예를 들어 동일한 작업 공간에서 다른 언어로 여러 파일을 편집 할 때 (예 : Ruby, JavaScript, CSS 등)-Ruby는 2공백이지만 CSS는 4일반적 으로 ...
Jacob Barnard

692

버전 1.21을 실행하고 있지만 이전 버전에도 적용될 수 있다고 생각합니다.

화면 오른쪽 하단을 살펴보십시오. 당신은 Spaces또는Tab-Size .

내 공간을 보여줍니다, →

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

  1. 공백 (또는 탭 크기)을 클릭하십시오. )을
  2. 공백을 사용하여 들여 쓰기 또는 탭을 사용하여 들여 쓰기를 선택하십시오.
  3. 원하는 공간 또는 탭의 양을 선택하십시오.

이것은 프로젝트 전체가 아닌 문서마다 작동합니다. 프로젝트 전체에 적용하려면 "editor.detectIndentation": false사용자 설정 에도 추가 해야합니다.


# 3은 어떻게 되나요? # 2를 선택한 후에는 "공간의 양을 선택하십시오 ... 원하는 방식"으로 보이지 않습니다. 감사.
Chris22

항상 내가 생각한 것은 : "어떻게 든 가능하지 않다 ..."이것은 어떻게 설명 할 수 있습니다.
VZZ

189

글쎄, 개발자 방식이 마음에 드시면 Visual Studio Code를 통해에 대해 다른 파일 형식을 지정할 수 있습니다 tabSize. 다음은 settings.json기본 네 공백과 JavaScript / JSON 두 공백 이있는 my의 예입니다 .

{
  // I want my default to be 4, but JavaScript/JSON to be 2
  "editor.tabSize": 4,
  "[javascript]": {
    "editor.tabSize": 2
  },
  "[json]": {
    "editor.tabSize": 2
  },

  // This one forces the tab to be **space**
  "editor.insertSpaces": true
}

추신 : 글쎄,이 파일을 여는 방법을 모르는 경우 (특히 새로운 버전의 Visual Studio Code에서) 다음을 수행 할 수 있습니다.

  1. 왼쪽 하단 기어 →
  2. 설정 → 오른쪽 상단 열기 설정

 

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


105

기본적으로 Visual Studio Code는 현재 열려있는 파일의 들여 쓰기를 자동 감지합니다. 이 기능을 끄고 공백 (예 : 두 칸)을 모두 만들려면 사용자 설정 또는 작업 공간 설정에서 다음을 수행하십시오.

{
    "editor.tabSize": 2,

    "editor.detectIndentation": false
}

57

EditorConfigVS 코드 확장을 위한 EditorConfig를 사용 하여 파일 유형별탭 크기를 제어 할 수 있습니다 . 그런 다음 각 파일 형식에 + + 를 지정할 수 있습니다 .AltShiftF

설치

ext install EditorConfig

구성 예

.editorconfig

[*]
indent_style = space

[*.{js,ts,json}]
indent_size = 2

[*.java]
indent_size = 4

[*.go]
indent_style = tab

settings.json

EditorConfig는 json이 편집기에 구성한 모든 설정을 무시합니다. 변경할 필요가 없습니다 editor.detectIndentation.


이것에 ext대해 무엇 을 말하고 있습니까? (적절한 설명이 아닌 여기에서 답을 편집하여 응답하십시오)? Node.js에 문제가 있습니까? 어떤 플랫폼?
Peter Mortensen

12

Visual Studio Code에서 더 예쁜 확장명을 사용하는 경우 settings.json 파일에 추가하십시오.

"editor.insertSpaces": false,
"editor.tabSize": 4,
"editor.detectIndentation": false,

"prettier.tabWidth": 4,
"prettier.useTabs": true  // This made it finally work for me

8

에서 비주얼 스튜디오 코드 버전 1.31.1 또는 (내가 생각하는)처럼이 나오지 알렉스 디마을 , 당신은 이러한 설정을 통해 쉽게 사용자 정의 할 수 있습니다

  • 메뉴 파일환경 설정사용자 설정의 Windows 또는 단축키 Ctrl+ Shift+P
  • 맥 메뉴에서 코드환경 설정설정 하거나 ,

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

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


7

설정 파일 설정이 변경 사항을 취소하는 편집기 구성 일 때 설정 파일 설정이 적용되지 않았다고 생각하기 때문에 editorconfig가 사용자 또는 작업 공간 설정 구성과 충돌하지 않도록하고 싶습니다.


7

그것은 lonefy.vscode-js-css-html-formatter비난이다. 비활성화하고 설치하십시오 HookyQR.beautify.

이제 저장시 탭이 변환되지 않습니다.



4

TypeScript를 사용하는 경우 기본 탭 너비는 툴바의 내용에 관계없이 항상 2입니다. 변경하려면 사용자 설정에서 "prettier.tabWidth"를 설정해야합니다.

Ctrl+ P, 유형 → 사용자 설정, 추가 :

"prettier.tabWidth": 4

4

이 게시물에 허용 된 답변이 작동하지 않으면 다음을 시도해보십시오.

Visual Studio Code에 대한 EditorConfig 가있었습니다. 내 편집기에 설치하고,이 공간을 사용하여 들여 쓰기 파일에 설정 한 내 사용자 설정을 무시 유지했다. 편집기 탭 사이를 전환 할 때마다 들여 쓰기를 공백으로 변환하더라도 파일에 탭이 자동으로 들여 쓰기됩니다!

이 확장을 제거한 직후 들여 쓰기가 더 이상 편집기 탭 전환간에 변경되지 않으며 파일을 전환 할 때마다 탭을 공백으로 수동으로 변환하지 않고보다 편안하게 작업 할 수 있습니다.


4

우리의 사랑하는 커뮤니티 회원들이 이미 제공 한 좋은 답변이 많이 있습니다. 실제로 C # 코드 tabSize를 추가 하고이 스레드를 찾았습니다. 내가 찾은 많은 솔루션이 있으며 공식 VS 코드 문서 는 훌륭합니다. C # 설정을 공유하고 싶습니다.

"[csharp]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 4
},

위의 코드를 복사하여 settings.json파일에 붙여 넣고 저장하십시오. 감사


1
예, 특정 언어에 다른 형식을 설정하려면이 방법을 사용하십시오. tabWidth = 2 인 탭을 사용하는 것을 좋아하지만 autopep8은 그 점을 싫어합니다.
Abhishek Kasireddy

2

메뉴 파일환경 설정설정

사용자 설정에 추가 :

"editor.tabSize": 2,
"editor.detectIndentation": false

문서를 이미 연 경우 마우스 오른쪽 단추로 클릭하고 문서 형식을 클릭하여 기존 문서가이 새로운 설정을 따르도록합니다.


2

@ alex-dima의 2015 년 솔루션은 모든 파일의 탭 크기와 공간을 변경하고 2016의 @Tricky 솔루션은 현재 파일의 설정 만 변경하는 것으로 나타납니다.

2017 년 현재 언어별로 작동하는 다른 솔루션을 찾았습니다. Visual Studio Code가 Elixir에 적절한 탭 크기 또는 공간 설정을 사용하지 않아서 모든 Elixir 파일의 설정을 변경할 수 있음을 발견했습니다.

상태 표시 줄에서 언어 (내 경우에는 "Elixir")를 클릭하고 " 'Elixir'언어 기반 설정 구성 ..."을 선택한 다음 Elixir 특정 언어 설정을 편집했습니다. 방금 왼쪽의 기본 설정에서 "editor.tabSize"및 "editor.insertSpaces"설정을 복사 한 다음 오른쪽에 수정했습니다.

훌륭하게 작동했으며 이제 모든 Elixir 언어 파일은 적절한 탭 크기와 공간 설정을 사용합니다.


1

이전 답변과 같은 많은 설정 편집을 수행해야했기 때문에 많은 수정 후에 어느 것이 효과가 있었는지 알 수 없습니다.

내가 폐쇄 내 IDE openen하지만 내가 한 마지막 세 가지가 해제 될 때까지 아무것도 일하지 lonefy.vscode-js-css-html-formatter, "html.format.enable": true,및 Visual Studio를 다시 시작합니다.

{
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "workbench.colorTheme": "Default Light+",
    "[html]": {
        "editor.defaultFormatter": "vscode.html-language-features",
        "editor.tabSize": 2,
        "editor.detectIndentation": false,
        "editor.insertSpaces": true
    },
    "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
    "editor.tabSize": 2,
    "typescript.format.insertSpaceAfterConstructor": true,
    "files.autoSave": "afterDelay",
    "html.format.indentHandlebars": true,
    "html.format.indentInnerHtml": true,
    "html.format.enable": true,
    "editor.detectIndentation": false,
    "editor.insertSpaces": true,
}

0

이것이 Angular 2 용이고 CLI가 다른 형식으로 원하는 파일을 생성하는 경우 생성 된 내용을 변경하기 위해 이러한 파일을 편집 할 수 있습니다.

npm_modules/@angular/cli/blueprints/component/files/__path__/*

npm 업데이트가 작업을 삭제하므로 크게 권장하지는 않지만 많은 시간을 절약했습니다.


0

편집기 .tabSize를 4 로 변경하려고 시도했지만 .editorConfig지정한 설정을 무시하므로 사용자 설정에서 구성을 변경할 필요가 없습니다. .editorConfig 파일 만 편집하면됩니다.

set indent_size = 4

-1

User3550138이 정확합니다. lonefy.vscode-js-css-html-formatter다른 답변에 언급 된 모든 설정을 무시합니다. 그러나 구성 할 수 있으므로 비활성화하거나 제거 할 필요가 없습니다.

확장 사이드 바를 열고이 확장을 클릭하면 전체 지침을 찾을 수 있으며 편집기 작업 영역에 구성 지침이 표시됩니다. 적어도 Visual Studio Code 버전 1.14.1에서는 그렇지 않습니다.

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