Ace: рдХреНрдпрд╛ рд╕рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ/рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬреВрди 2011  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ajaxorg/ace

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рд╕реБрд╡рд┐рдзрд╛ рдкрд╕рдВрдж рд╣реИ рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдмрдлрд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рддреНрд░реБрдЯрд┐/рдЪреЗрддрд╛рд╡рдиреА рдЖрдЗрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ/рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреА рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХреВрдВред рдореИрдВ рдпрд╣ рднреА рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд▓рд╛рдЗрди/рдХреЙрд▓рдо рдирдВрдмрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рддрд╛рдХрд┐ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдореБрджреНрджреЗ рдкрд░ рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХреВрдВред

рдореБрдЭреЗ рдХреБрдЫ рдРрд╕рд╛ рдЪрд╛рд╣рд┐рдП:

рд╡рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ = Editor.getSession ()ред getErrors ();
var (var i = 0; i < Errors.length; i ++)
{
рд╡рд░ рддреНрд░реБрдЯрд┐ = рддреНрд░реБрдЯрд┐рдпрд╛рдБ [i];
// рддреНрд░реБрдЯрд┐ред рд▓рд╛рдЗрдирдирдВрдмрд░
// рддреНрд░реБрдЯрд┐ред рдХреЙрд▓рдордирдВрдмрд░
// рддреНрд░реБрдЯрд┐ рд╡рд┐рд╡рд░рдг
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ Cloud9 рдореЗрдВ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдпрд╛ рд╣реИ, рдЗрд╕реЗ acebugs рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдпрд╣рд╛рдБ рдореМрдЬреВрдж рд╣реИ:

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

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк рдХреНрд▓рд╛рдЙрдб9 рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рдХрд┐рд╕реА рдирд┐рдЬреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдирдХрд▓ рди рдХрд░реЗрдВред рдпрд╣ рд╣реИ рдЬреЛ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ:

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

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдк рдХреНрд▓рд╛рдЙрдб9 рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рдХрд┐рд╕реА рдирд┐рдЬреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдирдХрд▓ рди рдХрд░реЗрдВред рдпрд╣ рд╣реИ рдЬреЛ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ:

AceBugs in Cloud9

рд╢реНрд░реЗрд╖реНрда,

рдореИрдЯ

рдореИрдЯ,

рдирдореВрдиреЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ Cloud9 рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдПрдХ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВред рдореБрджреНрджрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

-рдорд╛рдЗрдХ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

gsf picture gsf  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

christianbs picture christianbs  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aslushnikov picture aslushnikov  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

narraressan picture narraressan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

STRd6 picture STRd6  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ