Visual Studio Code용 CodeQL 확장 기능 설정에 대한 정보
Visual Studio Code용 CodeQL 확장 기능에서는 다음을 포함해 다양한 설정을 변경할 수 있습니다.
- 확장 기능에서 사용하는 CodeQL CLI 버전.
- 확장 기능에서 이전에 실행한 쿼리를 표시하는 방식.
- 확장 기능에서 쿼리를 실행하는 방법.
CodeQL 확장 기능 설정 편집하기
-
"Extensions" 보기를 열고 CodeQL 을 마우스 오른쪽 버튼으로 클릭한 다음 확장 설정을 클릭합니다.

-
설정 창에서 원하는 대로 설정을 편집합니다. 새로운 설정이 자동으로 저장됩니다.

팁
또는 VS Code Command Palette를 열고 기본 설정: 사용자 설정 열기(JSON) 를 선택하여 설정을 JSON 형식으로 편집할 수 있습니다.
CodeQL CLI 버전 선택하기
기본 동작을 재정의하고 CodeQL CLI의 특정 버전을 사용하기 위해, 확장 설정에서 CodeQL CLI "실행 경로"를 지정하고 CodeQL CLI의 기존 복사본을 가리킬 수 있습니다. codeql (Linux 및 macOS) 또는 codeql.exe (Windows)라는 파일을 의미합니다. 기본 동작에 대한 자세한 정보는 CodeQL CLI에 대한 액세스 구성을 참조합니다.
쿼리 기록 항목의 레이블 변경하기
쿼리 기록 "형식" 설정은 확장 기능이 쿼리 기록의 쿼리를 열거하는 방법을 제어합니다. 기본적으로 각 항목에는 다음 형식의 레이블이 있습니다.
QUERY-NAME on DATABASE-NAME - QUERY-STATUS NUMBER-OF-RESULTS [QUERY-RUNTIME]
기본 레이블을 재정의하려면 쿼리 기록 항목에 다른 형식을 지정하면 됩니다.
쿼리 기록 항목의 보존 기간 변경
"쿼리 기록" 보기의 항목은 기본적으로 30일 간 유지됩니다. "쿼리 기록: Ttl" 설정을 변경하여 다른 TTL(Time to Live)을 설정할 수 있습니다. 항목을 무기한 유지하려면 값을 0으로 설정합니다.
로컬로 쿼리를 실행하기 위한 설정 구성하기
"쿼리 실행" 아래에 여러 가지 설정이 있습니다. 가령, 쿼리가 너무 느리게 실행되고 시간이 자주 초과되는 경우 "쿼리 실행: 메모리" 설정을 변경하여 메모리를 늘릴 수 있습니다.
쿼리 성능을 검사하고 싶다면 타이밍 및 튜플 수를 포함하도록 "쿼리 실행: 디버그" 설정을 활성화합니다. 그리고 나면 "출력" 보기의 CodeQL "Query Server" 탭에서 로그로 표시됩니다. 튜플 수는 쿼리가 계산한 술어의 규모를 나타내기 때문에 유용합니다.
사용자 지정 위치에 쿼리 서버 로그를 저장하기 위해서는 "쿼리 실행: 사용자 지정 로그 디렉터리" 설정을 편집합니다. 사용자 지정 로그 디렉터리를 사용하는 경우, 확장 기능은 각 작업 영역 세션 후에 자동 삭제하는 대신 로그를 영구 저장합니다. 이 기능은 로그를 조사하여 쿼리 성능을 향상 시 유용합니다.
변형 분석 설정 구성
databases.json라는 Visual Studio Code 작업 영역에서 파일을 편집하여 "변형 분석 리포지토리" 보기에 표시된 항목을 편집할 수도 있습니다. 이 파일은 보기에 표시된 모든 항목의 JSON 표현을 포함합니다. 편집기 창에서 databases.json 파일을 열려면 "변형 분석 리포지토리" 보기의 오른쪽 위에 있는 { } 아이콘을 클릭합니다. 이후, 보기에서 리포지토리, 조직 및 목록의 구조화된 표현을 확인할 수 있습니다. 다음은 그 예입니다.
{
"version": 1,
"databases": {
"variantAnalysis": {
"repositoryLists": [
{
"name": "My favorite JavaScript repos",
"repositories": [
"facebook/react",
"babel/babel",
"angular/angular"
]
}
],
"owners": [
"microsoft"
],
"repositories": [
"apache/hadoop"
]
}
},
"selected": {
"kind": "variantAnalysisSystemDefinedList",
"listName": "top_10"
}
}
보기에 표시된 항목을 변경하거나, 해당 파일을 직접 편집하여 새 항목을 추가할 수 있습니다.
데이터베이스를 추가하기 위한 설정 구성하기
작업 영역에 데이터베이스 원본 폴더를 자동으로 추가하기 위해서는 "데이터베이스 추가: 작업 영역에 데이터베이스 원본 추가" 설정을 활성화할 수 있습니다.
이 설정은 기본적으로 사용하지 않도록 설정됩니다. 데이터베이스의 소스 코드를 정기적으로 찾아보는 경우(예: 코드의 추상 구문 트리를 보려면) 설정을 활성화할 수 있습니다. 자세한 내용은 소스 코드의 구조 탐색을(를) 참조하세요.
참고 항목
단일 폴더 작업 영역에 있는 경우 데이터베이스 원본 폴더를 추가하면 작업 영역이 다중 루트 작업 영역으로 다시 로드됩니다. 이로 인해 쿼리 기록 및 데이터베이스 목록이 리셋될 수 있습니다.
이 설정을 활성화하기 전에 작업 영역을 다중 루트 작업 영역으로 저장할 것을 권장합니다. 자세한 정보는 Visual Studio Code 설명 문서의 다중 루트 작업 영역을 참조합니다.
로컬로 쿼리 실행을 위한 설정 구성
쿼리 테스트에 사용되는 스레드 수를 늘리기 위해서는 "실행 중인 테스트: 스레드 수" 설정을 업데이트할 수 있습니다.
테스트를 실행할 때 CodeQL CLI에 추가 인수를 전달하기 위해서는 "테스트 실행: 추가 테스트 인수" 설정을 업데이트하면 됩니다. 사용 가능한 인수에 대한 자세한 내용은 테스트 실행을 참조하세요.
원격 분석 및 데이터 수집 설정 구성
CodeQL 확장 기능에서 원격 분석 데이터를 수집하는지 여부를 설정할 수 있습니다. 이 옵션은 기본적으로 사용하지 않도록 설정되어 있습니다. 자세한 내용은 Visual Studio Code용 CodeQL의 원격 분석을(를) 참조하세요.
추가 읽기
-
Visual Studio Code 설명 문서의 [사용자 및 작업 영역 설정](https://code.visualstudio.com/docs/configure/settings)