Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Configurar el código de Visual Studio

Visual Studio es un editor de código gratuito, que se ejecuta en los sistemas operativos macOS, Linux y Windows.

Tiene buenas herramientas para el desarrollo de Python y C ++, depurador visual, integración de git y muchas más funciones útiles. Es un gran editor para usar para el desarrollo de TensorFlow IO, pero requiere un esfuerzo configurarlo correctamente. La configuración de VSCode es muy flexible, permite compilar proyectos usando bazel y ejecutar código bajo depuradores Python y C ++. Este manual es para Linux, otros sistemas operativos pueden tener detalles, pero el enfoque debe ser similar.

Extensiones

Para instalar una extensión, haga clic en el icono de vista de extensiones (Extensiones) en la barra lateral, o use el atajo Ctrl + Shift + X. Luego busque la palabra clave a continuación.

  • C / C ++ : extensión oficial de C ++ de Microsoft
  • Python : extensión oficial de Python de Microsoft
  • Python Extension Pack : otra extensión útil para el desarrollo de Python

Compilando proyectos

TensorFlow IO se compila utilizando el comando de compilación bazel:

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

Consulte el archivo README del proyecto para obtener detalles sobre cómo configurar el entorno de desarrollo en Ubuntu. --compilation_mode El indicador dbg aquí indica que el binario producido debería tener símbolos de depuración. Una vez que pueda compilar el proyecto desde la línea de comandos, también puede configurar VSCode para poder invocar el mismo comando.

Abra Ver-> Comando Paleta (Ctrl + Shift + P) y comience a escribir: "Tareas: Configurar tarea de compilación". Si está haciendo esto por primera vez, el editor le sugerirá crear el archivo task.json. Una vez que lo tenga, pegue el siguiente 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": []
        }
    ]
}
 

Ahora, puede presionar "Ctrl + Shift + B", y VSCode usará el comando anterior para construir el proyecto. Utiliza su propia ventana de terminal, donde se puede hacer clic en todos los enlaces. Entonces, cuando se produce un error de compilación, puede hacer clic en el enlace y el editor abrirá el archivo correspondiente y navegará a la línea.

Proyectos de depuración

La depuración del código de Python es trivial, siga la documentación oficial para descubrir cómo configurar VSCode para habilitar eso: https://code.visualstudio.com/docs/python/debugging La depuración del código C ++ requiere que GDB esté instalado en su sistema. Si tiene un script de python bq_sample_read.py que usa la biblioteca tensorflow-io que normalmente se ejecuta como:

 python3 bq_sample_read.py --gcp_project_id=...
 

Para ejecutarlo bajo GDB, ejecute lo siguiente:

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

Si la aplicación falla en el código C ++, puede ejecutar el backtrace en la consola GDB para obtener el stacktrace.

VSCode también tiene soporte para depurador GDB, permite agregar puntos de interrupción, ver valores de variables y recorrer el código. Para agregar la configuración de depuración, presione el icono Vista de depuración (Debug) en la barra lateral, o use el atajo Ctrl + Shift + D. Aquí presione la pequeña flecha hacia abajo junto al botón de reproducción y seleccione "Agregar configuración ...". Creará el archivo launch.json, agregue la siguiente configuración aquí:

 {
    "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 todo está configurado correctamente, debería poder ejecutar Ejecutar -> Iniciar depuración (F5) o Ejecutar -> Ejecutar sin depuración (Ctrl + F5). Esto ejecutará su código bajo depurador:

Depurador VSCode

Otra cosa que vale la pena hacer para simplificar la experiencia de depuración es configurar GDB para omitir las bibliotecas estándar de C ++, para que no ingrese al código que no le importa. Para hacer esto, cree ~/.gdbinit archivo ~/.gdbinit con el siguiente contenido:

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

Formateando archivos

Siempre puede volver a formatear el archivo C ++ o Python haciendo clic con el botón derecho -> Formatear documento (Ctrl + Shift + I), pero VSCode usa una conexión de estilo diferente. Por suerte, es fácil de cambiar.

Para el formato de Python, consulte https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

Para configurar el formateador de C ++, haga lo siguiente:

  • Ir a Preferencias -> Configuración
  • Buscar C_Cpp.clang_format_fallbackStyle
  • Modifique el archivo: setting.json directamente
  • Añadir siguiente
 "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"