Настройка рабочей области CodeQL
Существует несколько различных способов предоставления расширения доступа к стандартным библиотекам и запросам из github/codeql
репозитория:
-
Используйте начальную рабочую область CodeQL, которая содержит ряд каталогов, именованных в формате
codeql-custom-queries-LANGUAGE
. Они готовы к разработке собственных пользовательских запросов для каждого языка с помощью стандартных библиотек. Вы также можете приступить к работе с некоторыми примерами запросов. Рекомендуем использовать этот метод. -
Обновите существующую рабочую область для CodeQL. Это рекомендуется для расширенных пользователей.
-
Пользователи CodeQL CLI могут открыть каталог, содержащий извлеченные данные CodeQL CLI.
Вариант 1. Использование начальной рабочей области (рекомендуется)
Note
Репозиторий CodeQL включается в качестве подмодула в начальной рабочей области. Регулярно следует использовать git submodule update --remote
для поддержания актуальности подмодул и обеспечения совместимости с более новыми версиями расширения VS Code и CodeQL CLI.
-
Клонируйте репозиторий vscode-codeql-starter на компьютер. Убедитесь, что вы включаете подмодулы, используя
git clone --recursive
или используяgit submodule update --init --remote
после клонирования. -
В VS Codeнажмите кнопку "Файл " и " Открыть рабочую область из файла", чтобы открыть
vscode-codeql-starter.code-workspace
файл из репозитория рабочей области.
Вариант 2. Обновление существующей рабочей области для CodeQL (дополнительно)
-
В VS Codeвыберите "Файл ", а затем " Добавить папку в рабочую область..." и найдите локальный выход из репозитория CodeQL.
-
Создайте один новый каталог на целевом языке для хранения пользовательских запросов и библиотек, используя параметры "Создать папку" или "Добавить папку в рабочую область".
-
qlpack.yml
Создайте файл в каждом целевомgithub/codeql
каталоге языка (ветвьmain
этих файлов уже есть). Это указывает 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
Note
Для этого параметра необходимо настроить CodeQL CLI. Дополнительные сведения см. в разделе Настройка интерфейса командной строки CodeQL.
В VS Codeоткройте каталог, в котором извлечен каталог CodeQL CLI .zip архив для создания каталога CodeQL (например codeql-home
).