Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configurando o código do Visual Studio

O Visual Studio é um editor de código gratuito, executado nos sistemas operacionais macOS, Linux e Windows.

Possui boas ferramentas para desenvolvimento de Python e C ++, depurador visual, integração com git e muitos outros recursos úteis. É um ótimo editor para o desenvolvimento do TensorFlow IO, mas é preciso algum esforço para configurá-lo corretamente. A configuração do VSCode é muito flexível, permite compilar projeto usando bazel e executar código em depuradores Python e C ++. Este manual é para Linux, outros sistemas operacionais podem ter especificidades, mas a abordagem deve ser semelhante.

Extensões

Para instalar uma extensão, clique no ícone de exibição de extensões (Extensões) na Barra Lateral ou use o atalho Ctrl + Shift + X. Em seguida, procure a palavra-chave abaixo.

  • C / C ++ - extensão oficial C ++ da Microsoft
  • Python - extensão oficial do Python da Microsoft
  • Python Extension Pack - outra extensão útil para o desenvolvimento de Python

Compilando Projetos

O TensorFlow IO é compilado usando o comando bazel build:

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

Veja o arquivo README do projeto para obter detalhes sobre como configurar o ambiente de desenvolvimento no Ubuntu. O sinalizador --compilation_mode dbg aqui indica que o binário produzido deve ter símbolos de depuração. Depois de compilar o projeto na linha de comando, você também pode configurar o VSCode para poder chamar o mesmo comando.

Abra View-> Command Pallete (Ctrl + Shift + P) e comece a digitar: "Tasks: Configure Build Task". Se você estiver fazendo isso pela primeira vez, o editor sugerirá a criação do arquivo tasks.json. Depois de colá-lo, cole o seguinte 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": []
        }
    ]
}
 

Agora, você pode pressionar "Ctrl + Shift + B" e o VSCode usará o comando acima para criar o projeto. Ele usa sua própria janela de terminal, onde todos os links são clicáveis. Portanto, quando ocorrer um erro de compilação, basta clicar no link e o editor abrirá o arquivo correspondente e navegará até a linha.

Depurando Projetos

A depuração do código Python é trivial, siga a documentação oficial para descobrir como configurar o VSCode para permitir que: https://code.visualstudio.com/docs/python/debugging A depuração do código C ++ exige que o GDB esteja instalado no seu sistema. Se você possui um script python bq_sample_read.py que usa a biblioteca tensorflow-io que normalmente é executada como:

 python3 bq_sample_read.py --gcp_project_id=...
 

Para executá-lo no GDB, execute o seguinte:

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

Se o aplicativo falhar no código C ++, você poderá executar o backtrace no console do GDB para obter o stacktrace.

O VSCode também possui suporte ao depurador GDB, permite adicionar pontos de interrupção, ver valores de variáveis ​​e percorrer o código. Para adicionar a configuração de depuração, pressione o ícone Debug View (Debug) na barra lateral ou use o atalho Ctrl + Shift + D. Aqui, pressione a pequena seta para baixo ao lado do botão play e selecione "Add Configuration ...". Ele criará o arquivo launch.json, adicione a seguinte configuração aqui:

 {
    "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 tudo estiver configurado corretamente, você poderá executar Executar -> Iniciar depuração (F5) ou Executar -> Executar sem depuração (Ctrl + F5). Isso executará seu código no depurador:

Depurador VSCode

Outra coisa que vale a pena fazer para simplificar a experiência de depuração é configurar o GDB para ignorar as bibliotecas C ++ padrão, para que você não pise no código de que não gosta. Para fazer isso, crie o arquivo ~/.gdbinit com o seguinte conteúdo:

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

Formatando arquivos

Você sempre pode reformatar o arquivo C ++ ou Python clicando com o botão direito do mouse -> Formatar documento (Ctrl + Shift + I), mas o VSCode usa uma convenção de estilo diferente. Felizmente, é fácil mudar.

Para formatação do Python, consulte https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

Para configurar o formatador C ++, faça o seguinte:

  • Vá em Preferências -> Configurações
  • Pesquisar C_Cpp.clang_format_fallbackStyle
  • Modifique o arquivo: setting.json diretamente
  • Adicione o seguinte
 "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"