Организация CodeQL рабочего пространства
Существует несколько различных способов предоставления расширения доступа к стандартным библиотекам и запросам из github/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, нажмите File , затем Open Workspace from File... чтобы открыть
vscode-codeql-starter.code-workspaceфайл из вашего оформления заказа в репозитории workspace.
Вариант 2: Обновление существующего рабочего пространства для CodeQL (расширенного)
-
В VS Code, выберите «Файл», затем «Добавить папку в рабочее пространство...» и найдите ваш локальный запрос репозиторияCodeQL.
-
Создайте один новый каталог на целевом языке для хранения пользовательских запросов и библиотек, используя параметры "Создать папку" или "Добавить папку в рабочую область".
-
`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).