# 설정 사용자 지정

필요에 맞게 확장에 대한 CodeQLVisual Studio Code 설정을 편집할 수 있습니다.

##

```
          Visual Studio Code 확장에 대한 CodeQL의 설정 정보
```

다음을 포함하여 for CodeQL 확장에 Visual Studio Code 대한 다양한 설정을 변경할 수 있습니다.

* 확장에서 CodeQL CLI 사용하는 버전입니다.
* 확장 기능에서 이전에 실행한 쿼리를 표시하는 방식.
* 확장 기능에서 쿼리를 실행하는 방법.

## 확장에 대한 CodeQL 설정 수정

1. "확장" 보기를 열고 마우스 오른쪽 단추를 클릭한 **CodeQL** 다음 **확장 설정을** 클릭합니다.

   ![마우스 오른쪽 버튼의 클릭 메뉴가 표시되고 "확장 설정"이 진한 주황색 윤곽선으로 표시되는 "확장" 보기의 스크린샷.](/assets/images/help/security/codeql-for-vs-code-extensions-view.png)

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

   ![VS Code에 표시되는 CodeQL for VS Code Extension Settings 창 스크린샷.](/assets/images/help/security/codeql-for-vs-code-extension-settings.png)

> \[!TIP]
> 또는 VS Code Command Palette을 열고 \*\*\*\* 선택하여 JSON 형식으로 설정을 편집할 수 있습니다.

### 의 버전 선택 CodeQL CLI

기본 동작을 CodeQL CLI 재정의하고 특정 버전을 사용하려면 확장 설정에서 "실행 가능한 경로" CodeQL CLI를 지정하고, 이를 기존 복사본 CodeQL CLI으로 설정할 수 있습니다.
`codeql` (Linux 및 macOS) 또는 `codeql.exe` (Windows)라는 파일을 의미합니다. 기본 동작에 대한 자세한 정보는 [VS Code 확장에서 CodeQL CLI 관리](/ko/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli)을 참조합니다.

### 쿼리 기록 항목의 레이블 변경하기

쿼리 기록 "형식" 설정은 확장 기능이 쿼리 기록의 쿼리를 열거하는 방법을 제어합니다. 기본적으로 각 항목에는 다음 형식의 레이블이 있습니다.

```bash
QUERY-NAME on DATABASE-NAME - QUERY-STATUS NUMBER-OF-RESULTS [QUERY-RUNTIME]
```

기본 레이블을 재정의하려면 쿼리 기록 항목에 다른 형식을 지정하면 됩니다.

### 쿼리 기록 항목의 보존 기간 변경

"쿼리 기록" 보기의 항목은 기본적으로 30일 간 유지됩니다. "쿼리 기록: Ttl" 설정을 변경하여 다른 TTL(Time to Live)을 설정할 수 있습니다. 항목을 무기한 유지하려면 값을 0으로 설정합니다.

### 로컬로 쿼리를 실행하기 위한 설정 구성하기

"쿼리 실행" 아래에 여러 가지 설정이 있습니다. 가령, 쿼리가 너무 느리게 실행되고 시간이 자주 초과되는 경우 "쿼리 실행: 메모리" 설정을 변경하여 메모리를 늘릴 수 있습니다.

쿼리 성능을 검사하고 싶다면 타이밍 및 튜플 수를 포함하도록 "쿼리 실행: 디버그" 설정을 활성화합니다. 그러면 "출력" 보기의 "쿼리 서버" 탭에 있는 로그 CodeQL 에 표시됩니다. 튜플 수는 쿼리가 계산한 [술어](https://codeql.github.com/docs/ql-language-reference/predicates/#predicates)의 규모를 나타내기 때문에 유용합니다.

사용자 지정 위치에 쿼리 서버 로그를 저장하기 위해서는 "쿼리 실행: 사용자 지정 로그 디렉터리" 설정을 편집합니다. 사용자 지정 로그 디렉터리를 사용하는 경우, 확장 기능은 각 작업 영역 세션 후에 자동 삭제하는 대신 로그를 영구 저장합니다. 이 기능은 로그를 조사하여 쿼리 성능을 향상 시 유용합니다.

### 변형 분석 설정 구성

"변형 분석" 아래에는 변형 분석을 위해 리포지토리 목록을 GitHub 정의하거나 편집하고 다른 컨트롤러 리포지토리로 변경하는 데 사용할 수 있는 여러 가지 설정이 있습니다. 컨트롤러 리포지토리의 용도 및 요구사항에 대한 자세한 내용은 [다중 리포지토리 변형 분석을 이용한 대규모 CodeQL 쿼리 실행](/ko/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis)을 참조합니다.

작업 영역의 Visual Studio Code파일을 편집하여 "변형 분석 리포지토리" 보기에 표시된 항목을 편집할 수도 있습니다`databases.json`. 이 파일은 보기에 표시된 모든 항목의 JSON 표현을 포함합니다. 편집기 창에서 `databases.json` 파일을 열려면 "변형 분석 리포지토리" 보기의 오른쪽 위에 있는 **{ }** 아이콘을 클릭합니다. 이후, 보기에서 리포지토리, 조직 및 목록의 구조화된 표현을 확인할 수 있습니다. 다음은 그 예입니다.

```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"
  }
}
```

보기에 표시된 항목을 변경하거나, 해당 파일을 직접 편집하여 새 항목을 추가할 수 있습니다.

### 데이터베이스를 추가하기 위한 설정 구성하기

작업 영역에 데이터베이스 원본 폴더를 자동으로 추가하기 위해서는 "데이터베이스 추가: 작업 영역에 데이터베이스 원본 추가" 설정을 활성화할 수 있습니다.

이 설정은 기본적으로 사용하지 않도록 설정됩니다. 데이터베이스의 소스 코드를 정기적으로 찾아보는 경우(예: 코드의 추상 구문 트리를 보려면) 설정을 활성화할 수 있습니다. 자세한 내용은 [소스 코드의 구조 탐색](/ko/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/exploring-the-structure-of-your-source-code)을(를) 참조하세요.

> \[!NOTE]
> 단일 폴더 작업 영역에 있는 경우 데이터베이스 원본 폴더를 추가하면 작업 영역이 다중 루트 작업 영역으로 다시 로드됩니다. 이로 인해 쿼리 기록 및 데이터베이스 목록이 리셋될 수 있습니다.
>
> 이 설정을 활성화하기 전에 작업 영역을 다중 루트 작업 영역으로 저장할 것을 권장합니다. 자세한 내용은 설명서의 [다중 루트 작업 영역을](https://code.visualstudio.com/docs/editing/workspaces/multi-root-workspaces)Visual Studio Code 참조하세요.

### 로컬로 쿼리 실행을 위한 설정 구성

쿼리 테스트에 사용되는 스레드 수를 늘리기 위해서는 "실행 중인 테스트: 스레드 수" 설정을 업데이트할 수 있습니다.

테스트를 실행할 때 추가 인수를 CodeQL CLI 전달하려면 "실행 중인 테스트: 추가 테스트 인수" 설정을 업데이트할 수 있습니다. 사용 가능한 인수에 대한 자세한 내용은 [테스트 실행](/ko/code-security/codeql-cli/codeql-cli-manual/test-run)을 참조하세요.

### 원격 분석 및 데이터 수집 설정 구성

확장에서 CodeQL 원격 분석 데이터를 수집할지 여부를 구성할 수 있습니다. 이 옵션은 기본적으로 사용하지 않도록 설정되어 있습니다. 자세한 내용은 [Visual Studio Code용 CodeQL의 원격 분석](/ko/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code)을(를) 참조하세요.

## 추가 읽기

* 설명서의 [](https://code.visualstudio.com/docs/configure/settings)Visual Studio Code