Skip to main content

Configuration d’un espace de travail CodeQL

Lorsque vous utilisez CodeQL, vous devez accéder aux bibliothèques et requêtes standard.

À 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.

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.

  1. 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 utilisant git submodule update --init --remote après le clonage.

  2. 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é)

  1. Dans VS Code, sélectionnez Fichier, puis Ajouter un dossier à l’espace de travail..., puis recherchez votre extraction locale du référentiel CodeQL.

  2. 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.

  3. Créez un fichier qlpack.yml dans chaque annuaire de langue cible (la branche main de github/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 fichier qlpack.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).