Visual Studio Kodunu Yapılandırma

Visual Studio Code (VSCode), macOS, Linux ve Windows işletim sistemlerinde çalışan ücretsiz bir kod düzenleyicisidir. Python ve C++ geliştirmeyi, görsel hata ayıklamayı, git ile entegrasyonu ve daha birçok ilginç özelliği destekleyen zarif araç desteğine sahiptir. Kullanım kolaylığı ve uzantı yönetimi sayesinde TensorFlow IO geliştirme için harika bir düzenleyicidir. Ancak, doğru şekilde yapılandırmak için biraz çaba sarf edilmesi gerekir. VSCode yapılandırması çok esnek olduğundan geliştiricilerin bazel kullanarak projeyi derlemesine ve kodu Python ve C++ hata ayıklayıcıları altında çalıştırmasına olanak tanır. Temel araç kurulumu işletim sistemlerine göre farklılık gösterebilir ancak konfigürasyon yaklaşımı benzer olmalıdır.

Uzantılar

Bir uzantı yüklemek için Kenar Çubuğundaki uzantı görünümü simgesini (Uzantılar) tıklayın veya Ctrl+Shift+X kısayolunu kullanın. Daha sonra aşağıdaki anahtar kelimeyi arayın.

  • C/C++ - Microsoft'un resmi C++ uzantısı
  • Python - Microsoft'un resmi Python uzantısı
  • Python Extension Pack - Python geliştirme için başka bir yararlı uzantı

Projelerin derlenmesi

TensorFlow IO, bazel build komutu kullanılarak derlenir:

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

Ubuntu'da geliştirme ortamının nasıl kurulacağına ilişkin ayrıntılar için proje README dosyasına bakın. --compilation_mode dbg bayrağı burada üretilen ikili dosyanın hata ayıklama sembollerine sahip olması gerektiğini belirtir. Projeyi komut satırından derleyebildiğinizde, VSCode'u aynı komutu çağırabilecek şekilde de yapılandırabilirsiniz.

Görünüm->Komut Paletini ( Ctrl+Shift+P ) açın ve şunu yazmaya başlayın: "Görevler: Oluşturma Görevini Yapılandır". Eğer bunu ilk kez yapıyorsanız editör, Tasks.json dosyasını oluşturmanızı önerecektir. Elinize geçtikten sonra aşağıdaki json'u yapıştırın:

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

Artık Ctrl+Shift+B tuşlarına basabilirsiniz; VSCode projeyi oluşturmak için yukarıdaki komutu kullanacaktır. Tüm bağlantıların tıklanabilir olduğu kendi terminal penceresini kullanır. Yani bir derleme hatası oluştuğunda ilgili dosyayı açar ve terminal penceresindeki bağlantıya tıklayarak satıra gidersiniz.

Projelerde hata ayıklama

Python kodunda hata ayıklamak önemsizdir; bunu etkinleştirmek için VSCode'u nasıl yapılandıracağınızı öğrenmek için resmi belgeleri izleyin: https://code.visualstudio.com/docs/python/debugging

Ancak C++ kodunda hata ayıklamak için sisteminizde GDB'nin kurulu olması gerekir. tensorflow-io kitaplığını kullanan ve normalde aşağıdaki şekilde yürütülen bir bq_sample_read.py python betiğiniz varsa:

python3 bq_sample_read.py --gcp_project_id=...

Aşağıdakileri kullanarak GDB altında çalıştırabilirsiniz:

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

Uygulama C++ kod aşamasında çökerse, hatanın yığın izini almak için GDB konsolunda backtrace çalıştırabilirsiniz.

VSCode ayrıca GDB hata ayıklayıcı desteğine de sahiptir. Kesme noktaları eklemeye, değişkenlerin değerlerini gözlemlemeye ve kodda adım adım ilerlemeye olanak tanır. Hata ayıklama yapılandırması eklemek için Kenar Çubuğundaki Hata Ayıklama Görünümü simgesine (Hata Ayıklama) basın veya Ctrl+Shift+D kısayolunu kullanın. Burada, oynat düğmesinin yanındaki küçük aşağı oka basın ve "Yapılandırma Ekle..." seçeneğini seçin. Şimdi bir launch.json dosyası oluşturacak, lütfen aşağıdaki yapılandırmayı ekleyin:

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

Her şey doğru yapılandırılmışsa, Çalıştır -> Hata Ayıklamayı Başlat ( F5 ) veya Çalıştır -> Hata Ayıklamadan Çalıştır ( Ctrl + F5 ) işlemlerini yapabilmeniz gerekir. Bu, kodunuzu hata ayıklayıcı altında çalıştıracaktır:

VSCode hata ayıklayıcısı

Hata ayıklama deneyimini daha da basitleştirmek için GDB'yi standart C++ kitaplıklarını atlayacak şekilde yapılandırabilirsiniz. Bu, umursamadığınız kodu görmezden gelmenize olanak tanır. Bunu yapmak için aşağıdaki içeriğe sahip bir ~/.gdbinit dosyası oluşturun:

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

Dosyaları biçimlendirme

C++ veya Python dosyasını her zaman Sağ Tıklama -> Belgeyi Biçimlendir ( Ctrl + Shift + I ) ile yeniden biçimlendirebilirsiniz, ancak VSCode farklı bir stil kuralı kullanır. Neyse ki değiştirmek kolaydır.

Python formatlaması için bkz. https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

C++ biçimlendirmesi için aşağıdakileri yapın:

  • Tercihler -> Ayarlar'a gidin
  • "C_Cpp.clang_format_fallbackStyle" ifadesini arayın
  • Aşağıdaki içeriği ekleyerek file:setting.json dosyasını doğrudan değiştirin
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"