주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Visual Studio Code에서 Polyspace as You Code를 실행하고 결과를 검토합니다.

Visual Studio Code 편집기에서 저장할 때마다 Polyspace as You Code를 실행하도록 선택하거나 원하는 대로 실행할 수 있습니다. 분석은 현재 편집기에서 활성화된 파일에 대해 실행됩니다. 분석을 실행한 후에는 버그와 코딩 표준 규칙 위반 사항이 소스 코드 마커와 Problems 패널에 목록으로 표시됩니다.

설치 확인 및 확장 프로그램 시작

Visual Studio Code에 Polyspace® as You Code 확장 기능이 설치되었는지 확인하려면 Extensions 보기에서 Installed 섹션을 확인하세요.

이 보기를 열려면 Visual Studio Code에서 View > Extensions를 선택하거나 왼쪽의 활동 막대에서 Visual Studio Code extensions icon를 클릭하고 설치된 확장 프로그램 목록에서 Polyspace as You Code를 찾으세요.

Polyspace as You Code 확장 프로그램을 시작하려면 편집기에서 C 또는 C++ 파일을 엽니다. 편집기에 C 또는 C++ 파일이 열려 있지 않은 경우 Visual Studio Code를 열면 확장 프로그램이 자동으로 시작되지 않습니다. 확장 프로그램 상태를 확인하려면 다음 중 하나를 수행하세요.

설치된 확장 프로그램 목록에서 Polyspace as You Code를 찾으세요.

참고

  • Restricted Mode에서 폴더를 열면 Polyspace as You Code 확장 프로그램이 비활성화됩니다. 확장 기능을 활성화하려면 폴더를 신뢰할 수 있음으로 표시하세요. Workspace Trust를 참조하세요.

  • Windows® 시스템의 성능을 높이려면 분석하는 파일을 네트워크 드라이브에 저장하지 마세요.

상태 표시줄에서 확장 정보 보기

확장 프로그램을 시작하면 Polyspace as You Code가 상태 표시줄(왼쪽 아래)에 아이콘을 표시하여 구성 오류나 현재 선택한 파일에서 분석이 실행 중인지 여부 등 확장 프로그램의 상태에 대한 정보를 제공합니다.

  • 추가 정보가 포함된 툴팁을 보려면 커서를 아이콘 위에 올려놓으세요.

  • (해당되는 경우) 아이콘을 클릭하면 확장 프로그램 설정을 열거나 Output 보기를 보는 등의 일반적인 작업을 수행할 수 있습니다.

상태 표시줄에 표시되는 정보는 글로벌 정보(VS Code global icon)이거나 현재 선택한 파일에만 적용되는 정보(VS Code file icon)입니다. 다른 파일을 선택하면 해당 파일의 상태 표시줄 아이콘이 업데이트됩니다.

Polyspace as You Code 상태 표시줄 아이콘을 비활성화하거나 다시 활성화하려면 아이콘을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 적절한 옵션을 선택하세요.

추가 Polyspace 보기 열기

Polyspace as You Code 확장 기능은 사이드바에서 구성 상태와 분석을 위해 선택한 파일에 대한 정보를 보여주는 다양한 보기를 제공합니다. 왼쪽의 활동 막대에서 Grey Polyspace icon를 클릭하면 Polyspace 보기를 표시하거나 숨길 수 있습니다.

Quality Monitoring 보기

이 보기에서는 분석을 위해 선택한 모든 파일, 각 파일에 대한 분석 상태, 그리고 결과 수가 표시됩니다.

이 보기에서는 보기에 추가한 모든 파일에 대한 파일별 분석을 시작할 수도 있고, 특정 파일만 분석하도록 선택할 수도 있습니다.

Analysis Options: Add To Quality Monitoring On Save 설정을 사용하면 저장 시 이 보기에 파일을 추가하는 기능을 활성화하거나 비활성화할 수 있습니다(Ctrl + S). 저장 시 분석 동작 구성 항목을 참조하십시오. 파일을 수동으로 추가하려면 편집기에서 파일을 마우스 오른쪽 버튼으로 클릭하거나, 사이드바에서 Explorer 보기 또는 Source Control 보기를 클릭합니다.

Headers 보기

파일을 분석할 때, Polyspace는 분석된 파일에 포함된 헤더 파일도 분석합니다. 단, 해당 헤더가 분석된 파일과 같은 폴더에 있는 경우에 한합니다. Polyspace가 헤더 파일에 결과를 보고하는 경우 Quality Monitoring 보기에서 분석된 파일 옆에 H가 표시됩니다. 해당 보기에서 분석된 파일을 클릭하면 Headers 보기에 헤더 파일이 나열됩니다.

Polyspace as You Code Headers view in VSCode

헤더 파일은 조사 결과가 포함된 경우에만 나열됩니다. Headers 보기에서 헤더 파일을 클릭하면 Problems 보기에서 해당 결과를 열고 Editor에서 해당 결과를 검사할 수 있습니다.

Result Details 보기

Problems 보기 또는 편집기에서 결과를 선택하면 해당 보기에는 결과에 대한 추가 정보(사용 가능한 경우 수정 사항이나 정당화, 추적, 베이스라인에서 가져온 검토 정보 포함)가 표시됩니다.

여러 줄의 코드를 선택하면 선택한 코드에서 보고된 모든 결과에 대한 추가 세부 정보가 나열됩니다.

open documentation icon를 클릭하면 검색 결과에 대한 상황별 도움말이 열립니다.

결과를 선택할 때마다 Result Details 보기가 업데이트되어 선택한 결과에 대한 정보가 표시됩니다. 소스 코드나 Problems 보기에서 결과를 탐색할 때 보기를 잠그고 업데이트되지 않도록 하려면 오른쪽 상단에 있는 Unlocked icon 아이콘을 클릭하세요. 보기 잠금을 해제하려면 locked icon를 클릭하세요.

Problems 보기

Problems 보기는 모든 분석 결과를 한 줄에 하나씩 나열하여 보여줍니다. 각 줄에는 다음과 같은 추가 정보가 표시됩니다.

  • 결함 또는 코딩 규칙의 이름, 패밀리 및 설명

  • 발견 사항이 포함된 파일의 이름

  • 리뷰 정보

조사 결과는 파일별로 그룹화됩니다. Problems 보기의 오른쪽 모서리에 있는 필터를 사용하여 검토 범위를 좁히세요. Problems 보기를 변경하여 결과를 트리 형식이나 표 형식으로 표시할 수 있습니다. 메시지가 너무 길면 메시지를 마우스 오른쪽 버튼으로 클릭하고 Copy Message를 선택하여 메시지를 시스템 클립보드에 복사한 후 모든 텍스트 편집기에 붙여넣으세요.

Problems view in Visual Studio Code

Problems 보기에 표시되는 결과는 Quality Monitoring 보기에서 선택한 파일에 대한 결과를 나타냅니다. Problems 보기의 결과 수는 변경될 수 있으며 분석된 모든 파일의 결과를 나타내는 것은 아닙니다.

Quality Monitoring 보기에서 파일을 선택하면 Problems 보기에서 다음 결과가 표시됩니다.

  • Quality Monitoring 보기에 나열된 각 파일에는 선택된 파일이 포함됩니다.

  • Quality Monitoring 보기에서 선택한 파일의 헤더 파일입니다.

Quality Monitoring 보기에서 다른 파일을 선택하는 경우:

  • Polyspace는 이전에 선택한 파일의 헤더 파일 결과를 Problems 보기에서 제거합니다.

  • 새로 선택된 파일의 헤더 파일 결과는 Problems 보기에 표시됩니다.

Configuration 보기

Configuration 보기는 현재 Analysis Options 설정과 생성된 빌드 옵션 파일의 상태(해당되는 경우)를 보여줍니다.

이 보기에서는 다음을 수행할 수 있습니다.

  • checker selection icon를 클릭하여 체커(검사 항목) 선택 창을 엽니다. Visual Studio Code에서 Polyspace as You Code에 대한 체커(검사 항목) 구성 항목을 참조하십시오.

  • settings icon를 클릭하여 분석 옵션을 구성하세요. 분석 설정 구성 항목을 참조하십시오.

  • Documentation icon를 클릭하여 Polyspace 문서를 엽니다.

  • fast mode toggle icon를 클릭하여 빠른 분석 모드를 켜거나 끕니다.

  • Sign-in icon를 클릭하여 MathWorks 계정에 로그인하세요. 이는 Polyspace as You Code에서 Polyspace Copilot를 사용하기 위한 필수 사항입니다.

Baseline 보기

현재 필터 설정(새로운 결과만 표시 또는 모든 결과 표시), 사용 가능한 로컬 베이스라인, Polyspace Access™ 베이스라인의 다운로드 상태를 확인합니다. 베이스라인 설정을 구성한 경우 Polyspace Access 서버와 베이스라인으로 사용하는 프로젝트에 대한 정보가 표시됩니다. Visual Studio Code에서 Polyspace as You Code 결과를 베이스라인으로 설정 항목을 참조하십시오.

Visual Studio Code baseline view

이 보기에서는 다음을 수행할 수 있습니다.

  • 필터 버튼을 클릭하면 베이스라인과 비교했을 때 새로운 결과에 대해서만 필터링을 활성화하거나 비활성화할 수 있습니다.

  • 품질 모니터링 목록에 현재 있는 모든 파일에 대한 로컬 베이스라인을 생성하려면 모두 저장 버튼을 클릭하고, 모든 로컬 베이스라인을 업데이트하려면 새로 고침 버튼을 클릭합니다.

  • Polyspace Access 베이스라인을 다운로드하려면 Download baseline를 클릭하세요.

  • Polyspace Access 인터페이스에서 베이스라인 프로젝트를 열려면 Open basline in Access UI를 클릭하세요.

  • settings icon를 클릭하여 베이스라인 설정을 엽니다.

베이스라인을 제거하려면 베이스라인 이름 옆에 있는 baseline close button를 클릭합니다.

베이스라인 실행의 결과가 Polyspace as You Code 버전보다 오래된 Polyspace 제품을 사용하여 생성된 경우 이 보기에는 경고가 표시됩니다.

분석 실행하기

파일을 저장할 때마다, 또는 필요할 때마다 분석을 실행할 수 있습니다.

저장 시

기본적으로 Polyspace as You Code는 현재 파일을 Quality Monitoring 목록에 추가하고 저장 시 이 파일을 분석합니다. 분석 결과는 몇 초 내에 소스 코드에 나타납니다. 오류가 발생하면 오류 메시지가 팝업으로 표시됩니다. 추가 진단을 원하시면 View > Output를 선택하세요. Output 보기에서 오른쪽 상단의 드롭다운에서 Polyspace as You Code를 선택하세요.

분석 후 결과는 소스 코드 마커(소스 코드 토큰 아래의 물결선)로 나타납니다. 스크롤 막대에 오류 위치가 빨간색으로 표시됩니다. 오류 위치를 클릭하면 해당 소스 코드로 이동합니다.

저장 시 분석을 비활성화하려면:

  1. Ctrl + , (쉼표)를 눌러 설정을 열고 설정 검색 창에 polyspace.analysisOptions OnSave를 입력하세요.

  2. Analysis Of Files On Save 설정을 선택 해제합니다.

결과가 나타나지 않으면 Polyspace as You Code에서 실패한 분석이나 예상치 못한 결과를 문제 해결하세요를 참조하세요.

요청 시

또한 Polyspace 분석을 명시적으로 시작할 수도 있습니다. 분석을 시작하려면 다음 중 하나를 수행하세요.

  • Explorer 보기에서 소스 파일을 마우스 오른쪽 버튼으로 클릭하거나 편집기에서 파일 콘텐츠 자체를 마우스 오른쪽 버튼으로 클릭하고 Run Polyspace Analysis를 선택합니다.

  • Quality Monitoring 보기에서 재생 버튼을 클릭하세요.

  • 소스 파일에 커서를 두고 Ctrl + Shift + Alt + A를 누릅니다.

결과 검토하기

분석 후 결과는 두 가지 형태로 나타납니다.

  • 소스 코드 마커(소스 코드 토큰 아래에 물결선이 있음)로 사용됩니다.

    결과에 대한 자세한 내용을 보려면 소스 코드 토큰에 마우스를 올려 놓으세요.

  • Problems 패널의 목록에서

    패널을 열려면 View > Problems를 선택하세요.

    결과를 선택하면 결과 세부 정보 보기에서 결과 또는 이벤트 추적에 대한 추가 세부 정보를 볼 수 있습니다.

    이 보기에서 open documentation icon를 클릭하면 해당 결과에 대한 상황에 맞는 도움말이 열립니다.

일반적인 결함 또는 코딩 규칙 위반에 대한 제안된 수정 사항 적용

Polyspace가 코드에서 일반적인 결함이나 코딩 규칙 위반 사항을 보고하면 Polyspace as You Code 확장 프로그램은 이러한 결과에 적용할 수 있는 하나 이상의 수정 사항을 제안합니다.

제안된 수정 사항을 적용하려면 먼저 편집기나 Problems 패널에서 해당 결과를 선택하세요. 제안된 수정 사항은 Result Details 패널에 표시됩니다. 제안된 수정 사항을 가리키고 다음 옵션 중 하나를 선택하세요.

  • Show fix in diff view — 현재 파일과 제안된 수정 사항이 적용된 파일을 비교합니다.

  • Fix the current result — 제안된 수정 사항을 선택한 결과에 적용합니다.

  • Fix all instances of the selected finding — 현재 파일에서 동일한 결함이나 코딩 규칙 위반의 모든 인스턴스에 제안된 수정 사항을 적용합니다.

Result Details pane with two fixes and the options available.

전구 메뉴에서 제안된 수정 사항을 적용할 수도 있습니다. 빠른 수정 옵션의 형식은 checkerName 수정: proposedFix입니다. 여기서 checkerName는 선택된 결함 체커(검사 항목) 또는 코딩 규칙의 이름이고, proposedFix는 Polyspace가 코드에 적용하는 수정 사항입니다. Polyspace는 코드를 편집하고 선택한 옵션에 따라 현재 활성 파일에 있는 문제 또는 문제의 모든 인스턴스를 수정합니다. 제안된 수정 사항이 두 개 이상인 경우 메뉴에서 사용 가능한 수정 사항을 모두 볼 수 있습니다.

VSCode light bulb menu

이 표는 Polyspace가 수정을 제안하는 일반적인 결함과 코딩 규칙 위반 사항을 나열하고, 이러한 문제를 보고하는 Polyspace 체커(검사 항목)도 나열합니다.

일반적인 결함 또는 코딩 규칙 위반문제를 보고하는 Polyspace 체커(검사 항목)
컴파일 시간에 constexpr 지정자가 없는 경우 평가될 수 있는 함수
값으로 객체를 캐스팅하기 위해 std::any_cast를 비효율적으로 사용함
std::string operator+()의 비효율적인 사용
std::map 또는 std::unordered_map의 키에 값을 삽입하거나 할당하기 위해 [] 연산자를 비효율적으로 사용함(C++ 17 이상만 해당)
값으로 전달된 파라미터는 비용이 많이 드는 복사를 초래합니다.
값으로 전달된 수정되지 않은 복사 비용이 많이 드는 파라미터
수정되지 않은 로컬 변수는 const 참조에서 값비싼 복사로 생성됩니다.
수정되지 않은 변수가 선언되지 않았습니다 const
반환 문에서 std::move에 대한 불필요한 호출
사용하지 않은 include
사용되지 않은 파라미터
std::endl의 사용

코드 주석을 사용하여 결과 정당화

결과를 수정하지 않기로 결정한 경우 결과에 코드 주석을 추가하면 결과를 다시 수정할 필요가 없습니다. 주석이 특정 구문을 따르는 경우 후속 Polyspace as You Code 실행은 이러한 주석을 읽고 해당 결과를 억제할 수 있습니다.

정당화를 적용하려면 먼저 편집기나 Problems 패널에서 결과를 선택하세요. 정당화는 Result Details 패널에 나타납니다. 정당성을 주장하고 다음 옵션 중 하나를 선택하세요.

Result Details pane with a potential justification and the options available

전구 메뉴에서 정당화를 적용할 수도 있습니다.

  • 결과가 포함된 소스 코드 토큰 옆에 있는 전구 아이콘을 클릭하고 주석으로 result_name 정렬을 선택합니다. 주석은 결과와 같은 줄에 입력됩니다.

  • 현재 파일에서 동일한 결함이나 코딩 규칙 위반 사항에 대한 결과를 대량으로 정당화하려면 해당 결과의 인스턴스를 선택하고 전구 메뉴에서 모든 result_name 정당화 옵션을 클릭합니다. Polyspace는 이 결과가 포함된 각 줄에 주석을 삽입합니다.

  • 베이스라인 실행에서 검토 정보를 가져오는 경우 베이스라인 주석으로 result_name에 주석 달기를 선택하여 베이스라인 실행에서 해당 결과에 할당된 모든 상태, 심각도 또는 주석을 포함합니다. 가져온 상태가 To investigate, To fix 또는 Other로 설정된 경우 주석은 결과를 억제하지 않습니다.

여러 줄의 코드를 선택하면 전구 메뉴에 선택한 항목의 각 결과에 대한 주석 옵션이 표시됩니다.

Polyspace as You Code는 C 파일의 경우 "/* */"로 묶인 주석 형태로 코드 주석을 삽입하고, C++ 파일의 경우 "//"로 접두사를 붙입니다(C++ 스타일). C 파일의 주석 형식은 MISRA C:2004 rule 2.2를 준수합니다.

정당화된 결과는 Problems 패널에서 제거되고 후속 분석에서 억제됩니다.

또한 참조하세요:

결과에 대한 상황에 맞는 도움말 보기

해당 결과에 대한 상황에 맞는 도움말 페이지를 방문하면 결과 유형에 대한 자세한 정보를 볼 수 있습니다.

  • 현재 선택된 검색 결과에 대한 상황에 맞는 도움말을 열려면 Result Details 보기에서 open documentation icon를 클릭하세요. 추가 Polyspace 보기 열기를 참조하세요.

  • Command Palette (Ctrl + Shift + P)로 가서 Polyspace: Open Contextual Help를 선택하면 Polyspace as You Code 결과에 대한 상황에 맞는 도움말을 볼 수도 있습니다. 메뉴에서 결과군을 선택한 다음, 결과 이름을 입력합니다(예: UNMODIFIED_VAR_NOT_CONST).

시스템 브라우저에서 Polyspace as You Code 확장 프로그램에 대한 전체 검색 가능 문서를 열려면 Command Palette (Ctrl + Shift + P)로 이동하여 Polyspace: Open Documentation를 선택하세요.

체커(검사 항목) 및 기타 설정 구성

기본적으로 Polyspace as You Code는 개발자가 가장 관심을 가질 만한 결함을 확인합니다. Visual Studio Code의 Polyspace as You Code 확장 설정을 통해 체커(검사 항목) 세트를 확장하고 다른 구성을 수행할 수 있습니다.

Ctrl + , (쉼표)를 눌러 설정을 열고 설정 검색 창에 polyspace를 입력하세요.

예를 들어, 다음을 수행할 수 있습니다.

전체 설정 목록은 Visual Studio Code에서 Polyspace as You Code 확장 프로그램 구성를 참조하세요.