本頁面由 Cloud Translation API 翻譯而成。
Switch to English

配置Visual Studio代碼

Visual Studio是一個免費的代碼編輯器,可在macOS,Linux和Windows操作系統上運行。

它具有用於Python和C ++開發,可視化調試器,git集成以及許多其他有用功能的出色工具。這是用於TensorFlow IO開發的出色編輯器,但需要花費一些精力來正確配置它。 VSCode的配置非常靈活,它允許使用bazel編譯項目,並在Python和C ++調試器下運行代碼。本手冊適用於Linux,其他OS可能會有具體說明,但方法應相似。

擴展名

要安裝擴展,請單擊側邊欄上的擴展視圖圖標(擴展),或使用快捷鍵Ctrl + Shift + X。然後在下面搜索關鍵字。

編譯項目

使用bazel build命令編譯TensorFlow IO:

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

有關如何在Ubuntu中設置開發環境的詳細信息,請參見項目README文件。 --compilation_mode dbg標誌在此指示生成的二進製文件應具有調試符號。一旦可以從命令行編譯項目,就可以將VSCode配置為能夠調用同一命令。

打開“視圖”->“命令面板”(Ctrl + Shift + P)並開始輸入:“任務:配置生成任務”。如果您是第一次這樣做,編輯器將建議您創建task.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。如果您有一個使用tensorflow-io庫的bq_sample_read.py python腳本,該庫通常按以下方式執行:

 python3 bq_sample_read.py --gcp_project_id=...
 

為了在GDB下執行它,請運行以下命令:

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

如果應用程序在C ++代碼中崩潰,則可以在GDB控制台中運行backtrace以獲取stacktrace。

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++/*
 

格式化文件

您始終可以通過右鍵單擊->格式化文檔(Ctrl + Shift + I)重新格式化C ++或Python文件,但是VSCode使用不同的樣式概念。幸運的是,更改很容易。

有關Python格式的信息,請參見https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

要配置C ++格式化程序,請執行以下操作:

  • 前往[偏好設定]-> [設定]
  • 搜索C_Cpp.clang_format_fallbackStyle
  • 直接修改文件:setting.json
  • 添加以下
 "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"