Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Настройка кода Visual Studio

Visual Studio Code (VSCode) - это бесплатный редактор кода, работающий в операционных системах macOS, Linux и Windows. Он имеет элегантную поддержку инструментов, которая поддерживает разработку на Python и C ++, визуальную отладку, интеграцию с git и многие другие интересные функции. Благодаря простоте использования и управления расширениями, это отличный редактор для разработки TensorFlow IO. Однако для его правильной настройки необходимо приложить определенные усилия. Поскольку конфигурация VSCode очень гибкая, она позволяет разработчикам компилировать проект с использованием bazel и запускать код в отладчиках Python и C ++. Базовая настройка инструмента может отличаться в зависимости от операционной системы, но подход к настройке должен быть аналогичным.

расширения

Чтобы установить расширение, щелкните значок просмотра расширений (Расширения) на боковой панели или используйте сочетание клавиш Ctrl + Shift + X. Затем найдите ключевое слово ниже.

  • C / C ++ - официальное расширение C ++ от Microsoft
  • Python - официальное расширение Python от Microsoft
  • Python Extension Pack - еще одно полезное расширение для разработки Python

Составление проектов

TensorFlow IO компилируется с помощью команды сборки bazel:

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

См. Файл README проекта для получения подробной информации о том, как настроить среду разработки в Ubuntu. --compilation_mode флаг dbg здесь указывает, что созданный двоичный файл должен иметь символы отладки. После того, как вы сможете скомпилировать проект из командной строки, вы также можете настроить VSCode, чтобы иметь возможность вызывать ту же команду.

Откройте View-> Command Pallete ( Ctrl + Shift + P ) и начните вводить: «Задачи: настроить задачу сборки». Если вы делаете это впервые, редактор предложит создать файл tasks.json. Как только вы его получите, вставьте следующий файл 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": []
        }
    ]
}

Теперь вы можете нажать Ctrl + Shift + B , и VSCode будет использовать указанную выше команду для сборки проекта. Он использует собственное окно терминала, где все ссылки активны. Поэтому при возникновении ошибки компиляции вы открываете соответствующий файл и переходите к строке, просто щелкая ссылку в окне терминала.

Отладка проектов

Отладка кода Python тривиальна, следуйте официальной документации, чтобы выяснить, как настроить VSCode, чтобы включить это: https://code.visualstudio.com/docs/python/debugging

Однако для отладки кода C ++ в вашей системе должен быть установлен GDB . Если у вас есть bq_sample_read.py python bq_sample_read.py который использует библиотеку tensorflow-io и обычно выполняется следующим образом:

python3 bq_sample_read.py --gcp_project_id=...

Вы можете выполнить его под GDB, используя следующее:

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

Если приложение дает сбой на этапе кода C ++, вы можете запустить backtrace в консоли GDB, чтобы получить трассировку стека ошибки.

VSCode также поддерживает отладчик GDB. Он позволяет добавлять точки останова, наблюдать за значениями переменных и шаг за шагом выполнять код. Чтобы добавить конфигурацию отладки, нажмите значок «Просмотр отладки» («Отладка») на боковой панели или используйте сочетание клавиш Ctrl + Shift + D. Здесь нажмите маленькую стрелку вниз рядом с кнопкой воспроизведения и выберите «Добавить конфигурацию ...». Теперь он создаст файл launch.json , в который, пожалуйста, добавьте следующую конфигурацию:

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

Если все настроено правильно, вы сможете выполнить « Выполнить» -> «Начать отладку» ( F5 ) или « Выполнить» -> «Выполнить без отладки» ( Ctrl + F5 ). Это запустит ваш код под отладчиком:

Отладчик VSCode

Чтобы еще больше упростить процесс отладки, вы можете настроить GDB на пропуск стандартных библиотек C ++. Это позволяет вам игнорировать код, который вам не нужен. Для этого создайте файл ~/.gdbinit со следующим содержимым:

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

Форматирование файлов

Вы всегда можете переформатировать файл C ++ или Python, щелкнув правой кнопкой мыши -> Форматировать документ ( Ctrl + Shift + I ), но VSCode использует другое соглашение о стилях. К счастью, это легко изменить.

Для форматирования Python см. Https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/.

Для форматирования C ++ сделайте следующее:

  • Перейдите в Настройки -> Настройки
  • Искать "C_Cpp.clang_format_fallbackStyle"
  • Измените file:setting.json напрямую, добавив следующее содержимое
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"