علامة التبويب إكمال أسماء الملفات كجدات لبرامج نصوص MATLAB

StackOverflow https://stackoverflow.com/questions/1842804

سؤال

نعلم جميعا Matlab يوفر علامة التبويب لإكمال أسماء الملفات المستخدمة كحجج في وظيفة Matlab مثل importdata,imread. وبعد كيف نفعل ذلك للوظائف التي نخلقها؟

تعديل:

alt text

يعرض الملفات والمجلدات في الدليل الحالي.

هل كانت مفيدة؟

المحلول

الحذر: الاختراق غير مدعوم هنا.

إلقاء نظرة على ملف أدوات الملف Local TC.xml في تثبيت Matlab الخاص بك. يبدو أن هذا يحتوي على تعيينات نوع الوسيطة لإكمال علامة التبويب. (لقد وجدت هذا من خلال التثبيت فقط تركيب ماتلاب ل "Imread" في R2009B.)

مضيفا هذا الخط داخل <TC> سيحصل العنصر على علامة التبويب إكمال أسماء الملفات لكل من حججه.

<binding name="importdata"        ctype="FILE"/>

هذا يتطلب تعديل تثبيت ماتلاب في مكانه. بالنسبة لبعض الملفات الأخرى في Toolbox / Local، مثل ClassPath.txt، يمكنك تجاوزها عن طريق وضع نسخ معدلة في الدليل الذي تبدأ Matlab من، ولكن هذا لم يعمل مع TC.xml بالنسبة لي.

نصائح أخرى

لا توجد طريقة مدعومة لإضافة وظائفك إلى علامة تبويب الوسائط، ولكن خدعة واحدة أستخدمها هي وضع "!" أمام الأمر، يتم التعامل معه كأمر نظام. سيتم بعد ذلك إكمال علامة التبويب مسارات الملفات. بمجرد انتهاء أمر MATLAB، أنا موطن بداية الخط، حذف "!" واضغط ENTER.

ل matlab 2016A أعلاه:

الملف t.xml غير موجود في MATLAB 2016A فصاعدا. يستخدم أ .json. (java script cootation notation) لتحقيق نفس الشيء. مثال بسيط على ذلك يمكن أن يكون كما يلي.

افترض أن لديك ملف وظيفة Matlab يسمى myFunction.m. وبعد علاوة على ذلك، لنفترض أن هذه الوظيفة تحتاج إلى ملفات مع التمديد .ext كمدخلات وتريد إكمال علامة التبويب لإظهار جميع خيارات الإدخال الممكنة لهذه الوظيفة. ثم، اكتب المحتوى التالي في ملف واسمه functionSignatures.json.

{
"myFunction":
{
  "inputs":
  [
    {"name":"filename", "kind":"required", "type":"filepath=*.ext" }
  ]
}
}

ضع هذا الملف في نفس الدليل myFunction.m ملف. الآن، أعد تشغيل matlab.

ما يفعله هذا الملف: أثناء الكتابة في إدخال الوظيفة، عند الضغط على علامة التبويب، سترى قائمة بالملفات مع التمديد .ext ظهور غير متوقع. إذا كنت تريد عرض جميع الملفات في علامة التبويب إكمال المنبثقة بغض النظر عن امتدادهم، ثم استبدال "type":"filepath=*.ext" مع "type":"filepath" في الملف functionSignatures.json.

مصدر : https://www.mathworks.com/matlabcentral/answers/306157-how-to-to-to-tab-completion-for-my-function-in-in-in-slab-2016#answer_237857.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top