Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Configurazione di Visual Studio Code

Visual Studio Code (VSCode) è un editor di codice gratuito, che viene eseguito sui sistemi operativi macOS, Linux e Windows. Ha un elegante supporto per gli strumenti che supporta lo sviluppo di Python e C ++, il debug visivo, l'integrazione con git e molte altre caratteristiche interessanti. Grazie alla facilità d'uso e alla gestione delle estensioni, è un ottimo editor per lo sviluppo di TensorFlow IO. Tuttavia, è necessario un certo sforzo per configurarlo correttamente. Poiché la configurazione di VSCode è molto flessibile, consente agli sviluppatori di compilare il progetto utilizzando bazel ed eseguire il codice con debugger Python e C ++. La configurazione dello strumento di base potrebbe differire in base ai sistemi operativi, ma l'approccio alla configurazione dovrebbe essere simile.

Estensioni

Per installare un'estensione, fai clic sull'icona della vista delle estensioni (Estensioni) nella barra laterale oppure utilizza la scorciatoia Ctrl + Maiusc + X. Quindi cerca la parola chiave di seguito.

Compilazione di progetti

TensorFlow IO viene compilato utilizzando il comando build bazel:

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

Vedere il file README del progetto per i dettagli su come configurare l'ambiente di sviluppo in Ubuntu. Il flag --compilation_mode dbg qui indica che il binario prodotto dovrebbe avere simboli di debug. Una volta che puoi compilare il progetto dalla riga di comando, puoi anche configurare VSCode per poter invocare lo stesso comando.

Apri View-> Command Pallete ( Ctrl + Shift + P ) e inizia a digitare: "Tasks: Configure Build Task". Se lo fai per la prima volta, l'editor suggerirà di creare il file tasks.json. Una volta ottenuto, incolla il seguente json:

{
    "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": []
        }
    ]
}

Ora puoi premere Ctrl + Maiusc + B e VSCode utilizzerà il comando sopra per creare il progetto. Utilizza la propria finestra di terminale, in cui tutti i collegamenti sono cliccabili. Pertanto, quando si verifica un errore di compilazione, apri il file corrispondente e vai alla riga facendo clic sul collegamento nella finestra del terminale.

Debug di progetti

Il debug del codice Python è banale, segui la documentazione ufficiale per capire come configurare VSCode per abilitarlo: https://code.visualstudio.com/docs/python/debugging

Tuttavia, il debug del codice C ++ richiede che GDB sia installato sul tuo sistema. Se hai uno script python bq_sample_read.py che utilizza la libreria tensorflow-io e viene normalmente eseguito nel modo seguente:

python3 bq_sample_read.py --gcp_project_id=...

Puoi eseguirlo sotto GDB usando quanto segue:

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

Se l'applicazione si blocca nella fase del codice C ++, puoi eseguire il backtrace nella console GDB per ottenere lo stacktrace dell'errore.

VSCode ha anche il supporto per il debugger GDB. Consente di aggiungere punti di interruzione, osservare i valori delle variabili e scorrere il codice in modo graduale. Per aggiungere la configurazione di debug, premere l'icona Vista debug (Debug) sulla barra laterale o utilizzare la scorciatoia Ctrl + Maiusc + D. Qui, premi la piccola freccia verso il basso accanto al pulsante di riproduzione e seleziona "Aggiungi configurazione ...". Ora creerà un file launch.json , a cui aggiungere la seguente configurazione:

{
    "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
        }
    ]
}

Se tutto è configurato correttamente, dovresti essere in grado di eseguire Esegui -> Avvia debug ( F5 ) o Esegui -> Esegui senza debug ( Ctrl + F5 ). Questo eseguirà il tuo codice nel debugger:

Debugger VSCode

Per semplificare ulteriormente l'esperienza di debug, puoi configurare GDB per saltare le librerie C ++ standard. Ciò ti consente di ignorare il codice che non ti interessa. Per fare ciò, crea un file ~/.gdbinit con il seguente contenuto:

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

Formattazione dei file

Puoi sempre riformattare il file C ++ o Python facendo clic con il tasto destro -> Formatta documento ( Ctrl + Maiusc + I ), ma VSCode utilizza una convenzione di stile diversa. Fortunatamente, è facile cambiare.

Per la formattazione Python, vedere https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

Per la formattazione C ++, procedi come segue:

  • Vai a Preferenze -> Impostazioni
  • Cerca "C_Cpp.clang_format_fallbackStyle"
  • Modificare il file:setting.json direttamente aggiungendo il seguente contenuto
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"