다음을 통해 공유


EditorConfig를 사용하여 일관된 코딩 스타일 정의

코드베이스에서 작동하는 모든 사용자에게 일관된 코딩 스타일을 적용하려면 솔루션 또는 프로젝트에 파일을 추가할 .editorconfig 수 있습니다. EditorConfig 파일 설정은 EditorConfig.org 유지 관리되는 파일 형식 사양을 준수합니다. 많은 코드 편집기 및 애플리케이션은 Visual Studio를 포함하여 EditorConfig 파일을 지원합니다. 설정은 파일에 있으므로 코드와 함께 제공되므로 Visual Studio 외부에서도 사용할 수 있습니다.

Visual Studio에서 EditorConfig 파일 설정이 도구>옵션> 텍스트 편집기에서 사용할 수 있는 다양한 전역텍스트 편집기> 설정보다 우선합니다[C# | C/C++ | Visual Basic]>코드 스타일입니다. EditorConfig 파일을 사용하여 각 코드베이스를 조정하여 해당 프로젝트와 관련된 텍스트 편집기 설정을 사용할 수 있습니다.

EditorConfig 파일을 수동으로 채우거나 Visual Studio에서 선택한 코드 스타일 설정에 따라 자동으로 생성할 수 있습니다. 자세한 내용은 EditorConfig 파일을 추가하는 방법을 참조하세요.

EditorConfig 파일을 사용하는 경우에도 Visual Studio 텍스트 편집기에서 사용자 고유의 개인 편집기 기본 설정을 계속할 수 있습니다. 이러한 텍스트 편집기 설정은 EditorConfig 파일 없이 코드베이스에서 작업하거나 EditorConfig 파일이 특정 설정을 재정의하지 않는 경우에 적용됩니다. 이러한 기본 설정의 예로는 코드 들여쓰기 스타일에 탭 또는 공백을 사용할지 여부가 있습니다.

Visual Studio에서 프로젝트에 EditorConfig 파일을 추가하면 EditorConfig 설정에 따라 새 코드 줄만 서식이 지정됩니다. 코드 정리 또는 문서 서식 명령을 실행하지 않는 한 기존 코드의 서식은 변경되지 않습니다. 자세한 내용은 코드 스타일 적용을 참조하세요.

코드 일관성

EditorConfig 파일 설정을 사용하면 사용하는 편집기나 IDE에 관계없이 코드베이스에서 일관된 코딩 스타일과 규칙을 유지할 수 있습니다. 제어할 수 있는 일부 코딩 스타일은 들여쓰기 스타일, 탭 너비, 줄 끝 문자 및 인코딩입니다. 예를 들어 C# 코드베이스에 들여쓰기가 5개의 공백 문자를 사용하는 규칙이 있고 문서가 UTF-8 인코딩을 사용하고 줄이 CR/LF로 끝나는 경우 이 규칙을 사용하도록 EditorConfig 파일을 구성할 수 있습니다.

EditorConfig 파일은 개인 프로젝트에서 사용하는 코딩 규칙이 팀 프로젝트에 사용되는 규칙과 다를 때 유용합니다. 예를 들어, 코드에 들여쓰기를 하면 탭 문자가 추가되도록 설정하는 것을 선호할 수 있습니다. 그러나 팀에서는 들여쓰기 대신 4개의 공간을 추가하는 것을 선호할 수 있습니다. EditorConfig 파일은 각 시나리오에 대한 구성을 허용하여 이 문제를 해결합니다.

.editorconfig 코드베이스의 파일에 EditorConfig 설정이 포함되어 있으므로 해당 코드베이스와 함께 이동합니다. EditorConfig 규격 편집기에서 코드 파일을 여는 한 텍스트 편집기 설정이 활성화됩니다.

비고

EditorConfig 파일에서 설정한 규칙은 빌드 오류 또는 경고로 CI/CD 파이프라인에 적용할 수 없습니다. 모든 스타일 편차는 Visual Studio 편집기 및 오류 목록에만 표시됩니다.

지원되는 설정

Visual Studio의 편집기에서는 핵심 EditorConfig 속성 집합을 지원합니다.

  • 들여쓰기 스타일
  • 들여쓰기 크기
  • 탭 너비
  • 라인_종료
  • charset
  • 끝 공백 제거
  • 마지막 줄 바꿈 삽입
  • 뿌리

EditorConfig는 XML 지원 EditorConfig 편집기 설정을 제외한 모든 Visual Studio 지원 언어를 지원합니다.

EditorConfig는 C# 및 Visual Basic에 대한 언어, 서식 지정 및 명명 규칙을 포함한 코드 스타일 규칙을 지원합니다.

EditorConfig 파일 추가 및 제거

프로젝트 또는 코드베이스에 EditorConfig 파일을 추가할 때 Visual Studio는 EditorConfig 파일 설정에 따라 작성하는 새 코드 줄의 서식을 지정합니다. 그러나 Visual Studio는 문서의 서식을 지정하거나 코드 정리를 실행할 때까지 기존 스타일을 새 스타일로 변환하지 않습니다. 예를 들어 파일의 들여쓰기가 탭으로 서식이 지정되고 들여쓰기를 공백으로 포맷하는 EditorConfig 파일을 추가하면 들여쓰기 문자가 자동으로 공백으로 변환되지 않습니다. 문서의 서식을 지정(고급>서식 문서> 선택 또는 Ctrl+, Ctrl+D 누름)하면 EditorConfig 파일의 공백 설정이 기존 코드 줄에 적용됩니다.

프로젝트 또는 코드베이스에서 EditorConfig 파일을 제거하는 경우 새 코드 줄에 영향을 주려면 전역 편집기 설정에 대해 열려 있는 코드 파일을 닫고 다시 열어야 합니다.

EditorConfig 파일을 추가하는 방법

프로젝트에 EditorConfig 파일을 추가할 수 있는 몇 가지 방법이 있습니다.

코드 스타일 설정에서 EditorConfig 생성

EditorConfig 파일을 수동으로 채우거나 Visual Studio 옵션 대화 상자에서 선택한 코드 스타일 설정에 따라 파일을 자동으로 생성할 수 있습니다. 이 옵션 페이지는 도구>옵션>텍스트 편집기> [C# | C/C++ | Visual Basic] >코드 스타일>일반에서 사용할 수 있습니다. 설정 페이지에서 .editorconfig 파일 생성 을 클릭하여 이 옵션 페이지의 설정을 기반으로 코딩 스타일 .editorconfig 파일을 자동으로 생성합니다.

설정에서 editorconfig 파일 생성 스크린샷

EditorConfig 파일을 수동으로 채우거나 Visual Studio 옵션 대화 상자에서 선택한 코드 스타일 설정에 따라 파일을 자동으로 생성할 수 있습니다. 이 옵션 페이지는 도구>옵션>텍스트 편집기> [C# 또는 기본] >코드 스타일>일반사용할 수 있습니다. 설정 페이지에서 .editorconfig 파일 생성 을 클릭하여 이 옵션 페이지의 설정을 기반으로 코딩 스타일 .editorconfig 파일을 자동으로 생성합니다.

설정에서 editorconfig 파일 생성 스크린샷

프로젝트에 EditorConfig 파일 추가

프로젝트 또는 솔루션에 EditorConfig 파일을 추가하려면 다음 단계를 수행합니다.

  1. Visual Studio에서 프로젝트 또는 솔루션을 엽니다. 솔루션의 모든 프로젝트에 EditorConfig 설정을 적용할지 아니면 하나만 적용할지에 따라 솔루션 또는 프로젝트 노드를 선택합니다. 프로젝트 또는 솔루션에서 파일을 추가할 .editorconfig 폴더를 선택할 수도 있습니다.

  2. 메뉴에서 프로젝트>새 항목 추가를 선택하거나 Ctrl+ ShiftA+ 누릅니다.

    새 항목 추가 대화 상자가 열립니다.

  3. 검색 상자에 editorconfig를 입력합니다.

    개의 editorconfig 파일 항목 템플릿이 검색 결과에 표시됩니다.

    Visual Studio의 EditorConfig 파일 항목 템플릿을 보여 주는 스크린샷

  4. editorconfig 파일(빈) 템플릿을 선택하여 공백, 코드 스타일 및 명명 규칙에 대한 기본 EditorConfig 옵션으로 미리 채워진 EditorConfig 파일을 추가합니다. 또는 editorconfig 파일(.NET) 템플릿을 선택하여 기본 .NET 공백, 코드 스타일 및 명명 규칙으로 미리 채워진 EditorConfig 파일을 추가합니다.

    솔루션 탐색기에 새 .editorconfig 파일이 나타나고 편집기에서 새 탭으로 열립니다.

    솔루션 탐색기 및 편집기의 .editorconfig 파일을 보여 주는 스크린샷.

  5. 필요에 따라 파일을 편집한 다음 저장합니다.

파일 계층 구조 및 우선 순위

파일 계층 구조의 폴더에 파일을 추가 .editorconfig 하면 해당 설정이 해당 수준 이하의 모든 해당 파일에 적용됩니다. 코드베이스의 다른 부분과 다른 규칙을 사용할 수 있도록 특정 프로젝트, 코드베이스 또는 코드베이스의 일부에 대한 EditorConfig 설정을 재정의할 수도 있습니다. 이렇게 하면 다른 위치에서 코드를 통합하고 해당 규칙을 변경하지 않으려는 경우에 유용할 수 있습니다.

다음 지침을 따릅니다.

  • EditorConfig 설정의 일부 또는 전체를 재정의하려면, 재정의할 설정이 적용될 파일 계층 구조의 수준에 .editorconfig 파일을 추가합니다. 새 EditorConfig 파일 설정은 동일한 수준의 파일과 모든 하위 디렉터리의 파일에 적용됩니다.

    EditorConfig 계층 구조를 보여 주는 스크린샷

  • 설정의 일부만 덮어쓰려면 .editorconfig 파일에서 해당 설정만 지정합니다. 하위 수준 .editorconfig 파일에 명시적으로 나열하는 속성만 재정의됩니다. 상위 수준 .editorconfig 파일의 다른 설정은 계속 적용됩니다.

  • 상위 수준 .editorconfig 파일의 설정이 코드베이스의 이 부분에 적용되지 않도록 하려면 하위 수준 root=true 파일에 속성을 추가 .editorconfig 합니다.

    # top-most EditorConfig file for this level
    root = true
    

EditorConfig 파일은 위에서 아래로 읽습니다. 이름이 같은 속성이 여러 가지 있는 경우 이름이 같은 가장 최근에 찾은 속성이 우선합니다.

EditorConfig 파일 편집

Visual Studio 2022는 EditorConfig 파일에 대한 시각적 편집기를 제공합니다.

EditorConfig 파일을 편집한 후 새 설정이 적용되려면 코드 파일을 다시 로드해야 합니다.

Visual Studio를 사용하면 IntelliSense 완성 목록을 제공하여 EditorConfig 파일을 편집할 수 있습니다. 다음은 그 예입니다.

EditorConfig 파일의 IntelliSense를 보여 주는 스크린샷

여러 EditorConfig 파일을 편집하는 경우 EditorConfig 언어 서비스 확장 이 유용할 수 있습니다. 이 확장의 일부 기능에는 구문 강조 표시, 향상된 IntelliSense, 유효성 검사 및 코드 서식 지정이 포함됩니다.

EditorConfig 언어 서비스 확장이 있는 IntelliSense를 보여 주는 스크린샷

예시

다음 예제에서는 프로젝트에 EditorConfig 파일을 추가하기 전과 후에 C# 코드 조각의 들여쓰기 상태를 보여줍니다.

  1. 도구>옵션 대화 상자에서 Tab 키를 누를 때 4개의 공백 문자를 생성하도록 Visual Studio 텍스트 편집기용 >기>Tabs 설정을 설정합니다.

    텍스트 편집기 탭 설정을 보여 주는 스크린샷.

  2. 예상대로 다음 줄에서 Tab 키를 누르면 공백 문자 4개를 추가하여 줄을 들여쓰기합니다.

    코드에서 공백을 추가하는 Tab 키를 보여 주는 스크린샷

    코드에서 공백을 추가하는 Tab 키를 보여 주는 스크린샷

  3. EditorConfig를 사용하여 탭 설정을 전환하여 탭을 사용합니다.

    EditorConfig 파일에서 탭 사용을 선택합니다.

    Tab 키에 대한 탭 사용 구성을 보여 주는 스크린샷

    다음 내용과 함께 프로젝트에 명명된 .editorconfig 새 파일을 추가합니다. 표시기가 [*.cs] 란 이 변경 내용이 프로젝트의 C# 코드 파일에만 적용된다는 것을 의미합니다.

    # Top-most EditorConfig file
    root = true
    
    # Tab indentation
    [*.cs]
    indent_style = tab
    
  4. Tab 키를 누르면 이제 탭 문자가 공백 대신 표시됩니다.

    코드에서 탭 문자를 추가하는 Tab 키를 보여 주는 스크린샷

    코드에서 탭 문자를 추가하는 Tab 키를 보여 주는 스크린샷

EditorConfig 설정 문제 해결

EditorConfig 파일이 프로젝트 위치 이상의 디렉터리 구조에 있는 경우 Visual Studio는 해당 파일의 편집기 설정을 편집기로 적용합니다. 이 경우 상태 표시줄에 다음 메시지가 표시될 수 있습니다.

User preferences for this file type are overridden by this project's coding conventions.

, 도구>옵션>텍스트 편집기 (예: 들여쓰기 크기 및 스타일, 탭 크기 또는 코딩 규칙)의 편집기 설정이 디렉터리 구조의 프로젝트 이상에 있는 EditorConfig 파일에 지정된 경우 EditorConfig 파일의 규칙이 텍스트 편집기에서 설정을 재정의합니다.

EditorConfig 문제를 해결하려면 다음 단계를 수행합니다.

  1. Visual Studio에 대한 EditorConfig 지원을 해제하려면 도구>>기에서 프로젝트 코딩 규칙 팔로우 옵션을 선택 취소합니다.

    프로젝트 코딩 규칙 팔로우 설정을 보여 주는 스크린샷

  2. 프로젝트의 부모 디렉터리에서 EditorConfig 파일을 찾으려면 명령 프롬프트를 열고 프로젝트가 포함된 디스크의 루트에서 다음 명령을 실행합니다.

    dir .editorconfig /s
    
  3. EditorConfig 규칙의 범위를 제어하려면 리포지토리의 루트 또는 프로젝트가 상주하는 디렉터리에 있는 파일의 속성을 root=true 설정합니다.editorconfig.

    Visual Studio는 열린 파일의 디렉터리 및 모든 부모 디렉터리에서 명명 .editorconfig 된 파일을 찾습니다. 검색은 루트 파일 경로에 도달하거나 .editorconfig 파일이 있는 root=true 파일을 발견하면 종료됩니다.