Configuración de un área de trabajo de CodeQL
Hay varias maneras diferentes de conceder a la extensión acceso a las bibliotecas y consultas estándar desde el repositorio github/codeql
:
-
Use el área de trabajo de inicio de CodeQL, que contiene una serie de directorios denominados con el formato
codeql-custom-queries-LANGUAGE
. Estos están listos para empezar a desarrollar sus propias consultas personalizadas para cada lenguaje, mediante las bibliotecas estándar. También hay algunas consultas de ejemplo para empezar. Éste es el método recomendado. -
Actualice un área de trabajo existente para CodeQL. Este método se recomienda para usuarios avanzados.
-
Los usuarios de CodeQL CLI pueden abrir el directorio que contiene su archivo extraído de CodeQL CLI.
Opción 1: Uso del área de trabajo de inicio (recomendado)
Note
El repositorio de CodeQL se incluye como submódulo en el área de trabajo de inicio. Debe usar git submodule update --remote
periódicamente para mantener actualizados los submódulos y asegurarse de que siguen siendo compatibles con las versiones más recientes de la extensión VS Code y la CodeQL CLI.
-
Clone el repositorio vscode-codeql-starter en el equipo. Asegúrese de incluir los submódulos, ya sea mediante
git clone --recursive
, o mediantegit submodule update --init --remote
después de la clonación. -
En VS Code, haga clic en Archivo y, a continuación , en Abrir área de trabajo desde archivo... para abrir el archivo
vscode-codeql-starter.code-workspace
desde la desprotección del repositorio del área de trabajo.
Opción 2: Actualización de un área de trabajo existente para CodeQL (avanzado)
-
En VS Code, seleccione Archivo, Agregar carpeta al área de trabajo... y busque la desprotección local del repositorio de CodeQL.
-
Cree un nuevo directorio por idioma de destino para contener consultas y bibliotecas personalizadas, mediante las opciones Nueva carpeta o Agregar carpeta al área de trabajo....
-
Cree un archivo
qlpack.yml
en cada directorio de idioma de destino (la ramamain
degithub/codeql
ya tiene estos archivos). Esto indica a la CodeQL CLI el idioma de destino de ese directorio y cuáles son sus dependencias. CodeQL buscará las dependencias en todos los directorios de área de trabajo abiertos o en la ruta de búsqueda del usuario.Por ejemplo, para que un directorio personalizado CodeQL denominado
my-custom-cpp-pack
dependa de la biblioteca estándar de CodeQL para C++, cree un archivoqlpack.yml
con el siguiente contenido:name: my-custom-cpp-pack version: 0.0.0 libraryPathDependencies: codeql/cpp-all
Para obtener más información sobre por qué necesita agregar un archivo
qlpack.yml
, consulta Personalización del análisis con paquetes de CodeQL.
Opción 3: Abra el directorio que contiene el archivo de CodeQL CLI extraído
Note
Para esta opción, debes configurar la CodeQL CLI. Para más información, consulta Configuración de la CLI de CodeQL.
En VS Code, abra el directorio donde extrajo el archivo .zip de CodeQL CLI para crear un directorio de CodeQL (por ejemplo codeql-home
).