рдХрджрд╛рдЪрд┐рдд,
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЬреЗ рдирд┐рд╕рд░реНрдЧрд╛рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдЖрд╣реЗ, рдЖрдореНрд╣реА рдПрдХрд╛рддреНрдорд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╡реНрдпрд╛рд╕рдкреАрда рдореНрд╣рдгреВрди рдЧреНрд░рд╣рдг рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдХрд╛рд╣реА рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрдХрдбреЗ рдкрд╛рд╣рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рдЖрдгрд┐ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рдкрд╛рдпрд╛ рддрдпрд╛рд░ рдХрд░рдгрд╛рд▒реНрдпрд╛ рдЧреНрд░рд╣рдг рдШрдЯрдХрд╛рдВрдЪреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд▓реНрдкрдирд╛ рджреЗрдК. "рдирд╡реАрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрдЯрд░" 1C рд╕рд╛рдареА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ.
рдПрдХреНрд▓рд┐рдкреНрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪрд╛ рдкрд░рд┐рдЪрдп
рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░реВрди рдкреНрд░рдердо рдЧреНрд░рд╣рдг рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдХрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдмреА рдкрд╛рд╣реВ
рд╕рд░реНрд╡ рдкреНрд░рдердо, рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдЧреНрд░рд╣рдг рд╣реЗ рдмрд░реНтАНрдпрд╛рдкреИрдХреА рд╕реНрдкрд╖реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд▓реЗрдпрд░рд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдкрд╛рд╕реВрди рднрд╛рд╖рд╛-рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреЗ рдкреГрдердХреНрдХрд░рдг рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХрд╛рдВрдкрд╛рд╕реВрди UI-рд╕реНрд╡рддрдВрддреНрд░ "рдХреЛрд░" рдШрдЯрдХ рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ. рд╕рдорд░реНрдерди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рд╣.
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, Eclipse Platform рдПрдХ рд╕рд╛рдорд╛рдиреНрдп, рднрд╛рд╖рд╛-рд╕реНрд╡рддрдВрддреНрд░ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ Java рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗ Eclipse рдордзреНрдпреЗ рдкреВрд░реНрдг рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд Java IDE рдЬреЛрдбрддрд╛рдд. рдПрдХреНрд▓рд┐рдкреНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрдгрд┐ рдЬреЗрдбреАрдЯреА рдпрд╛ рджреЛрдиреНрд╣реА рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рдЕрдиреЗрдХ рдШрдЯрдХ рдЕрд╕рддрд╛рдд, рддреНрдпрд╛рддреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдПрдХрддрд░ UI-рд╕реНрд╡рддрдВрддреНрд░ тАЬрдХреЛрд░тАЭ рдХрд┐рдВрд╡рд╛ UI рд╕реНрддрд░рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ (рдЖрдХреГрддреА 1).
рддрд╛рдВрджреВрд│. 1. рдПрдХреНрд▓рд┐рдкреНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрдгрд┐ рдЬреЗрдбреАрдЯреА
рдЪрд▓рд╛ рдЧреНрд░рд╣рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреНрдпрд╛ рдореБрдЦреНрдп рдШрдЯрдХрд╛рдВрдЪреА рдпрд╛рджреА рдХрд░реВрдпрд╛:
- рд░рдирдЯрд╛рдЗрдо тАФ рдкреНрд▓рдЧрдЗрди рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ. рдЧреНрд░рд╣рдг рд╣реЗ рдореЙрдбреНрдпреВрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рджреНрд╡рд╛рд░реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЖрд╣реЗ. рдореВрд▓рдд:, рдЧреНрд░рд╣рдг рд╣рд╛ "рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреВ" рдЖрдгрд┐ "рд╡рд┐рд╕реНрддрд╛рд░" рдпрд╛рдВрдЪрд╛ рд╕рдВрдЧреНрд░рд╣ рдЖрд╣реЗ.
- рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ - рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдкреНрд░рдХрд▓реНрдк рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ. рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдлреЛрд▓реНрдбрд░реНрд╕ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕ рдЕрд╕рддрд╛рдд рдЬреНрдпрд╛ рдереЗрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдореЕрдк рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.
- рдорд╛рдирдХ рд╡рд┐рдЬреЗрдЯ рдЯреВрд▓рдХрд┐рдЯ (SWT) - рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдореВрд▓рднреВрдд рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдШрдЯрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
- рдЬреЗрдлреЗрд╕ тАФ SWT рдЪреНрдпрд╛ рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдЕрдиреЗрдХ UI рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.
- рд╡рд░реНрдХрдмреЗрдВрдЪ тАФ Eclipse UI рдкреНрд░рддрд┐рдорд╛рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ: рд╕рдВрдкрд╛рджрдХ, рджреГрд╢реНрдпреЗ, рджреГрд╖реНрдЯреАрдХреЛрди.
рдЕрд╕реЗ рдореНрд╣рдЯрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдЧреНрд░рд╣рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдбреАрдмрдЧ, рддреБрд▓рдирд╛, рд╢реЛрдз рдЖрдгрд┐ рдЯреАрдорд╕рд╣ рдПрдХрд╛рддреНрдорд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрддрд░ рдЕрдиреЗрдХ рдЙрдкрдпреБрдХреНрдд рдШрдЯрдХ рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. JFace рдордЬрдХреВрд░рд╛рдЪрд╛ рд╡рд┐рд╢реЗрд╖ рдЙрд▓реНрд▓реЗрдЦ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ - рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдЪреЗ "рд╕реНрдорд╛рд░реНрдЯ рд╕рдВрдкрд╛рджрдХ" рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзрд╛рд░. рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдпрд╛ рдШрдЯрдХрд╛рдВрдЪреА, рддрд╕реЗрдЪ UI рд▓реЗрдпрд░ рдШрдЯрдХрд╛рдВрдЪреА рдПрдХ рд╕рд░рд╕рд░реА рддрдкрд╛рд╕рдгреА рджреЗрдЦреАрд▓ рдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдордзреНрдпреЗ рд╢рдХреНрдп рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдпрд╛ рд╡рд┐рднрд╛рдЧрд╛рдЪреНрдпрд╛ рдЙрд░реНрд╡рд░рд┐рдд рднрд╛рдЧрд╛рдд рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ рдореБрдЦреНрдп "рдХреЛрд░" рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрдирдкреБрд░рддреЗ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░реВ. рдПрдХреНрд▓рд┐рдкреНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрдгрд┐ рдЬреЗрдбреАрдЯреА.
рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо
Eclipse рдкреНрд▓рдЧрдЗрди рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ
рдХреЛрд░ рд╡рд░реНрдХрд╕реНрдкреЗрд╕
Eclipse рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреЗрд╣реА рдПрдХрд╛рддреНрдорд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг Eclipse рд╡рд░реНрдХрд╕реНрдкреЗрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рд╣реЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд╣рд╕рд╛ IDE рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдЕрд╕рддреЛ. рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдореЕрдк рдереЗрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЖрдгрд┐ рддреНрдпрд╛рдд рдлреЛрд▓реНрдбрд░реНрд╕ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕ рдЕрд╕рд▓реЗрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕рддрд╛рдд. рд╣реЗ рдкреНрд░рдХрд▓реНрдк, рдлреЛрд▓реНрдбрд░реНрд╕ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕ рдореНрд╣рдгрддрд╛рдд рд╕рдВрд╕рд╛рдзрдиреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ Eclipse рдордзреАрд▓ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд рдХреЕрд╢реЗ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рд╕рдВрд╕рд╛рдзрди рд╡реГрдХреНрд╖рд╛рдЪреНрдпрд╛ рдЯреНрд░реЕрд╡реНрд╣рд░реНрд╕рд▓рд▓рд╛ рд▓рдХреНрд╖рдгреАрдп рдЧрддреА рджреЗрдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЕрдиреЗрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдпрд╛рд╕рд╣
рдореБрдЦреНрдп рд╕рдВрд╕рд╛рдзрди рдШрдЯрдХ (org.eclipse.core.resources рдкреНрд▓рдЧрдЗрди) рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рд╡рд┐рд╢реЗрд╖рддрдГ, рд╣рд╛ рдШрдЯрдХ рдлреЙрд░реНрдордордзреНрдпреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░рд╛рдд рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЛ рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓. рдпрд╛ рдореЙрдбреЗрд▓рд╕рд╣ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреА рд▓рд┐рдВрдХ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рд╕реЛрдкрд╛ рдорд╛рд░реНрдЧ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдХреНрд▓рд╛рдпрдВрдЯ рдНрдХреНрд╕реЗрд╕рдордзреВрди рдореЙрдбреЗрд▓рдордзреАрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреА рд╕реНрдерд┐рддреА рдереЗрдЯ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгрд╛рд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рдкрд╡рдгреЗ рдЗрд╖реНрдЯ рдЕрд╕реЗрд▓. рдЕрдиреНрдпрдерд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдлрд╛рдЗрд▓ рд╣рдЯрд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдХреНрд▓рд╛рдпрдВрдЯ рдкреБрдвреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрд╕рд╣, рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдирд╕рд▓реЗрд▓реА рдПрдЦрд╛рджреА рд╡рд╕реНрддреВ рдареЗрд╡реВ рд╢рдХреЗрд▓. Eclipse рдирд╛рд╡рд╛рдЪреЗ рдХрд╛рд╣реАрддрд░реА рд╡рд╛рдкрд░реВрди рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЗ рд╣рд╛рддрд╛рд│реВ рд╕рдВрд╕рд╛рдзрди рд╣рдБрдбрд▓ рдПрдХ рдХреА рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ (рддреНрдпрд╛рд▓рд╛ рдХреЗрд╡рд│ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░рд╛рддреАрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рдорд╛рд░реНрдЧ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ) рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рдореЙрдбреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ, рдЬреЗ рдереЗрдЯ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. рд╣реЗ рдбрд┐рдЭрд╛рдЗрди рдкреЕрдЯрд░реНрдирдЪреА рднрд┐рдиреНрдирддрд╛ рдЖрд╣реЗ
рддрд╛рдВрджреВрд│. рдЖрдХреГрддреА 2 рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓рд╡рд░ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рд╣рдБрдбрд▓/рдмреЙрдбреА рдореБрд╣рд╛рд╡рд░реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ. рдЖрдпрдЖрд░рд╕реЛрд░реНрд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рд░рд┐рд╕реЛрд░реНрд╕рдЪреНрдпрд╛ рд╣рдБрдбрд▓рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЛ рдЖрдгрд┐ рдПрдХ API рдЖрд╣реЗ, рд░рд┐рд╕реЛрд░реНрд╕ рдХреНрд▓рд╛рд╕рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдЬреЛ рд╣рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд╛рдЧреВ рдХрд░рддреЛ рдЖрдгрд┐ рд░рд┐рд╕реЛрд░реНрд╕рдЗрдиреНрдлреЛ рдХреНрд▓рд╛рд╕, рдЬреЛ рдореБрдЦреНрдп рднрд╛рдЧрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЛ, рдЬреЗ API рдирд╛рд╣реАрдд. рдЖрдореНрд╣реА рдпрд╛рд╡рд░ рдЬреЛрд░ рджреЗрддреЛ рдХреА рд╣рдБрдбрд▓рд▓рд╛ рдлрдХреНрдд рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд░реВрдЯрдЪреНрдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рдорд╛рд░реНрдЧ рдорд╛рд╣рд┐рдд рдЕрд╕рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╕рдВрд╕рд╛рдзрди рдорд╛рд╣рд┐рддреАрдЪреА рд▓рд┐рдВрдХ рдирд╕рддреЗ. рд╕рдВрд╕рд╛рдзрди рдорд╛рд╣рд┐рддреА рд╡рд╕реНрддреВ рддрдерд╛рдХрдерд┐рдд "рдПрд▓рд┐рдореЗрдВрдЯ рдЯреНрд░реА" рдмрдирд╡рддрд╛рдд. рд╣реА рдбреЗрдЯрд╛ рд░рдЪрдирд╛ рдкреВрд░реНрдгрдкрдгреЗ рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рд╛рдХрд╛рд░рд▓реА рдЖрд╣реЗ. рд╣рдБрдбрд▓рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдорд╛рд╣рд┐рддреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА, рддреНрдпрд╛ рд╣рдБрдбрд▓рдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдкрдерд╛рдиреБрд╕рд╛рд░ рдПрд▓рд┐рдореЗрдВрдЯ рдЯреНрд░реА рдЯреНрд░реЕрд╡реНрд╣рд░реНрд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рддрд╛рдВрджреВрд│. 2. IRsource рдЖрдгрд┐ ResourceInfo
рдЬрд╕реЗ рдЖрдкрдг рдирдВрддрд░ рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд, рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓рдЪреЗ рдореВрд│ рдбрд┐рдЭрд╛рдЗрди (рдЖрдореНрд╣реА рдпрд╛рд▓рд╛ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореНрд╣рдгреВ рд╢рдХрддреЛ) рдЗрддрд░ рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдЧреНрд░рд╣рдгрд╛рдд рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдЖрддреНрддрд╛рд╕рд╛рдареА, рдпрд╛ рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреА рдпрд╛рджреА рдХрд░реВрдпрд╛:
- рд╣рдБрдбрд▓ рдПрдХ рдореВрд▓реНрдп рд╡рд╕реНрддреВ рдЖрд╣реЗ. рдореВрд▓реНрдп рд╡рд╕реНрддреВ рдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд╕реНрддреВ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдЪреА рд╕рдорд╛рдирддрд╛ рдУрд│рдЦреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╛рд╣реА. рд╣реЕрд╢ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЕрд╢рд╛ рд╡рд╕реНрддреВ рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рдХреА рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╣рдБрдбрд▓рдЪреА рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ рдПрдХрд╛рдЪ рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрдК рд╢рдХрддрд╛рдд. рддреНрдпрд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ equals(Object) рдкрджреНрдзрдд рд╡рд╛рдкрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓.
- рд╣рдБрдбрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рд╕рдВрд╕рд╛рдзрдирд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдирд╕рддреЗ (рдХреЗрд╡рд│ рддреЛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ "рдХреА", рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ).
- рд╣рдБрдбрд▓ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдК рд╢рдХрддреЗ (рдПрдХрддрд░ рдЕрджреНрдпрд╛рдк рддрдпрд╛рд░ рди рдХреЗрд▓реЗрд▓реЗ рд╕рдВрд╕рд╛рдзрди рдХрд┐рдВрд╡рд╛ рдЖрдзреАрдЪ рд╣рдЯрд╡рд▓реЗрд▓реЗ рд╕рдВрд╕рд╛рдзрди). IResource.exists() рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди рд╕рдВрд╕рд╛рдзрдирд╛рдЪреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рддрдкрд╛рд╕рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
- рдХрд╛рд╣реА рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЗрд╡рд│ рд╣рдБрдбрд▓рдордзреНрдпреЗрдЪ рд╕рд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд (рддрдерд╛рдХрдерд┐рдд рд╣рдБрдбрд▓-рдУрдиреНрд▓реА рдСрдкрд░реЗрд╢рдиреНрд╕). рдЙрджрд╛рд╣рд░рдгреЗ рдЖрд╣реЗрдд IResource.getParent(), getFullPath(), рдЗ. рдЕрд╕реЗ рдСрдкрд░реЗрд╢рди рдпрд╢рд╕реНрд╡реА рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрди рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА. рдЬреНрдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдпрд╢рд╕реНрд╡реА рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрд╕рд╛рдзрди рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗ рд╕рдВрд╕рд╛рдзрди рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╕рд▓реНрдпрд╛рд╕ CoreException рдЯрд╛рдХрддрд╛рдд.
рдПрдХреНрд▓рд┐рдкреНрд╕ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рдмрджрд▓ рд╕реВрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдпрдВрддреНрд░рдгрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ (рдЖрдХреГрддреА 3). рд░рд┐рд╕реЛрд░реНрд╕реЗрд╕ рдПрдХрддрд░ рдПрдХреНрд▓рд┐рдкреНрд╕ IDE рдордзреНрдпреЗрдЪ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдХрд┐рдВрд╡рд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рдирдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдмрджрд▓реВ рд╢рдХрддрд╛рдд. рджреЛрдиреНрд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдиреНрд╕рдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдирд╛ тАЬрд░рд┐рд╕реЛрд░реНрд╕ рдбреЗрд▓реНрдЯрд╛тАЭ рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдорд╛рд╣рд┐рддреА рджрд┐рд▓реА рдЬрд╛рддреЗ. рдбреЗрд▓реНрдЯрд╛ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд░рд┐рд╕реЛрд░реНрд╕ (рдЙрдк-)рд╡реГрдХреНрд╖рд╛рдЪреНрдпрд╛ рджреЛрди рдЕрд╡рд╕реНрдерд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ рдЖрдгрд┐ рддреЗ рд╕реНрд╡рддрдГрдЪ рдПрдХ рдЭрд╛рдб рдЖрд╣реЗ, рдЬреНрдпрд╛рддреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд╕рдВрд╕рд╛рдзрдирд╛рддреАрд▓ рдмрджрд▓рд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЛ рдЖрдгрд┐ рдкреБрдвреАрд▓ рд╕реНрддрд░рд╛рд╡рд░реАрд▓ рдбреЗрд▓реНрдЯрд╛рдЪреА рд╕реВрдЪреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ рдЬреА рдмрд╛рд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ.
рддрд╛рдВрджреВрд│. 3. IResourceChangeEvent рдЖрдгрд┐ IResourceDelta
рд╕рдВрд╕рд╛рдзрди рдбреЗрд▓реНрдЯрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдпрдВрддреНрд░рдгреЗрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд:
- рдПрдХрдЪ рдмрджрд▓ рдЖрдгрд┐ рдЕрдиреЗрдХ рдмрджрд▓рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рд╕рдорд╛рди рд░рдЪрдирд╛ рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдХрд╛рд░рдг рдбреЗрд▓реНрдЯрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд░рдЪрдирд╛рдЪреНрдпрд╛ рддрддреНрддреНрд╡рд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╕рдмрд╕реНрдХреНрд░рд╛рдЗрдмрд░ рдХреНрд▓рд╛рдпрдВрдЯ рдбреЗрд▓реНрдЯрд╛рдЪреНрдпрд╛ рдЭрд╛рдбрд╛рджреНрд╡рд╛рд░реЗ рд░рд┐рдХрд░реНрд╕рд┐рд╡реНрд╣ рдбрд┐рд╕реЗрдВрдЯ рд╡рд╛рдкрд░реВрди рд╕рдВрд╕рд╛рдзрди рдмрджрд▓ рд╕реВрдЪрдирд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реВ рд╢рдХрддрд╛рдд.
- рдбреЗрд▓реНрдЯрд╛рдордзреНрдпреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рд╣рд╛рд▓рдЪрд╛рд▓реА рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд "рдорд╛рд░реНрдХрд░" рдордзреАрд▓ рдмрджрд▓рд╛рдВрд╕рд╣ рд╕рдВрд╕рд╛рдзрдирд╛рддреАрд▓ рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рд╕рдВрдкреВрд░реНрдг рдорд╛рд╣рд┐рддреА рдЕрд╕рддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рдВрдХрд▓рди рддреНрд░реБрдЯреА рдорд╛рд░реНрдХрд░ рдореНрд╣рдгреВрди рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд).
- рд╕рдВрд╕рд╛рдзрди рд╕рдВрджрд░реНрдн рд╣рдБрдбрд▓рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдбреЗрд▓реНрдЯрд╛ рдиреИрд╕рд░реНрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рд░рд┐рдореЛрдЯ рд░рд┐рд╕реЛрд░реНрд╕рдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрдК рд╢рдХрддреЛ.
рдЬрд╕реЗ рдЖрдкрдг рд▓рд╡рдХрд░рдЪ рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд, рд░рд┐рд╕реЛрд░реНрд╕ рдореЙрдбреЗрд▓ рдЪреЗрдВрдЬ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдореЗрдХреЕрдирд┐рдЭрдордЪреЗ рдореБрдЦреНрдп рдШрдЯрдХ рдЗрддрд░ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд.
рдЬреЗрдбреАрдЯреА рдХреЛрд░
рдПрдХреНрд▓рд┐рдкреНрд╕ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рдореЙрдбреЗрд▓ рд╣реЗ рдореВрд▓рднреВрдд рднрд╛рд╖рд╛-рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдореЙрдбреЗрд▓ рдЖрд╣реЗ. JDT рдХреЛрд░ рдШрдЯрдХ (plugin org.eclipse.jdt.core) рдЬрд╛рд╡рд╛ рджреГрд╖реНрдЯреАрдХреЛрдирд╛рддреВрди рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╕рдВрд░рдЪрдиреЗрдЪреЗ рдиреЗрд╡реНрд╣рд┐рдЧреЗрдЯ рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА API рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рддрдерд╛рдХрдерд┐рдд "рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓" (рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓). рд╣реЗ API рдЬрд╛рд╡рд╛ рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдореВрд│ рд╕реНрддреНрд░реЛрдд рдореЙрдбреЗрд▓ API рдЪреНрдпрд╛ рд╡рд┐рд░реВрджреНрдз, рдЬреЗ рдлреЛрд▓реНрдбрд░ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЬрд╛рд╡рд╛ рдПрд▓рд┐рдореЗрдВрдЯ рдЯреНрд░реАрдЪреЗ рдореБрдЦреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдВрдЬреАрд░ рдордзреНрдпреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗрдд. 4.
рддрд╛рдВрджреВрд│. 4. Java рдореЙрдбреЗрд▓ рдШрдЯрдХ
Java рдореЙрдбреЗрд▓ рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓ (рдЖрдХреГрддреА 5) рдкреНрд░рдорд╛рдгреЗрдЪ рд╣рдБрдбрд▓/рдмреЙрдбреА рдЖрдпрдбрд┐рдпрдо рд╡рд╛рдкрд░рддреЗ. IJavaElement рд╣реЗ рд╣рдБрдбрд▓ рдЖрд╣реЗ рдЖрдгрд┐ JavaElementInfo рд╢рд░реАрд░рд╛рдЪреА рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рддреЗ. IJavaElement рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рд░реНрд╡ Java рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЛ. рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд╣реА рдкрджреНрдзрддреА рдлрдХреНрдд-рд╣рдБрдбрд▓ рдЖрд╣реЗрдд: getElementName(), getParent(), рдЗ. JavaElementInfo рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХрд╛рдЪреА рд╕реНрдерд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ: рддреНрдпрд╛рдЪреА рд░рдЪрдирд╛ рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдо.
рддрд╛рдВрджреВрд│. 5. IJavaElement рдЖрдгрд┐ JavaElementInfo
рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдореВрд▓рднреВрдд рд╣рдБрдбрд▓/рдмреЙрдбреА рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ Java рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдХрд╛рд╣реА рдлрд░рдХ рдЖрд╣реЗрдд. рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓рдордзреНрдпреЗ, рдПрд▓рд┐рдореЗрдВрдЯ рдЯреНрд░реА, рдЬреНрдпрд╛рдЪреЗ рдиреЛрдбреНрд╕ рд╕рдВрд╕рд╛рдзрди рдорд╛рд╣рд┐рддреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрд╣реЗрдд, рдкреВрд░реНрдгрдкрдгреЗ рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдкрд░рдВрддреБ Java рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╕рдВрд╕рд╛рдзрди рд╡реГрдХреНрд╖рд╛рдкреЗрдХреНрд╖рд╛ рд▓рдХреНрд╖рдгреАрдп рдкреНрд░рдорд╛рдгрд╛рдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдШрдЯрдХ рдЕрд╕реВ рд╢рдХрддрд╛рдд, рдХрд╛рд░рдг рддреЗ .java рдЖрдгрд┐ .class рдлрд╛рдЗрд▓реНрд╕рдЪреА рдЕрдВрддрд░реНрдЧрдд рд░рдЪрдирд╛ рджреЗрдЦреАрд▓ рджрд░реНрд╢рд╡рддреЗ: рдкреНрд░рдХрд╛рд░, рдлреАрд▓реНрдб рдЖрдгрд┐ рдкрджреНрдзрддреА.
рдореЗрдорд░реАрдордзреАрд▓ рдШрдЯрдХрд╛рдВрдЪреЗ рд╕рдВрдкреВрд░реНрдг рдЭрд╛рдб рдкреВрд░реНрдгрдкрдгреЗ рд╕рд╛рдХрд╛рд░ рдХрд░рдгреЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, Java рдореЙрдбреЗрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдШрдЯрдХ рдорд╛рд╣рд┐рддреАрдЪрд╛ рдорд░реНрдпрд╛рджрд┐рдд рдЖрдХрд╛рд░рд╛рдЪрд╛ LRU рдХреЕрд╢реЗ рд╡рд╛рдкрд░рддреЗ, рдЬреЗрдереЗ рдХреА рд╣рдБрдбрд▓ IJavaElement рдЖрд╣реЗ. рдШрдЯрдХ рдорд╛рд╣рд┐рддреА рд╡рд╕реНрддреВ рдорд╛рдЧрдгреАрдиреБрд╕рд╛рд░ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдХрд╛рд░рдг рдШрдЯрдХ рд╡реГрдХреНрд╖ рдиреЗрд╡реНрд╣рд┐рдЧреЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдХрдореАрдд рдХрдореА рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╡рд╕реНрддреВ рдХреЕрд╢реЗрдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдореЙрдбреЗрд▓рдЪрд╛ рдореЗрдорд░реА рд╡рд╛рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЕрд╢реЗ рдЖрдХрд╛рд░рд╛рдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рд░рд╛рд╣рддреЛ. рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдбрд┐рдЭрд╛рдЗрдирдЪрд╛ рд╣рд╛ рдЖрдгрдЦреА рдПрдХ рдлрд╛рдпрджрд╛ рдЖрд╣реЗ, рдЬреЛ рдХреНрд▓рд╛рдпрдВрдЯ рдХреЛрдбрдордзреВрди рдЕрд╕реЗ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддрдкрд╢реАрд▓ рдкреВрд░реНрдгрдкрдгреЗ рд▓рдкрд╡рддреЛ.
Java рдШрдЯрдХрд╛рдВрдордзреНтАНрдпреЗ рдмрджрд▓ рд╕реВрдЪрд┐рдд рдХрд░рдгреНтАНрдпрд╛рдЪреА рдпрдВрддреНрд░рдгрд╛ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНтАНрдпреЗ рдмрджрд▓ рдЯреНрд░реЕрдХ рдХрд░рдгреНтАНрдпрд╛рдЪреНтАНрдпрд╛ рдпрдВрддреНрд░рдгреЗрд╕рд╛рд░рдЦреАрдЪ рдЕрд╕рддреЗ. Java рдореЙрдбреЗрд▓рдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рдЗрдЪреНрдЫрд┐рдгрд╛рд░рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛рдВрдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреЗрддреЛ, рдЬреНрдпрд╛рдд ElementChangedEvent рдСрдмреНрдЬреЗрдХреНрдЯ рдореНрд╣рдгреВрди рдкреНрд░рд╕реНрддреБрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ IJavaElementDelta (рдЖрдХреГрддреА 6) рдЕрд╕рддреЗ.
рддрд╛рдВрджреВрд│. 6. ElementChangedEvent рдЖрдгрд┐ IJavaElementDelta
рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдореЗрдердб рдмреЙрдбреА рдХрд┐рдВрд╡рд╛ рдиреЗрдо рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдирд╕рддреЗ, рдореНрд╣рдгреВрди Java рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдЪреНрдпрд╛ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╕рд╛рдареА, JDT Core рдЕрддрд┐рд░рд┐рдХреНрдд (рдиреЙрди-рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд) рдореЙрдбреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ:
рдХрд╛рд░рдг рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдЯреНрд░реА рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдореЗрдорд░реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд, JDT рд╕рдХреНрд░рд┐рдп рд╕рдВрдкрд╛рджрдХрд╛рд╕рд╛рдареА рдлрдХреНрдд рдПрдХ AST рдХреЕрд╢ рдХрд░рддреЗ. Java рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, AST рд╣реЗ рд╕рд╛рдорд╛рдиреНрдпрдд: "рдордзреНрдпрд╡рд░реНрддреА," "рддрд╛рддреНрдкреБрд░рддреЗ" рдореЙрдбреЗрд▓ рдореНрд╣рдгреВрди рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рддреЗ рдЬреНрдпрд╛рдЪреНрдпрд╛ рд╕рджрд╕реНрдпрд╛рдВрдирд╛ AST рдЪреА рдирд┐рд░реНрдорд┐рддреА рдХрд░рдгрд╛рд▒реНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдмрд╛рд╣реЗрд░ рдХреНрд▓рд╛рдпрдВрдЯрджреНрд╡рд╛рд░реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рдирдпреЗ.
рд╕реВрдЪреАрдмрджреНрдз рддреАрди рдореЙрдбреЗрд▓реНрд╕ (рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓, рдПрдПрд╕рдЯреА, рдмрд╛рдЗрдВрдбрд┐рдВрдЧреНрдЬ) рдПрдХрддреНрд░рд┐рддрдкрдгреЗ рдЬреЗрдбреАрдЯреАрдордзреНрдпреЗ тАЬрдмреБрджреНрдзрд┐рдорд╛рди рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЗтАЭ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдмрдирд╡рддрд╛рдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд┐рд╡рд┐рдз тАЬрдорджрддрдиреАрд╕тАЭ рдЕрд╕рд▓реЗрд▓реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЬрд╛рд╡рд╛ рд╕рдВрдкрд╛рджрдХ, рд╕реНрддреНрд░реЛрдд рдХреЛрдбрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╡рд┐рдз рдХреНрд░рд┐рдпрд╛ (рдЖрдпрд╛рддреАрдЪреА рд╕реВрдЪреА рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рд╢реИрд▓реАрдиреБрд╕рд╛рд░ рдирд╛рд╡реЗ рдЖрдгрд┐ рд╕реНрд╡рд░реВрдкрди), рд╢реЛрдз рдЖрдгрд┐ рд░реАрдлреЕрдХреНрдЯрд░рд┐рдВрдЧ рд╕рд╛рдзрдиреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рддреЗ, рдХрд╛рд░рдг рддреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрдЪреНрдпрд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреЕрдХреЗрдЬ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, рдмрд╛рд╣реНрдпрд░реЗрдЦрд╛, рд╢реЛрдз, рдХреЙрд▓ рдкрджрд╛рдиреБрдХреНрд░рдо рдЖрдгрд┐ рдкрджрд╛рдиреБрдХреНрд░рдо рдЯрд╛рдЗрдк рдХрд░рд╛).
1C рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдЧреНрд░рд╣рдг рдШрдЯрдХ: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕
рдЕрдВрдЬреАрд░ рдордзреНрдпреЗ. рдЖрдХреГрддреА 7 рдЧреНрд░рд╣рдг рдШрдЯрдХ рджрд░реНрд╢рд╡рд┐рддреЗ рдЬреЗ 1C: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕рд╕рд╛рдареА рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рдкрд╛рдпрд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдд.
рддрд╛рдВрджреВрд│. 7. 1C рд╕рд╛рдареА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдореНрд╣рдгреВрди рдЧреНрд░рд╣рдг: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕
рдЧреНрд░рд╣рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдореВрд▓рднреВрдд рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЖрдореНрд╣реА рдорд╛рдЧреАрд▓ рднрд╛рдЧрд╛рдд рдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд╣реА рдмрд╛рдмреА рдкрд╛рд╣рд┐рд▓реНрдпрд╛.
рдХреЛрдгрддреНрдпрд╛рд╣реА рдЦрд░реЛрдЦрд░ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢ рд╕рд╛рдзрдирд╛рдВрдкреНрд░рдорд╛рдгреЗ, EMF рдореЙрдбреЗрд▓рд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реЗрдгреАрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдХрд╛рд╣реА рд╡рд░реНрдЧрд╛рдВрдирд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реЗ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓) рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рдореЙрдбреЗрд▓рд┐рдВрдЧ рд╕рд╛рдзрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реВ рд╢рдХрддреЗ. EMF рдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рд╣реЗ рдПрдХ рдХреГрддрдШреНрди рдХрд╛рд░реНрдп рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рдд: рдПрдХрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдорд░реНрдпрд╛рджрд┐рдд рдорд░реНрдпрд╛рджреЗрдд, рдХрд╛рд░рдг рд╣рд╛ рдПрдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдкреБрд╕реНрддрдХрд╛рдЪрд╛ рд╡рд┐рд╖рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдРрд╡рдЬреА рдЬрд╛рдб рдЖрд╣реЗ. рдЖрдкрдг рдлрдХреНрдд рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрдпрд╛ рдХреА EMF рдЕрдВрддрд░реНрдЧрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдгрд╛рдЪреНрдпрд╛ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддреЗрдЪреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдиреЗ рдореЙрдбреЗрд▓рд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдкрд┐рдд рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╢реНрд░реЗрдгреАрдЪреНрдпрд╛ рдЬрдиреНрдорд╛рд╕ рдЕрдиреБрдорддреА рджрд┐рд▓реА, рдЬреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреНрд░рдХрд▓реНрдкрд╛рдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд.
1C: рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ EMF рд╕реНрд╡рддрдГ рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ Eclipse рдореЙрдбреЗрд▓рд┐рдВрдЧ рдкреНрд░рдХрд▓реНрдк рджреЛрдиреНрд╣реА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рдкрд░рддрд╛рдд. рд╡рд┐рд╢реЗрд╖рддрдГ, Xtext рд╣рд╛ рдЕрд╢рд╛ 1C рд╕рд╛рдареА рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рдПрдХ рдкрд╛рдпрд╛ рдЖрд╣реЗ: рдЕрдВрдЧрднреВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрдгрд┐ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЭ рднрд╛рд╖рд╛. рдпрд╛ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕рдЪрд╛ рдЖрдгрдЦреА рдПрдХ рдЖрдзрд╛рд░ рдореНрд╣рдгрдЬреЗ Eclipse Handly рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЬреНрдпрд╛рдЪреА рдЖрдкрдг рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЪрд░реНрдЪрд╛ рдХрд░реВ (рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реНрдпрд╛ Eclipse рдШрдЯрдХрд╛рдВрдкреИрдХреА, рд╣реЗ рдЕрджреНрдпрд╛рдк рд╕рд░реНрд╡рд╛рдд рдХрдореА рдЬреНрдЮрд╛рдд рдЖрд╣реЗ).
рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕рдЪреА рдореВрд▓рднреВрдд рд╡рд╛рд╕реНрддреБрд╢рд╛рд╕реНрддреНрд░реАрдп рддрддреНрддреНрд╡реЗ, рдЬрд╕реЗ рдХреА рд╣рдБрдбрд▓/рдмреЙрдбреА рдЗрдбрд┐рдУрдо, рдЙрджрд╛рд╣рд░рдгреЗ рдореНрд╣рдгреВрди рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓ рдЖрдгрд┐ Java рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░реВрди рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЧреЗрд▓реА. рд░рд┐рд╕реЛрд░реНрд╕ рдореЙрдбреЗрд▓ рдЖрдгрд┐ рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓ рд╣реЗ рджреЛрдиреНрд╣реА рдПрдХреНрд▓рд┐рдкреНрд╕ рдЬрд╛рд╡рд╛ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ (рдЬреЗрдбреАрдЯреА) рд╕рд╛рдареА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдкрд╛рдпрд╛ рдЖрд╣реЗрдд рд╣реЗ рджреЗрдЦреАрд▓ рдпрд╛рдд рдирдореВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ *DT Eclipse рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреА рд░рдЪрдирд╛ JDT рд╕рд╛рд░рдЦреАрдЪ рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ, рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕ рдЧреНрд░рд╣рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА рдмрдирд╡рд▓реЗрд▓реЗ рд╕рд░реНрд╡ IDEs рдирд╕рддреАрд▓ рддрд░ рдЕрдиреЗрдХрд╛рдВрдирд╛ рдЕрдзреЛрд░реЗрдЦрд┐рдд рдХрд░рддрд╛рдд рдЕрд╕реЗ рдореНрд╣рдгрдгреЗ рдЕрддрд┐рд╢рдпреЛрдХреНрддреА рдард░рдгрд╛рд░ рдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Eclipse C/C++ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рд┐рдВрдЧ (CDT) рдордзреНрдпреЗ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд C/C++ рдореЙрдбреЗрд▓ рдЖрд╣реЗ рдЬреЗ CDT рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ JDT рдордзреНрдпреЗ Java рдореЙрдбреЗрд▓ рдХрд░рддреЗ рддрд╢реАрдЪ рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рддреЗ.
Handly рдкреВрд░реНрд╡реА, Eclipse рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ рдореЙрдбреЗрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рд▓рд╛рдпрдмреНрд░рд░реА рдСрдлрд░ рдХрд░рдд рдирд╛рд╣реА. рд╕рдзреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реА рдореЙрдбреЗрд▓реНрд╕ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ Java рдореЙрдбреЗрд▓ рдХреЛрдб (рдЙрд░реНрдл рдХреЙрдкреА/рдкреЗрд╕реНрдЯ) рдЪреЗ рд░реБрдкрд╛рдВрддрд░ рдХрд░реВрди рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд. рдЬреНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рддреЗ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдЧреНрд░рд╣рдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд░рд╡рд╛рдирд╛ (рдИрдкреАрдПрд▓). (рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рд╣реЗ рд╕рд╣рд╕рд╛ рдЧреНрд░рд╣рдг рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдХрд╛рдпрджреЗрд╢реАрд░ рд╕рдорд╕реНрдпрд╛ рдирд╕рддреЗ, рдореНрд╣рдгрд╛, рдкрд░рдВрддреБ рдмрдВрдж рд╕реНрддреНрд░реЛрдд рдЙрддреНрдкрд╛рджрдирд╛рдВрд╕рд╛рдареА рдирд╛рд╣реА.) рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧреЛрдВрдзрд│рд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣реЗ рддрдВрддреНрд░ рд╕реБрдкреНрд░рд╕рд┐рджреНрдз рд╕рдорд╕реНрдпрд╛рдВрдЪрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ: рддреНрд░реБрдЯреАрдВрд╢реА рдЬреБрд│рд╡реВрди рдШреЗрддрд╛рдирд╛ рдХреЛрдб рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди, рдЗ. рдХрд╛рдп рд╡рд╛рдИрдЯ рдЖрд╣реЗ рдХреА рдкрд░рд┐рдгрд╛рдореА рдореЙрдбреЗрд▓ "рд╕реНрд╡рддрдГрдордзреНрдпреЗ рдЧреЛрд╖реНрдЯреА" рд░рд╛рд╣рддрд╛рдд рдЖрдгрд┐ рдПрдХреАрдХрд░рдгрд╛рдЪреНрдпрд╛ рд╕рдВрднрд╛рд╡реНрдпрддреЗрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдд рдирд╛рд╣реАрдд. рдкрд░рдВрддреБ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ рдореЙрдбреЗрд▓рд╕рд╛рдареА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдХрд▓реНрдкрдирд╛ рдЖрдгрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡реЗрдЧрд│реЗ рдХреЗрд▓реНрдпрд╛рдиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдмрд░реЛрдмрд░ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА рд╣реЛрдК рд╢рдХрддреЗ, рдЬрд╕реЗ EMF рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдШрдбрд▓реЗ.
рдПрдХреНрд▓рд┐рдкреНрд╕рд▓рд╛ рд╣реЗ рдореБрджреНрджреЗ рд╕рдордЬрд▓реЗ рдирд╛рд╣реАрдд рдЕрд╕реЗ рдирд╛рд╣реА. 2005 рдордзреНрдпреЗ рдкрд░рдд
рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд░реНрдерд╛рдиреЗ, рд╣рдБрдбрд▓реА рдкреНрд░рдХрд▓реНрдк EMF рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рдЖрдгрд┐ рдореБрдЦреНрдпрддрдГ рднрд╛рд╖реЗрд╕рд╛рдареА (рдореНрд╣рдгрдЬреЗ, рдХрд╛рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрдЪреЗ рдШрдЯрдХ рджрд░реНрд╢рд╡рд┐рдгрд╛рд░реЗ). рд╣рдБрдбрд▓реА рдбрд┐рдЭрд╛рдЗрди рдХрд░рддрд╛рдирд╛ рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реА рдореБрдЦреНрдп рдЙрджреНрджрд┐рд╖реНрдЯреЗ рдЦрд╛рд▓реА рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд:
- рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░рд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рдЕрдореВрд░реНрддрддреЗрдЪреА рдУрд│рдЦ.
- рдкреНрд░рдпрддреНрди рдХрдореА рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЛрдб рдкреБрдирд░реНрд╡рд╛рдкрд░рд╛рджреНрд╡рд╛рд░реЗ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдЧреБрдгрд╡рддреНрддрд╛ рд╕реБрдзрд╛рд░рдгреЗ.
- рдкрд░рд┐рдгрд╛рдореА рдореЙрдбреЗрд▓реНрд╕рдирд╛ рдпреБрдирд┐рдлрд╛рдЗрдб рдореЗрдЯрд╛-рд▓реЗрд╡реНрд╣рд▓ API рдкреНрд░рджрд╛рди рдХрд░рдгреЗ, рднрд╛рд╖рд╛ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп IDE рдШрдЯрдХ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ.
- рд▓рд╡рдЪрд┐рдХрддрд╛ рдЖрдгрд┐ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА.
- Xtext рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг (рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрддрд░рд╛рдордзреНрдпреЗ).
рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдХрд▓реНрдкрдирд╛ рдЖрдгрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рднрд╛рд╖рд╛ рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕рдЪреНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. рд╣рдБрдбрд▓реАрдиреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ рдореБрдЦреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рдореВрд▓рднреВрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЕрдВрдЬреАрд░ рдордзреНрдпреЗ рджрд░реНрд╢рд╡рд┐рд▓реА рдЖрд╣реЗ. 8.
рддрд╛рдВрджреВрд│. 8. рд╣рдБрдбрд▓реА рдШрдЯрдХрд╛рдВрдЪреА рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рдореВрд▓рднреВрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
IElement рдЗрдВрдЯрд░рдлреЗрд╕ рдШрдЯрдХрд╛рдЪреНрдпрд╛ рд╣рдБрдбрд▓рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡ рд╣рдБрдбрд▓реА-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ. рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рдШрдЯрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╣рдБрдбрд▓/рдмреЙрдбреА рдореЗрдХреЕрдирд┐рдЭрдо рд▓рд╛рдЧреВ рдХрд░рддреЛ (рдЪрд┐рддреНрд░ 9).
рддрд╛рдВрджреВрд│. 9. рдЖрдпрдПрд▓рдореЗрдВрдЯ рдЖрдгрд┐ рдЬреЗрдиреЗрд░рд┐рдХ рд╣рдБрдбрд▓/рдмреЙрдбреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣рдБрдбрд▓реА рдореЙрдбреЗрд▓ рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рд╕реВрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдпрдВрддреНрд░рдгрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ (рдЪрд┐рддреНрд░ 10). рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛, рд╣реЗ рд╕рдВрд╕рд╛рдзрди рдореЙрдбреЗрд▓ рдЖрдгрд┐ Java рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдпрдВрддреНрд░рдгреЗрд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ рдЖрдгрд┐ рдШрдЯрдХ рдмрджрд▓ рдорд╛рд╣рд┐рддреАрдЪреЗ рдПрдХрддреНрд░рд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА IElementDelta рд╡рд╛рдкрд░рддреЗ.
рддрд╛рдВрджреВрд│. 10. рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд╣рдБрдбрд▓реА рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдпрдВрддреНрд░рдгреЗрдЪреА рдореВрд▓рднреВрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА
рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓рд╛ рд╣рдБрдбрд▓реА рднрд╛рдЧ (рдЪрд┐рддреНрд░ 9 рдЖрдгрд┐ 10) рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рднрд╛рд╖рд┐рдХ рдореЙрдбреЗрд▓, рдкреНрд░рдХрд▓реНрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдСрдлрд░ рдХрд░рддреЛ - рд╡рд┐рд╢реЗрд╖рддрдГ, рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд рдордЬрдХреВрд░ рд╕рдВрд░рдЪрдиреЗрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рдореВрд▓рднреВрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА, рддрдерд╛рдХрдерд┐рдд рд╕реНрд░реЛрдд рдШрдЯрдХ (рдЕрдВрдЬреАрд░ 8). ISourceFile рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЛ рдЖрдгрд┐ ISourceConstruct рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓рдордзреАрд▓ рдШрдЯрдХрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЛ. рдЕрдореВрд░реНрдд рд╡рд░реНрдЧ рд╕реЛрд░реНрд╕рдлрд╛рдЗрд▓ рдЖрдгрд┐ рд╕реЛрд░реНрд╕рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯ рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓реНрд╕ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдпрдВрддреНрд░рдгрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛рдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдордЬрдХреВрд░ рдмрдлрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ, рд╕реНрддреНрд░реЛрдд рдордЬрдХреВрд░рд╛рддреАрд▓ рдШрдЯрдХрд╛рдЪреНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрдирд╛ рдмрдВрдзрдирдХрд╛рд░рдХ рдХрд░рдгреЗ, рдХрд╛рд░реНрдпрд░рдд рдХреЙрдкреА рдмрдлрд░рдЪреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕рд╛рдордЧреНрд░реАрд╕рд╣ рдореЙрдбреЗрд▓рдЪреЗ рд╕рд╛рдордВрдЬрд╕реНрдп рдХрд░рдгреЗ. , рдЗ. рдпрд╛ рдпрдВрддреНрд░рдгрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рд╣реЗ рд╕рд╣рд╕рд╛ рдПрдХ рдЖрд╡реНрд╣рд╛рди рдЕрд╕рддреЗ рдЖрдгрд┐ рд╣рдБрдбрд▓реА рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддреЗрдЪреА рдореВрд▓рднреВрдд рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рджрд╛рди рдХрд░реВрди рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛ рдореЙрдбреЗрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдореА рдХрд░реВ рд╢рдХрддреЗ.
рд╡рд░ рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореБрдЦреНрдп рдпрдВрддреНрд░рдгрд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╣рдБрдбрд▓реА рдордЬрдХреВрд░ рдмрдлрд░ рдЖрдгрд┐ рд╕реНрдиреЕрдкрд╢реЙрдЯреНрд╕рд╕рд╛рдареА рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рд╕реНрддреНрд░реЛрдд рдХреЛрдб рд╕рдВрдкрд╛рджрдХрд╛рдВрд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди (рдПрдХреНрд╕рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░рд╕рд╣ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдПрдХреАрдХрд░рдгрд╛рд╕рд╣), рддрд╕реЗрдЪ рдХрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдп UI рдШрдЯрдХ рдЬреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдПрдбрд┐рдЯрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рд╛. рд╣рдБрдбрд▓реА рдореЙрдбреЗрд▓реНрд╕ рдЬрд╕реЗ рдХреА рдмрд╛рд╣реНрдпрд░реЗрдЦрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ. рддреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░рдХрд▓реНрдк рд╣рдБрдбрд▓реА рдордзреАрд▓ Java рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣ рдЕрдиреЗрдХ рдЙрджрд╛рд╣рд░рдгреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЛ. (JDT рдордзреАрд▓ Java рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рдкреВрд░реНрдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддреЗрд╕рд╛рдареА рд╣реЗ рдореЙрдбреЗрд▓ рдЬрд╛рдгреВрдирдмреБрдЬреВрди рдХрд╛рд╣реАрд╕реЗ рд╕реЛрдкреЗ рдХреЗрд▓реЗ рдЖрд╣реЗ.)
рдЖрдзреА рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рд╣рдБрдбрд▓реАрдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдбрд┐рдЭрд╛рдИрди рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди рдореБрдЦреНрдп рд▓рдХреНрд╖ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХрддрд╛ рдпрд╛рд╡рд░ рд╣реЛрддреЗ рдЖрдгрд┐ рд░рд╛рд╣реАрд▓.
рддрддреНрд╡рддрдГ, рд╣рдБрдбрд▓-рдЖрдзрд╛рд░рд┐рдд рдореЙрдбреЗрд▓реНрд╕ "рдбрд┐рдЭрд╛рдЗрдирдиреБрд╕рд╛рд░" рдЪрд╛рдВрдЧрд▓реЗ рдореЛрдЬрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╣рдБрдбрд▓/рдмреЙрдбреА рдЖрдпрдбрд┐рдУрдо рддреБрдореНрд╣рд╛рд▓рд╛ рдореЙрдбреЗрд▓рджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдореЗрдорд░реАрдЪреЗ рдкреНрд░рдорд╛рдг рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдкрдг рдмрд╛рд░рдХрд╛рд╡реЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд. рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреАрд╕рд╛рдареА рд╣рдБрдбрд▓реА рдЪрд╛рдЪрдгреА рдХрд░рддрд╛рдирд╛, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдпрдВрддреНрд░рдгреЗрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рд▓реА - рдЬреЗрд╡реНрд╣рд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдШрдЯрдХ рдмрджрд▓рд▓реЗ рдЧреЗрд▓реЗ, рддреЗрд╡реНрд╣рд╛ рдбреЗрд▓реНрдЯрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рд╡реЗрд│ рд▓рд╛рдЧрд▓рд╛. рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдЬреЗрдбреАрдЯреА рдЬрд╛рд╡рд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╣реЛрддреА, рдЬреНрдпрд╛рдордзреВрди рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдПрдХрджрд╛ рд░реБрдкрд╛рдВрддрд░рд┐рдд рдЭрд╛рд▓рд╛ рд╣реЛрддрд╛. рдЖрдореНрд╣реА рд╣рдБрдбрд▓реА рдордзреАрд▓ рдмрдЧрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ рдЖрдгрд┐ JDT рд╕рд╛рдареА рд╕рдорд╛рди рдкреЕрдЪ рддрдпрд╛рд░ рдХреЗрд▓рд╛, рдЬреЛ рдХреГрддрдЬреНрдЮрддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛. рд╣реЗ рдлрдХреНрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ рдЬреЗрдереЗ рд╡рд┐рджреНрдпрдорд╛рди рдореЙрдбреЗрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рд╣рдБрдбрд▓реА рд╕рд╛рджрд░ рдХрд░рдгреЗ рд╕рдВрднрд╛рд╡реНрдпрддрдГ рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддреЗ, рдХрд╛рд░рдг рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдЕрд╢рд╛ рдмрдЧрдЪреЗ рдлрдХреНрдд рдПрдХрд╛рдЪ рдард┐рдХрд╛рдгреА рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
рд╡рд┐рджреНрдпрдорд╛рди рдореЙрдбреЗрд▓ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рд╣рдБрдбрд▓реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рд▓рд╡рдЪрд┐рдХрддрд╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдПрдкреАрдЖрдп рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдорд╛рдЧрд╛рд╕рд▓реЗрд▓реА рд╕реБрд╕рдВрдЧрддрддрд╛ рд░рд╛рдЦрдгреЗ рд╣реА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ. рдордзреНрдпреЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА рдЧреЗрд▓реА
рд▓рд╡рдЪрд┐рдХрддреЗрдЪреЗ рдЗрддрд░ рдкреИрд▓реВ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╣рдБрдбрд▓реА рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╕рдВрд░рдЪрдиреЗрд╡рд░ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреЗрд╣реА рдирд┐рд░реНрдмрдВрдз рд▓рд╛рджрдд рдирд╛рд╣реА рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢ рдЖрдгрд┐ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рджреЛрдиреНрд╣реА рдореЙрдбреЗрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓рдЪреА рд░рдЪрдирд╛ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, Handly рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд╡рд░реВрдкрд╛рдЪреНрдпрд╛ AST рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рддрддреНрддреНрд╡рддрдГ, рд╕реНрд╡рддрдГ AST рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдирд╕рддреЗ, рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдпрдВрддреНрд░рдгреЗрд╢реА рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ. рд╢реЗрд╡рдЯреА, рд╣рдБрдбрд▓реА рдПрдХреНрд▓рд┐рдкреНрд╕ рд╡рд░реНрдХрд╕реНрдкреЗрд╕рд╕рд╣ рдкреВрд░реНрдг рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдкрд░рдВрддреБ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рддреНрдпрд╛рдЪреНрдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдореБрд│реЗ рдереЗрдЯ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЗ.
рдЪрд╛рд▓реВ рдЖрд╡реГрддреНрддреА
рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ 1C:рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕, рдЬрд┐рдереЗ рд╣рдБрдбрд▓реАрдЪрд╛ рд╡рд╛рдкрд░ рдЕрдЧрджреА рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рдЕрд╢рд╛ 1C рдЪреНрдпрд╛ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдиреЗрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ: рдЕрдВрдЧрднреВрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрдгрд┐ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рднрд╛рд╖рд╛ . рдЖрдгрдЦреА рдПрдХ рдЙрддреНрдкрд╛рджрди рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдХрд╛рдВрдирд╛ рдХрдореА рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ. рдпрд╛
рдЖрдореНрд╣реА рдЖрд╢рд╛ рдХрд░рддреЛ рдХреА API рд╕реНрдерд┐рд░рддреЗрдЪреНрдпрд╛ рд╣рдореАрд╕рд╣ рдЖрд╡реГрддреНрддреА 1.0 рд░рд┐рд▓реАрдЭ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдк рдЙрд╖реНрдорд╛рдпрди рд╕реНрдерд┐рддреА рд╕реЛрдбрд▓реНрдпрд╛рдирдВрддрд░, Handly рдХрдбреЗ рдирд╡реАрди рд╕реНрд╡реАрдХрд╛рд░рдХрд░реНрддреЗ рдЕрд╕рддреАрд▓. рдпрд╛рджрд░рдореНрдпрд╛рди, рдкреНрд░рдХрд▓реНрдкрд╛рдиреЗ API рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдЖрдгрдЦреА рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рд▓реЗ рдЖрд╣реЗ, рджрд░ рд╡рд░реНрд╖реА рджреЛрди "рдореБрдЦреНрдп" рд░рд┐рд▓реАрдЭ - рдЬреВрдирдордзреНрдпреЗ (рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЧреНрд░рд╣рдг рд░рд┐рд▓реАрдЭ рд╕рд╛рд░рдЦреАрдЪ рддрд╛рд░реАрдЦ) рдЖрдгрд┐ рдбрд┐рд╕реЗрдВрдмрд░рдордзреНрдпреЗ рд░рд┐рд▓реАрдЭ рдХрд░рдгреЗ, рджрддреНрддрдХ рдШреЗрдгрд╛рд░реЗ рд╡рд┐рд╕рдВрдмреВрди рд░рд╛рд╣реВ рд╢рдХрддреАрд▓ рдЕрд╕реЗ рдПрдХ рдЕрдВрджрд╛рдЬреЗ рд╡реЗрд│рд╛рдкрддреНрд░рдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЖрдореНрд╣реА рд╣реЗ рджреЗрдЦреАрд▓ рдЬреЛрдбреВ рд╢рдХрддреЛ рдХреА рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ "рдмрдЧ рд░реЗрдЯ" рд╕рд╛рддрддреНрдпрд╛рдиреЗ рдХрдореА рдкрд╛рддрд│реАрд╡рд░ рдЖрд╣реЗ рдЖрдгрд┐ рд╣рдБрдбрд▓реА рдкрд╣рд┐рд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдкрд╛рд╕реВрди рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдЕрд╡рд▓рдВрдмрдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрдордзреНрдпреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рдкрдгреЗ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗ. рдкреБрдвреЗ рдПрдХреНрд▓рд┐рдкреНрд╕ рд╣рдБрдбрд▓реА рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛
рд╕реНрддреНрд░реЛрдд: www.habr.com