코드분석 설정 및 사용법

1. Visual Studio 구성요소 설치

1.1. Clang Tools 구성요소 설치

  1. Visual Studio Installer 실행

  2. Visual Studio 2022 의 Modify (수정) 클릭

  3. 오른쪽 Installation details (설치 세부 정보)의 Desktop development with C++ (C++를 사용한 데스크톱 개발)을 클릭하여 확장

  4. C++ Clang tools for Windows 19.1.5 또는 Windows용 C++ Clang 도구 19.1.5 선택 (Visual Studio 2022 - 19.14.6 버전 기준)

  5. 하단의 Modify (수정) 클릭

1.2. Clang Tools 패치

기존 프로그램(버전 19.1)을 최신 버전으로 덮어쓰기 합니다.

  1. \\File-Server\Project_Center\External_Library\ClangTidy\20.1.0 폴더에서 clang-tidy.execlang-format.exe를 복사

  2. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin 폴더에 붙여넣기

  3. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin 폴더에도 붙여넣는다. (64비트 빌드환경을 위해)

2. 설정 파일

소스 Repository 최상위 폴더에 설정파일을 복사합니다.

2.1. clang-tidy 외 공통 설정 파일

  • C1401_Tool Repository의 Src/RepoConfig폴더에서 다음 파일들을 프로젝트의 최상위 폴더에 복사한다.

    • .clang-tidy (v0.4.0)

    • .clang-format (v1.0.0)

    • .editorconfig (v1.0.0)

    • .gitignore (v1.0.0)

2.2. Visual Studio Project 설정

모든 Visual Studio Project에 대해 Property Pages 창을 연 다음 Release Configuration에 대해 아래와 같이 설정합니다. (Property Pages는 메뉴에서 Project > Properties를 선택하여 열 수 있습니다.)

2.2.1. 컴파일러 경고 수준 설정

  1. Configuration Properties > C/C++ > General 선택 후 Warning LevelLevel4 (/W4)로 설정

  2. Configuration Properties > VC C++ Directories > External Include Directories 선택 후 $(SolutionDir)\..\Extern\Include를 추가

  3. Configuration Properties > C/C++ > External Includes 선택 후 External Header Warning LevelTurn Off All Warnings로 설정

2.2.2. Static Analysis 설정

  1. Configuration Properties > Code Analysis > General 선택

  2. Enable Microsoft Code AnalysisNo로 설정

  3. Enable Clang-TidyYes로 설정

2.2.3. 기타 설정

  1. Configuration Properties > Linker > Command Line 선택 후 Additional Options/Brepro를 추가

3. 사용법

3.1. 자동 formatting

  • 소스파일 편집화면에서 Ctrl + K, Ctrl + D를 순서대로 누르면 자동으로 formatting이 수행됨

3.2. 코드 분석

  1. Build 메뉴에서 'Run Code Analysis on <project-name>' 선택

    • 프로젝트 마우스 오른쪽 클릭 후 팝업 메뉴의 'Analyze and Code Cleanup' 에서도 선택 가능함

  2. 분석 결과는 하단의 Error ListOutput창에 표시됨.

    • 컴파일 진행 후 분석 작업이 수행됨

    • Error List에서 Current ProjectBuild Only를 선택하면 Output창과 동일한 내용이 표시됨

    • Output창에는 Clang-Tidy의 수정 제안내용도 표시되어 코드를 수정할 때 참고할 수 있음