لقد سئمت من تقديم تعليمات برمجية تفشل في اختبارات التدقيق. في بعض الأحيان، يمكنني نسخ ولصق أوامر rubocop أو yarn eslint (وما إلى ذلك) من github في جهازي الطرفي والحصول على ذلك للعمل، ولكن هذا لا يعمل أيضًا الآن.
أحصل على أخطاء مثل
لا يمكن استنتاج محلل للملف: ...
بالنسبة لبعض الملفات في بعض الظروف، يقوم vscode بإعادة التنسيق بشكل صحيح عند الحفظ ويخبرني أن لدي خطأ في بناء الجملة، ولكن هذا لا يعمل الآن.
ماذا تريد أن يتم إنجازه؟
أريد إجراء مشاركة شاشة عبر zoom (أو أي شيء آخر) وأن ترشدني خلال الأشياء بحيث
يقوم vscode بتشغيل كل ما يجب عليه عند الحفظ وإصلاح التنسيق أو إخباري بأن شيئًا ما معطل.
يمكنني تشغيل yarn eslint وأي أشياء أخرى موجودة في اختبارات التدقيق من سطر الأوامر
متى تحتاج إلى إنجازه؟
قبل أن أصاب بالجنون.
ما هي ميزانيتك، بالدولار الأمريكي التي يمكنك تقديمها لهذه المهمة؟
أنا أعمل بنظام Pop!Os، وهو في الأساس Ubuntu.
إذا كنت متأكدًا من أنه يمكنك حل هذه المشكلة، فأنا على استعداد لدفع ساعة من وقتك بسعر خدمتك القياسي. إذا كان بإمكانك القيام بذلك في عشر دقائق، فسأكون سعيدًا بالدفع مقابل ساعة. الجميع يربح.
ما أريده، مع ذلك، هو أن يقوم vscode بإجراء التدقيق قبل أن أقوم بالالتزام. لقد نجح الأمر في الماضي، لكنه توقف وأشعر وكأن شخصًا يعرف عن VScode أنني عرفت عن Emacs قبل 20 عامًا، يمكنه قول أشياء مثل “اضغط على control-p، ثم قم بإجراء الشيء لتثبيت أداة التنسيق، ثم قم بتحرير ملف التكوين بحيث يقوم بالشيء الصحيح” وبعد ذلك يمكنني مرة أخرى، الضغط على control-S والحصول على my handlebars و javascript وأي شيء آخر منسق بشكل جميل، وأيضًا العثور على جميع المتغيرات المزعجة التي عرفتها ولكن لم أستخدمها أبدًا وما إلى ذلك.
الاقتراب أكثر
حسنًا، لقد فعلت هذا:
npm install --global yarn
yarn add prettier
والآن لدي discourse-prettier:
#!/usr/bin/env bash
if [ -n "$(find assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
yarn prettier --write "assets/**/*.{scss,js,es6,hbs}"
fi
if [ -n "$(find admin/assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
yarn prettier --write "admin/assets/**/*.{scss,js,es6,hbs}"
fi
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
yarn prettier --write "test/**/*.{js,es6}"
fi
if [ -n "$(find assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
yarn prettier --list-different "assets/**/*.{scss,js,es6,hbs}"
fi
if [ -n "$(find admin/assets -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" -or -name "*.hbs" \) 2>/dev/null)" ]; then
yarn prettier --list-different "admin/assets/**/*.{scss,js,es6,hbs}"
fi
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
yarn prettier --list-different "test/**/*.{js,es6}"
fi
هذا حل جزءًا من مشكلتي، لذا على الأقل يمكنني تشغيل prettier من سطر الأوامر. لكنني ما زلت على استعداد لدفع مقابل المساعدة للحصول على vscode للقيام بالعمل القذر الخاص بي. عند الحفظ، يجب أن يقوم بتشغيل eslint (أو rubop أو أي شيء آخر) وإما إصلاحه أو إخباري أنه لا يستطيع. أنا كبير جدًا في السن لأعتقد أن محرري يجب أن يكتب الكود الخاص بي، ولكن ليس كبيرًا جدًا لأعتقد أنه لا ينبغي عليه تنسيقه.
كان هناك موضوع سابق حيث اقترح شخص ما المكونات الإضافية لـ vscode التي كان يستخدمها، مما ساعدني بعض الشيء، ولكني لا أراها الآن.