이 페이지는 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를 사용하십시오. 그런 다음 아래 키워드를 검색하십시오.

프로젝트 컴파일

TensorFlow IO는 bazel 빌드 명령을 사용하여 컴파일됩니다.

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

Ubuntu에서 개발 환경을 설정하는 방법에 대한 자세한 내용은 프로젝트 README 파일을 참조하십시오. --compilation_mode dbg 플래그는 생성 된 바이너리에 디버그 기호가 있어야 함을 나타냅니다. 명령 줄에서 프로젝트를 컴파일 할 수 있으면 동일한 명령을 호출 할 수 있도록 VSCode를 구성 할 수도 있습니다.

View-> Command Pallete ( Ctrl + Shift + P )를 열고 "Tasks : Configure Build Task"를 입력합니다. 처음이 작업을 수행하는 경우 편집기에서 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 를 설치해야합니다. 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 을 실행하여 오류의 스택 backtrace 을 가져올 수 있습니다.

VSCode에는 GDB 디버거 지원도 있습니다. 중단 점을 추가하고 변수 값을 관찰하며 단계별 방식으로 코드를 단계별로 실행할 수 있습니다. 디버그 구성을 추가하려면 사이드 바에서 디버그보기 아이콘 (디버그)을 누르거나 단축키 Ctrl + Shift + D를 사용하십시오 . 여기에서 재생 버튼 옆의 작은 아래쪽 화살표를 누르고 "구성 추가 ..."를 선택합니다. 이제 launch.json 파일이 생성되며 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 디버거

디버깅 환경을 더욱 단순화하기 위해 표준 C ++ 라이브러리를 건너 뛰도록 GDB를 구성 할 수 있습니다. 이렇게하면 신경 쓰지 않는 코드를 무시할 수 있습니다. 이렇게하려면 다음 내용으로 ~/.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"검색
  • 다음 내용을 추가하여 file:setting.json 파일을 직접 수정 file:setting.json
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"