Cette page a été traduite par l'API Cloud Translation.
Switch to English

Configuration de Visual Studio Code

Visual Studio est un éditeur de code gratuit, qui fonctionne sur les systèmes d'exploitation macOS, Linux et Windows.

Il possède de jolis outils pour le développement Python et C ++, un débogueur visuel, une intégration git et de nombreuses autres fonctionnalités utiles. C'est un excellent éditeur à utiliser pour le développement TensorFlow IO, mais il faut quelques efforts pour le configurer correctement. La configuration de VSCode est très flexible, elle permet de compiler des projets à l'aide de bazel et d'exécuter du code sous les débogueurs Python et C ++. Ce manuel est pour Linux, d'autres OS peuvent avoir des spécificités, mais l'approche devrait être similaire.

Extensions

Pour installer une extension, cliquez sur l'icône d'affichage des extensions (Extensions) dans la barre latérale ou utilisez le raccourci Ctrl + Maj + X. Recherchez ensuite le mot clé ci-dessous.

Compilation de projets

TensorFlow IO est compilé à l'aide de la commande bazel build:

 bazel build -s --verbose_failures --compilation_mode dbg //tensorflow_io/...
 

Voir le fichier README du projet pour plus de détails sur la configuration de l'environnement de développement dans Ubuntu. --compilation_mode L'indicateur dbg indique ici que le binaire produit doit avoir des symboles de débogage. Une fois que vous pouvez compiler le projet à partir de la ligne de commande, vous pouvez également configurer VSCode pour pouvoir appeler la même commande.

Ouvrez View-> Command Pallete (Ctrl + Shift + P) et commencez à taper: "Tasks: Configure Build Task". Si vous faites cela pour la première fois, l'éditeur vous proposera de créer le fichier tasks.json. Une fois que vous l'avez, collez le json suivant:

 {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build TF.IO (Debug)",
            "type": "shell",
            "command": "bazel build -s --verbose_failures --compilation_mode dbg //tensorflow_io/...",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": []
        }
    ]
}
 

Maintenant, vous pouvez appuyer sur "Ctrl + Shift + B", et VSCode va utiliser la commande ci-dessus pour construire le projet. Il utilise sa propre fenêtre de terminal, où tous les liens sont cliquables. Ainsi, lorsqu'une erreur de compilation se produit, vous pouvez simplement cliquer sur le lien, et l'éditeur ouvrira le fichier correspondant et naviguera jusqu'à la ligne.

Projets de débogage

Le débogage du code Python est simple, suivez la documentation officielle pour savoir comment configurer VSCode pour l'activer: https://code.visualstudio.com/docs/python/debugging Le débogage du code C ++ nécessite que GDB soit installé sur votre système. Si vous avez un script python bq_sample_read.py qui utilise la bibliothèque tensorflow-io qui est normalement exécuté comme:

 python3 bq_sample_read.py --gcp_project_id=...
 

Pour l'exécuter sous GDB, exécutez ce qui suit:

 gdb -ex r --args python3 bq_sample_read.py --gcp_project_id=...
 

Si l'application plante dans le code C ++, vous pouvez exécuter backtrace dans la console GDB pour obtenir stacktrace.

VSCode prend également en charge le débogueur GDB, il permet d'ajouter des points d'arrêt, de voir les valeurs des variables et de parcourir le code. Pour ajouter une configuration de débogage, appuyez sur l'icône Vue de débogage (Débogage) dans la barre latérale ou utilisez le raccourci Ctrl + Maj + D. Ici, appuyez sur la petite flèche vers le bas à côté du bouton de lecture et sélectionnez "Ajouter une configuration ...". Il créera le fichier launch.json, ajoutez la configuration suivante ici:

 {
    "name": "(gdb) Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "/usr/bin/python3",
    "args": ["bq_sample_read.py", "--gcp_project_id=..."],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [
        {
            /* path to your bazel-bin folder */
            "name": "TFIO_DATAPATH",
            "value": "/usr/local/google/home/io/bazel-bin"
        },
        {
            /* other env variables to use */
            "name": "GOOGLE_APPLICATION_CREDENTIALS",
            "value": "..."
        }
    ],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ]
}
 

Si tout est configuré correctement, vous devriez pouvoir faire Exécuter -> Démarrer le débogage (F5) ou Exécuter -> Exécuter sans débogage (Ctrl + F5). Cela exécutera votre code sous le débogueur:

Débogueur VSCode

Une autre chose à faire pour simplifier l'expérience de débogage est de configurer GDB pour ignorer les bibliothèques C ++ standard, afin de ne pas entrer dans le code dont vous ne vous souciez pas. Pour ce faire, créez ~/.gdbinit fichier ~/.gdbinit avec le contenu suivant:

 skip -gfi /usr/include/c++/*/*/*
skip -gfi /usr/include/c++/*/*
skip -gfi /usr/include/c++/*
 

Formatage des fichiers

Vous pouvez toujours reformater un fichier C ++ ou Python en cliquant avec le bouton droit -> Formater le document (Ctrl + Maj + I), mais VSCode utilise une convention de style différente. Heureusement, il est facile de changer.

Pour le formatage Python, voir https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

Pour configurer le formateur C ++, procédez comme suit:

  • Aller Préférences -> Paramètres
  • Rechercher C_Cpp.clang_format_fallbackStyle
  • Modifiez le fichier: setting.json directement
  • Ajouter suivant
 "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"