ما أفعله هو نسخ مسارات العمل بشكل أعمى من GitHub - discourse/discourse-plugin-skeleton: Template for Discourse plugins و GitHub - discourse/discourse-theme-skeleton: Template for Discourse themes. (أحتاج إلى تعديل مسار المكون الإضافي قليلاً لمكون لوحة المعلومات الخاص بي، والذي يعتمد على المكون الإضافي stripe). هذا، أنا على استعداد للاعتقاد، يكفي لإجراء التدقيق.
ما أريده، مع ذلك، هو أن يقوم 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 التي كان يستخدمها، مما ساعدني بعض الشيء، ولكني لا أراها الآن.