Ace: هل هناك طريقة للحصول على جميع الأخطاء / التحذيرات؟

تم إنشاؤها على ٢٣ يونيو ٢٠١١  ·  5تعليقات  ·  مصدر: ajaxorg/ace

تعجبني حقًا الميزة التي تعرض رموز الخطأ / التحذير في منطقة المخزن المؤقت على يسار منطقة النص. ومع ذلك ، أود الحصول على مجموعة من جميع الأخطاء / التحذيرات حتى أتمكن من عرضها على المستخدم في قائمة. أود أيضًا أن تحتوي هذه المجموعة على رقم السطر / العمود حتى أتمكن من تعيين موضع المؤشر لكل مشكلة.

أريد شيئًا مثل:

var Errors = editor.getSession (). getErrors () ؛
var (var i = 0 ؛ i <Errors.length ؛ i ++)
{
var خطأ = أخطاء [i] ؛
// Error.LineNumber
// Error.ColumnNumber
// وصف خاطئ
}

التعليق الأكثر فائدة

لقد أنشأت مكونًا إضافيًا لهذا الغرض في Cloud9 ، ويسمى acebugs وهو موجود هنا:

https://github.com/ajaxorg/cloud9/blob/devel/client/ext/acebugs/acebugs.js

لم أكن أعرف ما إذا كنت تفكر في تمديد cloud9 أو ما إذا كان هذا لمشروع شخصي ، لكنني أردت ذكر ذلك حتى لا تكرر جهودك. هذا ما يبدو عليه:

AceBugs in Cloud9

الأفضل،

غير لامع

ال 5 كومينتر

تسمى البيانات annotations ويمكنك استردادها من خلال هذه المكالمة:

editor.getSession (). getAnnotations ()

يتم تنظيم البيانات على هذا النحو:

/**
 * Error:
 *  {
 *    row: 12,
 *    column: 2, //can be undefined
 *    text: "Missing argument",
 *    type: "error" // or "warning" or "info"
 *  }
 */

شكرا على الاستجابة السريعة! هل يمكن أن تزودني بمثال عن كيفية الوصول إلى الكائن الذي تم إرجاعه من أجل getAnnotations؟ شكرا!

الكائن الذي تم إرجاعه هو مجرد تجزئة تجزئة. تبدو هكذا:

this.$annotations = {};

وبالتالي قد تبدو تجزئة التعليقات التوضيحية $ كما يلي:

{
    {
        row: 12,
        column: 2, //can be undefined
        text: "Missing argument",
        type: "error" // or "warning" or "info"
    },
    {
        row: 32,
        text: "Missing semicolon",
        type: "warning"
    },
    // etc
}

يمكنك تكرار الرد كما يلي:

var annotations = editor.getSession().getAnnotations();

for (var anno in annotations) {
     // anno.row, anno.column, anno.text, anno.type
}

لقد أنشأت مكونًا إضافيًا لهذا الغرض في Cloud9 ، ويسمى acebugs وهو موجود هنا:

https://github.com/ajaxorg/cloud9/blob/devel/client/ext/acebugs/acebugs.js

لم أكن أعرف ما إذا كنت تفكر في تمديد cloud9 أو ما إذا كان هذا لمشروع شخصي ، لكنني أردت ذكر ذلك حتى لا تكرر جهودك. هذا ما يبدو عليه:

AceBugs in Cloud9

الأفضل،

غير لامع

غير لامع،

شكرا لتقديم العينات!

لقد لعبت مع Cloud9 قليلاً ولكن ما زلت أبحث عن المزيد من المشاريع الشخصية. تكمن المشكلة بشكل صحيح في أن المبرمج الآخر كان يعمل على محرر كود لعدة أشهر واعتقدت أنه سيكون من الأسهل استخدام شيء كهذا بدلاً من إعادة اختراع العجلة.

مايك

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات