코드 스타일 기본 설정

EditorConfig 파일을 사용하거나 텍스트 편집기 옵션 페이지의 Visual Studio에서 편집하는 모든 코드에 대해 프로젝트별 코드 스타일 설정을 정의할 수 있습니다. C# 코드의 경우 코드 정리(Visual Studio 2019, Visual Studio 2022) 및 문서 서식(Visual Studio 2017) 명령을 사용하여 이러한 코드 스타일 기본 설정을 적용하도록 Visual Studio를 구성할 수도 있습니다.

참고 항목

이 토픽은 Windows용 Visual Studio에만 적용됩니다. Mac용 Visual Studio는 Mac용 Visual Studio의 편집기 동작을 참조하세요.

EditorConfig의 코드 스타일

EditorConfig 파일을 프로젝트에 추가하여 .NET에 대한 코드 스타일 설정을 지정할 수 있습니다. EditorConfig 파일은 Visual Studio 개인 설정 계정이 아니라 코드베이스와 연결되어 있습니다. EditorConfig 파일의 설정은 옵션 대화 상자에 지정된 코드 스타일보다 우선합니다. 모든 기여자의 코딩 스타일을 리포지토리 또는 프로젝트에 적용하려면 EditorConfig 파일을 사용합니다.

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

Screenshot of Generate editorconfig file from settings.

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

Screenshot of Generate editorconfig file from settings.

옵션 대화 상자의 코드 스타일

도구 메뉴에서 옵션 대화 상자를 열어 모든 C# 및 Visual Basic 프로젝트에 대한 코드 스타일 기본 설정을 설정할 수 있습니다. 옵션 대화 상자에서 텍스트 편집기> [C# 또는 Visual Basic] >코드 스타일>일반을 선택합니다.

도구 메뉴에서 옵션 대화 상자를 열어 모든 C# 및 Visual Basic 프로젝트에 대한 코드 스타일 기본 설정을 설정할 수 있습니다. 옵션 대화 상자에서 텍스트 편집기> [C# 또는 Basic] >코드 스타일>일반을 선택합니다.

목록의 각 항목에는 선택한 기본 설정의 미리 보기가 표시됩니다.

Screenshot of code style options.

Screenshot of code style options.

이 창에서 설정된 옵션은 Visual Studio 개인 설정 계정에 적용되며, 특정 프로젝트 또는 코드베이스에 연결되어 있지 않습니다. 또한 해당 옵션은 CI(연속 통합) 빌드를 포함하여 빌드할 때 적용되지 않습니다. 코드 스타일 기본 설정을 프로젝트에 연결하고 빌드하는 동안 스타일을 적용하려면 프로젝트와 연결된 .editorconfig 파일에서 기본 설정을 지정합니다.

기본 설정 및 심각도

이 페이지의 각 코드 스타일 설정에 대해, 각 줄에 있는 드롭다운을 사용하여 기본 설정심각도 값을 설정할 수 있습니다. 심각도는 리팩터링만, 제안, 경고 또는 오류로 설정할 수 있습니다. 코드 스타일에 대해 빠른 작업을 사용하려면 심각도 설정이 리팩터링만 이외의 값으로 설정되어 있는지 확인합니다. 기본 설정이 아닌 스타일이 사용될 경우 빠른 작업 전구 , 오류 전구 또는 스크루드라이버 아이콘이 나타나며 빠른 작업 목록에서 옵션을 선택하면 코드를 기본 설정 스타일로 자동으로 다시 작성할 수 있습니다.

빌드 시 코드 스타일 적용

.NET 5.0 RC2 SDK를 포함하는 Visual Studio 2019 버전 16.8부터 모든 .NET 프로젝트에 대해 빌드 시 .NET 코딩 규칙을 적용할 수 있습니다. 빌드 시 .NET 코드 스타일 위반이 "IDE" 접두사가 있는 경고 또는 오류로 표시됩니다. 그러므로 코드베이스에서 일관된 코드 스타일을 엄격하게 적용할 수 있습니다.

코드 스타일 적용

C# 코드 파일의 경우 Visual Studio에는 편집기 하단에 코드 정리 단추(키보드: Ctrl+K, Ctrl+E)가 있어 EditorConfig 파일 또는 코드 스타일 옵션 페이지에서 코드 스타일을 적용할 수 있습니다. 프로젝트용 .editorconfig 파일이 있는 경우 해당 설정이 우선합니다.

Screenshot of Execute code cleanup.

심각도가 없음으로 구성된 규칙은 코드 정리에 참여하지 않지만 빠른 작업 및 리팩터링 메뉴를 통해 개별적으로 적용될 수 있습니다.

먼저 코드 정리 구성 대화 상자에서 두 프로필 중 하나의 적용할 코드 스타일을 구성합니다. 이 대화 상자를 열려면 코드 정리 broom 아이콘 옆에 있는 확장 화살표를 클릭한 다음, 코드 정리 구성을 선택합니다.

Screenshot of Configure Code Cleanup.

코드 정리를 구성한 후 빗자루 아이콘을 클릭하거나 Ctrl+K, Ctrl+E를 눌러 코드 정리를 실행합니다. 전체 프로젝트 또는 솔루션에서 코드 정리를 실행할 수도 있습니다. 솔루션 탐색기에서 프로젝트 또는 솔루션 이름을 마우스 오른쪽 단추로 클릭하고 분석 및 코드 정리를 선택한 다음, 코드 정리 실행을 선택합니다.

Screenshot of Run Code Cleanup across entire project or solution.

C# 코드 파일의 경우 Visual Studio에는 편집기 하단에 코드 정리 단추(키보드: Ctrl+K, Ctrl+E)가 있어 EditorConfig 파일 또는 코드 스타일 옵션 페이지에서 코드 스타일을 적용할 수 있습니다. 프로젝트용 .editorconfig 파일이 있는 경우 해당 설정이 우선합니다.

Screenshot of Execute code cleanup.

심각도가 없음으로 구성된 규칙은 코드 정리에 참여하지 않지만 빠른 작업 및 리팩터링 메뉴를 통해 개별적으로 적용될 수 있습니다.

먼저 코드 정리 구성 대화 상자에서 두 프로필 중 하나의 적용할 코드 스타일을 구성합니다. 이 대화 상자를 열려면 코드 정리 broom 아이콘 옆에 있는 확장 화살표를 클릭한 다음, 코드 정리 구성을 선택합니다.

Screenshot of Configure Code Cleanup.

코드 정리를 구성한 후 빗자루 아이콘을 클릭하거나 Ctrl+K, Ctrl+E를 눌러 코드 정리를 실행합니다. 전체 프로젝트 또는 솔루션에서 코드 정리를 실행할 수도 있습니다. 솔루션 탐색기에서 프로젝트 또는 솔루션 이름을 마우스 오른쪽 단추로 클릭하고 분석 및 코드 정리를 선택한 다음, 코드 정리 실행을 선택합니다.

Screenshot of Run Code Cleanup across entire project or solution.

코드 정리 설정

대부분의 코드 정리 설정은 .editorconfig에서 지원되는 하나 이상의 .NET 코드 스타일에 매핑됩니다. 설정의 효과를 보여 주는 예제는 다음 표의 링크를 사용합니다.

설정 규칙 ID 또는 스타일 옵션
불필요한 Import 또는 using 제거 IDE0005
파일 헤더 기본 설정 적용 file_header_template
사용하지 않는 변수 제거 IDE0051
개체 만들기 적용 기본 설정 visual_basic_style_prefer_simplified_object_creation
IsNot 기본 설정 적용 visual_basic_style_prefer_isnot_expression
'this' 또는 'Me' 한정자 추가 IDE0003-IDE0009
내게 필요한 옵션 한정자 추가 dotnet_style_require_accessibility_modifiers
순서 한정자 IDE0036
필드를 읽기 전용으로 만들기 dotnet_style_readonly_field
불필요한 캐스트 제거 IDE0004
개체/컬렉션 초기화 매개 변수 적용 dotnet_style_object_initializer
using 지시문 배치 기본 설정 적용 csharp_using_directive_placement
괄호 기본 설정 적용 IDE0047-IDE0048
사용하지 않는 값 기본 설정 적용 IDE0058
언어/프레임워크 형식 기본 설정 적용 IDE0049
사용하지 않는 비표시 제거 dotnet_remove_unnecessary_suppression_exclusions
부울 식 간소화 기본 설정 적용 dotnet_style_prefer_simplified_boolean_expressions
문자열 보간 기본 설정 적용 dotnet_style_prefer_simplified_interpolation
사용하지 않는 매개 변수 제거 dotnet_code_quality_unused_parameters
자동 속성 기본 설정 적용 dotnet_style_prefer_auto_properties
복합 할당 기본 설정 적용 dotnet_style_prefer_compound_assignment
병합 식 기본 설정 적용 dotnet_style_coalesce_expression
조건식 기본 설정 적용 dotnet_style_prefer_conditional_expression_over_assignment
dotnet_style_prefer_conditional_expression_over_return
튜플 이름 기본 설정 적용 dotnet_style_explicit_tuple_names
dotnet_style_prefer_inferred_tuple_names
유추된 무명 형식 멤버 이름 기본 설정 적용 dotnet_style_prefer_inferred_anonymous_type_member_names
null 검사 기본 설정 적용 dotnet_style_prefer_is_null_check_over_reference_equality_method
null 전파 기본 설정 적용 dotnet_style_null_propagation
'var' 기본 설정 적용 IDE0007-IDE0008
한 줄 컨트롤 문에 필요한 중괄호 추가 csharp_prefer_braces
식/블록 본문 기본 설정 적용 식 본문 멤버
인라인 'out' 변수 기본 설정 적용 csharp_style_inlined_variable_declaration
패턴 일치 기본 설정 적용 패턴 일치 기본 설정
조건부 대리자 호출 기본 설정 적용 csharp_style_conditional_delegate_call
정적 로컬 함수 기본 설정 적용 csharp_prefer_static_local_function
분해 기본 설정 적용 csharp_style_deconstructed_variable_declaration
default(T) 기본 설정 적용 csharp_prefer_simple_default_expression
new() 기본 설정 적용 csharp_style_implicit_object_creation_when_type_is_apparent
범위 기본 설정 적용 csharp_style_prefer_range_operator
익명 함수 기본 설정보다 로컬 적용 csharp_style_pattern_local_over_anonymous_function
매개 변수 null 기본 설정 적용 Null 검사 기본 설정
using 문 기본 설정 적용 csharp_prefer_simple_using_statement
throw 식 기본 설정 적용 csharp_style_throw_expression

파일을 저장할 때마다 코드 스타일 설정을 적용하려면 옵션>텍스트 편집기>코드 정리로 이동하여 저장 시 코드 정리 프로필 실행을 선택합니다.

파일을 저장할 때마다 코드 스타일 설정을 적용하려면 저장 시 코드 정리 확장을 사용할 수 있습니다.