تكوين رمز الاستوديو المرئي

Visual Studio Code (VSCode) هو محرر تعليمات برمجية مجاني يعمل على أنظمة التشغيل macOS وLinux وWindows. إنه يتمتع بدعم أدوات أنيق يدعم تطوير Python وC++ وتصحيح الأخطاء المرئية والتكامل مع git والعديد من الميزات الأكثر إثارة للاهتمام. نظرًا لسهولة الاستخدام وإدارة الامتدادات، فهو محرر رائع لتطوير TensorFlow IO. ومع ذلك، من الضروري بذل بعض الجهد لتكوينه بشكل صحيح. نظرًا لأن تكوين VSCode مرن للغاية، فهو يسمح للمطورين بتجميع المشروع باستخدام bazel وتشغيل التعليمات البرمجية ضمن مصححات أخطاء Python وC++. قد يختلف إعداد الأداة الأساسية بناءً على أنظمة التشغيل، لكن يجب أن يكون أسلوب التكوين مشابهًا.

ملحقات

لتثبيت ملحق، انقر على أيقونة عرض الملحقات (الامتدادات) على الشريط الجانبي، أو استخدم الاختصار Ctrl+Shift+X. ثم ابحث عن الكلمة الرئيسية أدناه.

  • C/C++ - امتداد C++ الرسمي من Microsoft
  • بايثون - امتداد بايثون الرسمي من مايكروسوفت
  • Python Extension Pack - امتداد آخر مفيد لتطوير Python

تجميع المشاريع

يتم تجميع TensorFlow IO باستخدام أمر bazel build:

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

راجع ملف README للمشروع للحصول على تفاصيل حول كيفية إعداد بيئة التطوير في Ubuntu. --compilation_mode تشير علامة dbg هنا إلى أن الثنائي الذي تم إنتاجه يجب أن يحتوي على رموز تصحيح. بمجرد أن تتمكن من ترجمة المشروع من سطر الأوامر، يمكنك أيضًا تكوين VSCode لتتمكن من استدعاء نفس الأمر.

افتح عرض->لوحة الأوامر ( 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 يستخدم مكتبة 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. يسمح بإضافة نقاط توقف ومراقبة قيم المتغيرات والتنقل عبر الكود بطريقة خطوة بخطوة. لإضافة تكوين التصحيح، اضغط على أيقونة Debug View (Debug) على الشريط الجانبي، أو استخدم الاختصار 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
        }
    ]
}

إذا تم تكوين كل شيء بشكل صحيح، فمن المفترض أن تكون قادرًا على تنفيذ الأمر Run -> Start Debugging ( F5 ) أو Run -> Run بدون Debugging ( 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 يستخدم أسلوبًا مختلفًا. ولحسن الحظ، من السهل التغيير.

للحصول على تنسيق بايثون، راجع https://donjayamanne.github.io/pythonVSCodeDocs/docs/formatting/

بالنسبة لتنسيق C++، قم بما يلي:

  • انتقل إلى التفضيلات -> الإعدادات
  • البحث عن "C_Cpp.clang_format_fallbackStyle"
  • قم بتعديل file:setting.json مباشرة عن طريق إضافة المحتوى التالي
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google}"