Настройка рабочей области CodeQL
Существует несколько различных способов предоставления расширения доступа к стандартным библиотекам и запросам из /codeql
репозитория:
Используйте начальную рабочую область CodeQL, которая содержит ряд каталогов, именованных в формате
codeql-custom-queries-LANGUAGE
. Они готовы к разработке собственных пользовательских запросов для каждого языка с помощью стандартных библиотек. Вы также можете приступить к работе с некоторыми примерами запросов. Рекомендуем использовать этот метод.Обновите существующую рабочую область для CodeQL. Это рекомендуется для расширенных пользователей.
Пользователи CodeQL CLI могут открыть каталог, содержащий извлеченные данные CodeQL CLI.
Вариант 1. Использование начальной рабочей области (рекомендуется)
Примечание.
Репозиторий 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
Создайте файл в каждом целевом/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
Примечание.
Для этого параметра необходимо настроить CodeQL CLI. Дополнительные сведения см. в разделе Настройка интерфейса командной строки CodeQL.
В VS Codeоткройте каталог, в котором извлечен каталог CodeQL CLI .zip архив для создания каталога CodeQL (например codeql-home
).