프로젝트에 EditorConfig 파일을 추가하여 프로젝트에 참여하는 모든 사용자에게 일관된 코드 스타일을 적용하도록 C++ 서식을 구성할 수 있습니다. Visual Studio 및 Visual Studio Code 모두 각 전역 Visual Studio C++ 서식 설정에 대해 EditorConfig를 기본적으로 지원합니다. EditorConfig 설정은 파일에 저장 .editorconfig 됩니다. 해당 파일이 프로젝트에 있으면 Visual Studio 서식 설정보다 우선합니다.
이 문서에서는 Visual Studio 및 Visual Studio Code 지원하는 모든 EditorConfig C++ 서식 설정을 나열합니다.
C++에는 서식 설정이 아닌 추가 .editorconfig 설정이 있습니다. 이러한 설정은 구성한 기능과 함께 설명되어 있습니다.
-
정리 설정 포함(
cpp_include_cleanup_*및cpp_sort_includes_*)은 Visual Studio C/C++ Include Cleanup 구성에 설명되어 있습니다. - 완성(
cpp_includes_use_forward_slash및cpp_includes_style)에 대한#includeIntelliSense 설정은 언어 > C/C++ > IntelliSense 구성 옵션에 설명되어 있습니다.
에 대한 자세한 정보를 원하시면:
- Visual Studio EditorConfig 파일을 사용하여 EditorConfig를 사용하여 일관된 코딩 스타일 정의를 참조하세요.
- clang 서식 설정에 따라 EditorConfig 파일을 수동으로 만듭니다. clangformat을 참조하세요. 해당 파일
.editorconfig의 이름을 바꾸고 프로젝트에 저장합니다.
C++ 서식 지정 규칙
C++ 서식 EditorConfig 설정에는 접두사로 cpp_입니다. 다음은 파일의 모양에 대한 .editorconfig 예입니다.
[*.{c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}]
cpp_indent_case_contents_when_block = true
cpp_new_line_before_open_brace_namespace = same_line
이 문서의 나머지 부분에는 Visual Studio 및 VS Code에서 지원하는 모든 EditorConfig C++ 서식 설정이 나열되어 있습니다.
들여쓰기 설정
들여쓰기 중괄호
- 이름:
cpp_indent_braces - 값:
true,false
각 줄을 상대적으로 들여쓰기
- 이름:
cpp_indent_multi_line_relative_to - 값:
-
outermost_parenthesis- 새 줄을 입력하면 가장 바깥쪽 열린 괄호에 상대적으로 들여쓰기됩니다. -
innermost_parenthesis- 새 줄을 입력하면 가장 안쪽에 열려 있는 괄호로 상대적으로 들여쓰기됩니다. -
statement_begin- 새 줄을 입력하면 현재 문의 시작 부분에 상대적으로 들여쓰기됩니다.
-
괄호 안에 새 줄을 입력할 때 맞춥니다.
- 이름:
cpp_indent_within_parentheses - 값:
-
align_to_parenthesis- 여는 괄호에 내용을 맞춥니다. -
indent- 새 줄을 들여쓰기합니다.
-
기존 코드에서는 괄호 안에 새 줄 맞춤 설정을 사용하지 마세요.
- 이름:
cpp_indent_preserve_within_parentheses - 값:
true,false
들여쓰기 대/소문자 내용
- 이름:
cpp_indent_case_contents - 값:
true,false
들여쓰기 대/소문자 레이블
- 이름:
cpp_indent_case_labels - 값:
true,false
사례 문 다음에 들여쓰기 중괄호
- 이름:
cpp_indent_case_contents_when_block - 값:
true,false
매개 변수로 사용되는 람다의 들여쓰기 중괄호
- 이름:
cpp_indent_lambda_braces_when_parameter - 값:
true,false
goto 레이블의 위치
- 이름:
cpp_indent_goto_labels - 값:
-
one_left- 왼쪽에 들여쓰기 -
leftmost_column- 맨 왼쪽 열로 이동 -
none- 들여쓰기 상태로 둡니다.
-
전처리기 지시문의 위치
- 이름:
cpp_indent_preprocessor - 값:
-
one_left- 왼쪽에 들여쓰기 -
leftmost_column- 맨 왼쪽 열로 이동 -
none- 들여쓰기 상태로 둡니다.
-
들여쓰기 액세스 지정자
- 이름:
cpp_indent_access_specifiers - 값:
true,false
네임스페이스 내용을 들여쓰기
- 이름:
cpp_indent_namespace_contents - 값:
true,false
주석 들여쓰기 유지
- 이름:
cpp_indent_preserve_comments - 값:
true,false
줄 줄 설정
네임스페이스의 열린 중괄호 위치
- 이름:
cpp_new_line_before_open_brace_namespace - 값:
-
new_line- 새 줄로 이동 -
same_line- 동일한 줄을 유지하지만 앞에 공백을 추가합니다. -
ignore- 자동으로 위치 변경 안 함
-
형식에 대해 열린 중괄호 위치
- 이름:
cpp_new_line_before_open_brace_type - 값:
-
new_line- 새 줄로 이동 -
same_line- 동일한 줄을 유지하지만 앞에 공백을 추가합니다. -
ignore- 자동으로 위치 변경 안 함
-
함수에 대해 열린 중괄호 위치
- 이름:
cpp_new_line_before_open_brace_function - 값:
-
new_line- 새 줄로 이동 -
same_line- 동일한 줄을 유지하지만 앞에 공백을 추가합니다. -
ignore- 자동으로 위치 변경 안 함
-
제어 블록에 대해 열린 중괄호 위치
- 이름:
cpp_new_line_before_open_brace_block - 값:
-
new_line- 새 줄로 이동 -
same_line- 동일한 줄을 유지하지만 앞에 공백을 추가합니다. -
ignore- 자동으로 위치 변경 안 함
-
람다에 대해 열린 중괄호 위치
- 이름:
cpp_new_line_before_open_brace_lambda - 값:
-
new_line- 새 줄로 이동 -
same_line- 동일한 줄을 유지하지만 앞에 공백을 추가합니다. -
ignore- 자동으로 위치 변경 안 함
-
별도의 줄에 범위 중괄호 배치
- 이름:
cpp_new_line_scope_braces_on_separate_lines - 값:
true,false
빈 형식의 경우 닫는 중괄호를 여는 중괄호와 동일한 줄로 이동합니다.
- 이름:
cpp_new_line_close_brace_same_line_empty_type - 값:
true,false
빈 함수 본문의 경우 닫는 중괄호를 여는 중괄호와 동일한 줄로 이동합니다.
- 이름:
cpp_new_line_close_brace_same_line_empty_function - 값:
true,false
새 줄에 'catch' 및 유사한 키워드 배치
- 이름:
cpp_new_line_before_catch - 값:
true,false
새 줄에 'else'를 배치합니다.
- 이름:
cpp_new_line_before_else - 값:
true,false
새 줄의 do-while 루프에 'while'를 배치합니다.
- 이름:
cpp_new_line_before_while_in_do_while - 값:
true,false
간격 설정
함수 이름과 인수 목록의 여는 괄호 사이의 간격
- 이름:
cpp_space_before_function_open_parenthesis - 값:
-
insert- 공백 삽입 -
remove- 공백 제거 -
ignore- 공백 변경 안 함
-
인수 목록의 괄호 안에 공백 삽입
- 이름
cpp_space_within_parameter_list_parentheses값:true,false
인수 목록이 비어 있을 때 괄호 사이에 공백 삽입
- 이름:
cpp_space_between_empty_parameter_list_parentheses - 값:
true,false
제어 흐름 문에서 키워드와 여는 괄호 사이에 공백 삽입
- 이름:
cpp_space_after_keywords_in_control_flow_statements - 값:
true,false
컨트롤 문의 괄호 안에 공백 삽입
- 이름:
cpp_space_within_control_flow_statement_parentheses - 값:
true,false
람다 인수 목록의 괄호를 열기 전에 공백 삽입
- 이름:
cpp_space_before_lambda_open_parenthesis - 값:
true,false
C 스타일 캐스트의 괄호 안에 공백 삽입
- 이름:
cpp_space_within_cast_parentheses - 값:
true,false
C 스타일 캐스트의 괄호를 닫은 후 공백 삽입
- 이름:
cpp_space_after_cast_close_parenthesis - 값:
true,false
괄호가 있는 식의 괄호 안에 공백 삽입
- 이름:
cpp_space_within_expression_parentheses - 값:
true,false
블록 중괄호를 열기 전에 공백 삽입
- 이름:
cpp_space_before_block_open_brace - 값:
true,false
빈 중괄호 사이에 공백 삽입
- 이름:
cpp_space_between_empty_braces - 값:
true,false
균일한 초기화 및 이니셜라이저 목록의 중괄호를 열기 전에 공백 삽입
- 이름:
cpp_space_before_initializer_list_open_brace - 값:
true,false
균일한 초기화 및 이니셜라이저 목록의 중괄호 내에 공백 삽입
- 이름:
cpp_space_within_initializer_list_braces - 값:
true,false
균일한 초기화 및 이니셜라이저 목록 내의 공백 유지
- 이름:
cpp_space_preserve_in_initializer_list - 값:
true,false
대괄호를 열기 전에 공백 삽입
- 이름:
cpp_space_before_open_square_bracket - 값:
true,false
대괄호 안에 공백 삽입
- 이름:
cpp_space_within_square_brackets - 값:
true,false
빈 대괄호 앞에 공백 삽입
- 이름:
cpp_space_before_empty_square_brackets - 값:
true,false
빈 대괄호 사이에 공백 삽입
- 이름:
cpp_space_between_empty_square_brackets - 값:
true,false
다차원 배열의 대괄호 그룹화
- 이름:
cpp_space_group_square_brackets - 값:
true,false
람다의 대괄호 안에 공백 삽입
- 이름:
cpp_space_within_lambda_brackets - 값:
true,false
SpaceBetweenEmptyLambdaBrackets
- 이름:
cpp_space_between_empty_lambda_brackets - 값:
true,false
쉼표 앞에 공백 삽입
- 이름:
cpp_space_before_comma - 값:
true,false
쉼표 뒤에 공백 삽입
- 이름:
cpp_space_after_comma - 값:
true,false
멤버 연산자 앞과 뒤에 공백 제거
- 이름:
cpp_space_remove_around_member_operators - 값:
true,false
형식 선언의 기본 콜론 앞에 공백 삽입
- 이름:
cpp_space_before_inheritance_colon - 값:
true,false
생성자에 대한 콜론 앞에 공백 삽입
- 이름:
cpp_space_before_constructor_colon - 값:
true,false
세미콜론 앞에 공백 제거
- 이름:
cpp_space_remove_before_semicolon - 값:
true,false
세미콜론 뒤에 공백 삽입
- 이름:
cpp_space_after_semicolon - 값:
true,false
단항 연산자와 해당 피연산자 사이의 공백 제거
- 이름:
cpp_space_remove_around_unary_operator - 값:
true,false
이진 연산자 간격
- 이름:
cpp_space_around_binary_operator - 값:
-
insert- 이진 연산자 앞과 뒤에 공백을 삽입합니다. -
remove- 이진 연산자 주위의 공백을 제거합니다. -
ignore- 이진 연산자 주위의 공백을 변경하지 마세요.
-
대입 연산자 간격
- 이름:
cpp_space_around_assignment_operator - 값:
-
insert- 할당 연산자 주위에 공백을 삽입합니다. -
remove- 할당 연산자 주위에 공백을 제거합니다. -
ignore- 배정 연산자 주변의 공백을 변경하지 마세요.
-
포인터/참조 맞춤
- 이름:
cpp_space_pointer_reference_alignment - 값:
-
left- 왼쪽으로 정렬합니다. -
center- 가운데 맞춤 -
right- 오른쪽으로 정렬합니다. -
ignore- 변경되지 않은 상태로 둡니다.
-
조건부 연산자 간격
- 이름:
cpp_space_around_ternary_operator - 값:
-
insert- 조건부 연산자 주위에 공백을 삽입합니다. -
remove- 조건부 연산자 주위의 공백을 제거합니다. -
ignore- 조건부 연산자 주위의 공백을 변경하지 마세요.
-
래핑 옵션
블록에 대한 래핑 옵션
- 이름:
cpp_wrap_preserve_blocks - 값:
-
one_liners- 한 줄 코드 블록을 래핑하지 마세요. -
all_one_line_scopes- 여는 중괄호와 닫는 중괄호가 다음 줄에 있는 코드 블록을 래핑하지 마세요. -
never- 항상 블록에 새 줄 설정을 적용합니다.
-