Skip to main content

Настройка рабочей области CodeQL

Когда вы работаете с CodeQL, вам нужен доступ к стандартным библиотекам и запросам.

Организация CodeQL рабочего пространства

Существует несколько различных способов предоставления расширения доступа к стандартным библиотекам и запросам из github/codeql репозитория:

  • Используйте CodeQL стартовое рабочее пространство, которое содержит серию каталогов с названиями в формате codeql-custom-queries-LANGUAGE. Они готовы к разработке собственных пользовательских запросов для каждого языка с помощью стандартных библиотек. Вы также можете приступить к работе с некоторыми примерами запросов. Это рекомендуемый метод.

  • Обновить существующее рабочее пространство для CodeQL. Это рекомендуется для расширенных пользователей.

  •         CodeQL CLI Пользователи могут открыть каталог с их извлечённым CodeQL CLI архивом.
    

Примечание.

          CodeQL Репозиторий включён в качестве подмодуля в стартовом рабочем пространстве. Используйте `git submodule update --remote` их регулярно, чтобы поддерживать подмодули в актуальном состоянии и обеспечивать их совместимость с новыми версиями VS Code расширения и .CodeQL CLI
  1. Клонируйте репозиторий vscode-codeql-starter на компьютер. Убедитесь, что вы включаете подмодулы, используя git clone --recursiveили используя git submodule update --init --remote после клонирования.

  2. В VS Code, нажмите File , затем Open Workspace from File... чтобы открыть vscode-codeql-starter.code-workspace файл из вашего оформления заказа в репозитории workspace.

Вариант 2: Обновление существующего рабочего пространства для CodeQL (расширенного)

  1. В VS Code, выберите «Файл», затем «Добавить папку в рабочее пространство...» и найдите ваш локальный запрос репозиторияCodeQL.

  2. Создайте один новый каталог на целевом языке для хранения пользовательских запросов и библиотек, используя параметры "Создать папку" или "Добавить папку в рабочую область".

  3.        `qlpack.yml` Создайте файл в каждом целевом `main` каталоге языка (ветвь `github/codeql` этих файлов уже есть). Это сообщает CodeQL CLI целевой язык для этого каталога и его зависимости. 
           CodeQL Буду искать зависимости во всех открытых каталогах рабочего пространства или на поисковом пути пользователя.
    

    Например, чтобы создать пользовательский CodeQL каталог, вызванный my-custom-cpp-pack в зависимости от стандартной CodeQL библиотеки для C++, создайте qlpack.yml файл со следующим содержанием:

    name: my-custom-cpp-pack
    version: 0.0.0
    libraryPathDependencies: codeql/cpp-all
    

    Дополнительные сведения о том, почему нужно добавить qlpack.yml файл, см. в разделе Настройка анализа с помощью пакетов CodeQL.

Вариант 3: Открыть каталог с извлеченным CodeQL CLI архивом

Примечание.

Для этого варианта нужно настроить CodeQL CLI. Дополнительные сведения см. в разделе Настройка интерфейса командной строки CodeQL.

В VS Code, откройте каталог, из которого вы извлекали CodeQL CLI архив .zip, чтобы создать CodeQL каталог (например codeql-home).