comments - كيف يمكنك حجب التعليق في yaml؟




(9)

لا أحد يعرف كيفية تعليق كتلة من الخطوط في yaml؟


Answers

بالنسبة لمستخدمي Rubi Mine على نظام Windows:

فتح الملف في المحرر حدد الكتلة ثم اضغط على Ctrl + forward slash ، وسوف تكون قد حددت فقرة تبدأ بـ #.

الآن إذا كنت تريد إلغاء التعليق على المجموعة التي تم التعليق عليها ، اضغط على مجموعة المفاتيح نفسها Ctrl + forward slash مرة أخرى


توضح spec طريقة واحدة فقط لوضع علامات على التعليقات:

يتم تمييز تعليق صريح بمؤشر "#".

هذا كل شئ. لا توجد تعليقات كتلة.


إذا كنت تستخدم Eclipse مع yedit plugin (محرر لملفات .yaml) ، يمكنك التعليق على عدة أسطر بواسطة

  1. اختيار الخطوط ليتم التعليق عليها ، وبعد ذلك
  2. على Ctrl + Shift + ج

وإلغاء التعليق اتبع نفس الخطوات.


نهج بديل:

إذا

  • تحتوي بنية YAML على حقول محددة جيدًا لاستخدامها من قِبل تطبيقك
  • ويمكنك إضافة حقول إضافية بحرية لا تعبث بتطبيقك

ثم

  • على أي مستوى يمكنك إضافة حقل نص كتلة جديد يسمى "وصف" أو "تعليق" أو "ملاحظات" أو أيا كان

مثال:

بدلا من

# This comment
# is too long

استعمال

Description: >
  This comment
  is too long

أو

Comment: >
    This comment is also too long
    and newlines survive from parsing!

المزيد من المزايا:

  1. إذا أصبحت التعليقات كبيرة ومعقدة ولها نمط متكرر ، فيمكنك ترقيتها من كتل نص عادي إلى كائنات
  2. قد يقوم تطبيقك - في المستقبل - بقراءة هذه التعليقات أو تحديثها

لا تحاول أن تكون ذكيًا ، ولكن إذا كنت تستخدم نصًا ساميًا لمحررك ، فإن الخطوات هي:

  1. حدد الكتلة
  2. CMD + / على Mac أو CTRL + / على نظامي التشغيل Linux و Windows
  3. ربح

أتصور أن المحررين الآخرين لديهم وظائف مماثلة أيضا. أي واحد الذي تستخدمه؟ سأكون سعيدا للقيام ببعض الحفر.


يدعم YAML التعليقات المضمنة ، ولكنه لا يدعم حظر التعليقات.

من Wikipedia :

تبدأ التعليقات بعلامة الرقم ( # ) ، ويمكن أن تبدأ في أي مكان على السطر ، وتستمر حتى نهاية السطر

مقارنة مع JSON ، أيضا من Wikipedia :

الاختلافات في بناء الجملة خفية ونادرًا ما تحدث في الممارسة: JSON تسمح بالحروف الموسعة مثل UTF-32 ، يتطلب YAML مسافة بعد الفواصل مثل الفاصلة ، الأنداد ، والقولون في حين أن JSON لا ، وبعض التطبيقات غير القياسية لـ JSON تطيل القواعد إلى تضمين /* ... */ jacascript /* ... */ التعليقات. قد تتطلب معالجة حالات الحواف هذه معالجة مسبقة خفيفة لـ JSON قبل التحليل على أنها YAML في السطر.

# If you want to write
# a block-commented Haiku
# you'll need three pound signs

في Vim يمكنك القيام بأحد الإجراءات التالية:

  • تعليق جميع الأسطر:: :%s/^/#
  • سطور التعليق 10 - 15 :10,15s/^/#
  • سطر التعليق 10 على السطر الحالي :10,.s/^/#
  • سطر التعليق 10 للنهاية:: :10,$s/^/#

أو باستخدام كتلة بصرية:

  1. حدد عمودًا متعدد الأسطر بعد إدخال المقطع المرئي عبر Ctrl + v .
  2. اضغط على r متبوعة بـ # للتعليق على كتلة متعددة الأسطر لتحل محل التحديد ، أو Shift + i # Esc لإدراج حروف التعليقات قبل التحديد.

يحتوي Emacs على تعليق dwim (افعل ما أعنيه) - ما عليك سوى اختيار الكتلة والقيام بما يلي:

M-.

إنه تبديل - استخدامه للتعليق وكتل uncomment.

إذا لم يكن مثبتًا على وضع yaml ، فستحتاج إلى إخبار Emacs باستخدام حرف التجزئة (#).


أنا أستخدم ruamel.yaml . التفاصيل والنقاش here .

from ruamel import yaml

with open(filename, 'r') as fp:
    read_data = yaml.load(fp)

استخدام ruamel.yaml متوافق (مع بعض المشاكل البسيطة القابلة للحل) مع الاستخدامات القديمة لـ PyYAML وكما هو مذكور في الرابط الذي قدمته ، استخدم

from ruamel import yaml

بدلا من

import yaml

وستقوم بإصلاح معظم مشاكلك.

تحرير : PyYAML ليست ميتة كما اتضح ، يتم الاحتفاظ بها فقط في مكان مختلف.







comments yaml