كيفية عرض المتغيرات في نافذة قائمة TAGRIVE في VIM
سؤال
أنا أستخدم البرنامج المساعد TagList في VIM. في نافذة قائمة TAGLIST ، يمكنني رؤية علامات مثل مساحات الأسماء والفئات والبنية والوظيفة ولكن ليس المتغيرات. رأيت لقطة شاشة (مرفقة أدناه) على موقع TagList الذي كان لديه هذه المعلومات. أنا أستخدم Vim 7 و CTAGS 5 5.8 ، وقد أنشأت CTAGs باستخدام هذا الأمر
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
(مصدر: SourceForge.net)
المحلول
هناك متغير s:tlist_def_cpp_settings
في البرنامج المساعد TAGLILD (.vim/plugin/taglist.vim) الذي يحدد العناصر الموضحة بشكل افتراضي.
قمت بتوسيعها إلى:
let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' .
\ 'c:class;g:enum;s:struct;u:union;f:function;m:member;' .
\ 'p:prototype'
وفقًا لدليل TagList ، يمكنك أيضًا تحديد tlist_cpp_settings
في الخاص بك .vimrc
مع قيمة مماثلة.
للغات الأخرى توجد متغيرات مختلفة.
نصائح أخرى
على حد علمي ، يعرض البرنامج المساعد TagList فقط المتغيرات التي لها نطاق ملف. لا يظهر المتغيرات التي لديها نطاق الوظيفة فقط.
لإجراء اختبار سريع ، فقط أضف متغيرًا من أي نوع في بداية الملف المصدر الخاص بك ، احفظ الملف المصدر ، وقم بتعيين المؤشر في نافذة قائمة TagList واضغط على U لتحديث قائمة TagList. الآن يجب أن يظهر هذا المتغير في نافذة قائمة TagList. هذا يعمل لملفات C الخاصة بي.
بالمناسبة:
... وقد أنشأت ctags الخاصة بي باستخدام هذا الأمر
CTAGS--C ++-أنواع =+P-حقول =+IAS-Extra =+Q-Language-Force = C ++
هل تقصد أنك تقوم بإنشاء ملف العلامات الخاص بك لمكون الإضافي TagList باستخدام خيارات CTAGS هذه؟ إلى معرفتي ، تستخدم قائمة TagList خيارات CTAGS الخاصة بها وإنشاء ملف علامة مؤقت. ليس للمستخدم أي تأثير على خيارات CTAGS وملف العلامات.