À propos de l’espace de travail CodeQL
Il existe plusieurs façons de donner à l’extension l’accès aux bibliothèques et requêtes standard à partir du référentiel github/codeql
:
-
Utilisez l’espace de travail de démarrage CodeQL qui contient une série d’annuaires nommés au format
codeql-custom-queries-LANGUAGE
. Ils sont prêts à commencer à développer vos propres requêtes personnalisées pour chaque langage, à l’aide des bibliothèques standard. Il existe également quelques exemples de requêtes pour vous aider à démarrer. Il s’agit de la méthode recommandée. -
Mettez à jour d’un espace de travail existant pour CodeQL. Cette méthode est recommandée pour les utilisateurs avancés.
-
Les utilisateurs CodeQL CLI peuvent ouvrir le répertoire contenant leur archive CodeQL CLI extraite.
Option 1 : Utilisation de l’espace de travail de démarrage (recommandé)
Remarque : le référentiel CodeQL est inclus en tant que sous-module dans l’espace de travail de démarrage. Vous devez utiliser git submodule update --remote
régulièrement pour maintenir les sous-modules à jour et vous assurer qu’ils restent compatibles avec les versions plus récentes de l’extension VS Code et le CodeQL CLI.
-
Clonez le référentiel vscode-codeql-starter sur votre ordinateur. Veillez à inclure les sous-modules, soit en utilisant, soit en utilisant
git clone --recursive
, soit en utilisantgit submodule update --init --remote
après le clonage. -
Dans VS Code, cliquez sur Fichier, puis Ouvrir l’espace de travail à partir du fichier... pour ouvrir le fichier
vscode-codeql-starter.code-workspace
à partir de votre extraction du référentiel de l’espace de travail.
Option 2 : Mise à jour d’un espace de travail existant pour CodeQL (avancé)
-
Dans VS Code, sélectionnez Fichier, puis Ajouter un dossier à l’espace de travail..., puis recherchez votre extraction locale du référentiel CodeQL.
-
Créez un nouvel annuaire par langue cible pour contenir des requêtes et des bibliothèques personnalisées, à l’aide des options Nouveau dossier ou Ajouter un dossier à l’espace de travail.
-
Créez un fichier
qlpack.yml
dans chaque annuaire de langue cible (la branchemain
degithub/codeql
contient déjà ces fichiers). Cela indique à CodeQL CLI la langue cible de ce répertoire et ses dépendances. CodeQL recherche les dépendances dans tous les répertoires d’espace de travail ouverts ou sur le chemin d’accès de recherche de l’utilisateur.Par exemple, pour créer un annuaire CodeQL personnalisé appelé
my-custom-cpp-pack
dépend de la bibliothèque standard CodeQL pour C++, créez un fichierqlpack.yml
avec le contenu suivant :name: my-custom-cpp-pack version: 0.0.0 libraryPathDependencies: codeql/cpp-all
Pour plus d’informations sur la raison pour laquelle vous devez ajouter un fichier
qlpack.yml
, consultez « Personnalisation de l’analyse avec des packs CodeQL ».
Option 3 : Ouvrir l’annuaire contenant l’archive extraite CodeQL CLI
Remarque : Pour cette option, vous devez configurer les CodeQL CLI. Pour plus d’informations, consultez « Configuration de CodeQL CLI ».
Dans VS Code, ouvrez le répertoire dans lequel vous avez extrait l’archive zip CodeQL CLI pour créer un répertoire CodeQL (par exemple codeql-home
).