Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools

вСроятно Π—Π°Ρ‚ΡŠΠΌΠ½Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‡Π΅ Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ спСциално прСдставянС. Много Ρ…ΠΎΡ€Π° са Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ с Eclipse Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° инструмСнтитС Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Eclipse Java (JDT). ИмСнно Ρ‚Π°Π·ΠΈ популярна Java IDE с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ с Π΄ΡƒΠΌΠ°Ρ‚Π° β€žEclipseβ€œ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Eclipse Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (Eclipse Platform), Ρ‚Π°ΠΊΠ° ΠΈ Ρ€Π΅Π΄ΠΈΡ†Π° IDE, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ нСя, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ JDT. Eclipse Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Eclipse Project, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΎΡ‚ Π½Π°ΠΉ-високо Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Eclipse Platform ΠΈ JDT, Ρ‚Π°ΠΊΠ° ΠΈ Eclipse SDK, доставимият Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. И накрая, Eclipse Π΅ фондация с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° общност ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Π½Π΅ всички ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ са написани Π½Π° Java ΠΈΠ»ΠΈ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Eclipse IoT ΠΈ Eclipse Science). Π‘Π²Π΅Ρ‚ΡŠΡ‚ Π½Π° Eclipse Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π΅Π½.

Π’ Ρ‚Π°Π·ΠΈ ΠΎΠ±Π·ΠΎΡ€Π½Π° статия Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ някои ΠΎΡ‚ основитС Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Eclipse ΠΊΠ°Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ‰Π΅ Π΄Π°Π΄Π΅ΠΌ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° прСдстава Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Eclipse, ΠΊΠΎΠΈΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ основата Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° β€œ Π½ΠΎΠ² конфигуратор” 1C: Enterprise, 1C: БрСдства Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прСдприятия. Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Ρ‰Π΅ бъдС Π΄ΠΎ голяма стСпСн ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚Π΅Π½ ΠΈ доста ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½, ΡΡŠΡ‰ΠΎ ΠΈ Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π½Π΅ смС насочСни само към Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ†Π΅Π»Π΅Π²Π° аудитория. НадявамС сС ΠΎΠ±Π°Ρ‡Π΅, Ρ‡Π΅ Π΄ΠΎΡ€ΠΈ ΠΎΠΏΠΈΡ‚Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Eclipse Ρ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° намСрят интСрСсна информация Π² статията. НапримСр, Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Π΅Π΄Π½Π° ΠΎΡ‚ "Ρ‚Π°ΠΉΠ½ΠΈΡ‚Π΅ Π½Π° Eclipse", сравнитСлно Π½ΠΎΠ² ΠΈ ΠΌΠ°Π»ΠΊΠΎ извСстСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ досСга. Eclipse Handy, която Π΅ основана ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° ΠΎΡ‚ 1C.
Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Eclipse

НСка ΠΏΡŠΡ€Π²ΠΎ Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ някои ΠΎΠ±Ρ‰ΠΈ аспСкти Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Eclipse, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Eclipse Java инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (JDT). Π˜Π·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° JDT ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Π΅ случаСн. Π’ΠΎΠ²Π° Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° IDE, която сС появява Π² Eclipse. Π”Ρ€ΡƒΠ³ΠΈ *DT Eclipse ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠ°Ρ‚ΠΎ Eclipse C/C++ Development Tooling (CDT), са създадСни ΠΏΠΎ-късно ΠΈ са заимствали ΠΊΠ°ΠΊΡ‚ΠΎ основнитС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ изходния ΠΊΠΎΠ΄ ΠΎΡ‚ JDT. ΠžΡΠ½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°, Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΈ Π² JDT, са Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ ΠΈ Π΄ΠΎ днСс Π·Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всяка IDE, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ 1C:Enterprise Development Tools.

На ΠΏΡŠΡ€Π²ΠΎ място, трябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ Eclipse сС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΈΡ€Π° с доста ясна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π° стратификация, с раздСлянСто Π½Π° нСзависимата ΠΎΡ‚ Π΅Π·ΠΈΠΊΠ° функционалност ΠΎΡ‚ функционалността, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° спСцифични Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΈ отдСлянСто Π½Π° нСзависимо ΠΎΡ‚ UI β€žΡΠ΄Ρ€ΠΎβ€œ (ядро) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° потрСбитСля интСрфСйс.

НапримСр ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΎΠ±Ρ‰Π°, нСзависима ΠΎΡ‚ Π΅Π·ΠΈΠΊΠ° инфраструктура, Π° инструмСнтитС Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Java добавят ΠΏΡŠΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½Π° Java IDE към Eclipse. ΠšΠ°ΠΊΡ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse, Ρ‚Π°ΠΊΠ° ΠΈ JDT са ΡΡŠΡΡ‚Π°Π²Π΅Π½ΠΈ ΠΎΡ‚ няколко ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ ΠΈΠ»ΠΈ нСзависимо ΠΎΡ‚ UI β€žΡΠ΄Ρ€ΠΎβ€œ ΠΈΠ»ΠΈ UI слой (Π€ΠΈΠ³ΡƒΡ€Π° 1).

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 1. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Eclipse ΠΈ JDT

Π˜Π·Π±Ρ€ΠΎΡΠ²Π°ΠΌΠ΅ основнитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse:

  • Runtime - Π”Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° инфраструктурата Π½Π° плъгина. Eclipse ΠΈΠΌΠ° ΠΌΠΎΠ΄ΡƒΠ»Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ Eclipse Π΅ колСкция ΠΎΡ‚ β€žΡ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈβ€œ ΠΈ β€žΡ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡβ€œ.
  • Π Π°Π±ΠΎΡ‚Π½ΠΎ пространство - Управлява Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма.
  • Standard Widget Toolkit (SWT) - ΠžΡΠΈΠ³ΡƒΡ€ΡΠ²Π° основни Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° потрСбитСлския интСрфСйс, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.
  • JFace - ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Ρ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ UI Ρ€Π°ΠΌΠΊΠΈ, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ SWT.
  • Workbench - Π”Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ‚Π° Π½Π° потрСбитСлския интСрфСйс Π½Π° Eclipse: Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ, ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, пСрспСктиви.

Врябва Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse прСдоставя ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, срСд ΠΊΠΎΠΈΡ‚ΠΎ са Debug, Compare, Search ΠΈ Team. Врябва Π΄Π° спомСнСм ΠΈ JFace Text – основата Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° β€žΡƒΠΌΠ½ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈβ€œ Π½Π° изходния ΠΊΠΎΠ΄. Π—Π° съТалСниС, Π΄ΠΎΡ€ΠΈ бСгъл ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° потрСбитСлския интСрфСйс, Π½Π΅ Π΅ възмоТСн Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π·ΠΈ статия, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π² останалата част ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» Ρ‰Π΅ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ Π΄ΠΎ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° основнитС "основни" ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Eclipse ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ JDT.

Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π½Π° ядрото

Eclipse Plugin Framework Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° OSGi ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π—Π°Ρ‚ΡŠΠΌΠ½Π΅Π½ΠΈΠ΅ РавнодСнствиС. ВсСки плъгин Π½Π° Eclipse Π΅ OSGi ΠΏΠ°ΠΊΠ΅Ρ‚. БпСцификацията OSGi Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° вСрсии ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° зависимости. Π’ допълнСниС към Ρ‚Π΅Π·ΠΈ стандартни ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, Equinox въвСТда концСпцията Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅. ВсСки плъгин ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° свои собствСни Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° добавя Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° функционалност (β€žΡ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡβ€œ) към систСмата, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ ΡΡŠΡ‰ΠΈΡ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ. Всяко ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ OSGi ΠΈ Equinox Π΅ извън ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ статия. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°ΠΌΠ΅ само, Ρ‡Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² Eclipse Π΅ Ρ‚ΠΎΡ‚Π°Π»Π½ΠΎ (всяка подсистСма, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Runtime, сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ) ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всичко Π² Eclipse Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅. ОсвСн Ρ‚ΠΎΠ²Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Eclipse ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° OSGi (ΠΏΠΎ Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° тяхната собствСна тСхнология, Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° OSGi).

основно Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ пространство

ΠŸΠΎΡ‡Ρ‚ΠΈ всяка IDE, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse, Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство Π½Π° Eclipse. Π’ΠΎΠ²Π° Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° изходния ΠΊΠΎΠ΄ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π² IDE. Π Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство сС ΡΠ²ΡŠΡ€Π·Π²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π’Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ рСсурси Ρ€Π°Π±ΠΎΡ‚Π½ΠΎ пространство. ВнСдряванСто Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство Π² Eclipse слуТи ΠΊΠ°Ρ‚ΠΎ кСш ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ускори ΠΎΠ±Ρ…ΠΎΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° рСсурситС. Π’ допълнСниС, workspace прСдоставя Ρ€Π΅Π΄ΠΈΡ†Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ услуги, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° увСдомяванС Π·Π° промяна Π½Π° рСсурса ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° строитСлна инфраструктура.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ Core Resources (org.eclipse.core.resources plugin) Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ рСсурси. По-спСциално, Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ осигурява ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство във формуляра рСсурсни ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π—Π° Π΄Π° работят Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ с Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π», ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС нуТдаят ΠΎΡ‚ лСсСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° прСдставянС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° към рСсурс. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° сС скриС ΠΎΠ±Π΅ΠΊΡ‚ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурса Π² ΠΌΠΎΠ΄Π΅Π»Π° ΠΎΡ‚ клиСнтски Π΄ΠΎΡΡ‚ΡŠΠΏ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай, Π² случай Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ», ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° Π΄ΡŠΡ€ΠΆΠΈ ΠΎΠ±Π΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π² ΠΌΠΎΠ΄Π΅Π»Π°, с ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Eclipse Ρ€Π΅ΡˆΠ°Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‚.Π½Π°Ρ€ Π΄Ρ€ΡŠΠΆΠΊΠ° рСсурс. Handle дСйства ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ (ΠΏΠΎΠ·Π½Π°Π²Π° само ΠΏΡŠΡ‚Ρ Π΄ΠΎ рСсурса Π² Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство) ΠΈ напълно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΎΠ±Π΅ΠΊΡ‚Π° Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° информация Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурса. Π’ΠΎΠ·ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ Π΅ вариация Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π”Ρ€ΡŠΠΆΠΊΠ°/тяло.

ΠžΡ€ΠΈΠ·. 2 ΠΈΠ»ΡŽΡΡ‚Ρ€ΠΈΡ€Π° ΠΈΠ΄ΠΈΠΎΠΌΠ° Handle/Body, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ към рСсурсСн ΠΌΠΎΠ΄Π΅Π». Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ IResource прСдставлява ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° рСсурс ΠΈ Π΅ API, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ класа Resource, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Ρ‚ΠΎΠ·ΠΈ интСрфСйс, ΠΈ класа ResourceInfo, ΠΊΠΎΠΉΡ‚ΠΎ прСдставлява body, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са API. ΠŸΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°ΠΌΠ΅, Ρ‡Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π·Π½Π°Π΅ само ΠΏΡŠΡ‚Ρ Π΄ΠΎ рСсурса спрямо ΠΊΠΎΡ€Π΅Π½Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство ΠΈ Π½Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π²Ρ€ΡŠΠ·ΠΊΠ° към информация Π·Π° рСсурса. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π·Π° рСсурси ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ извСстно ΠΊΠ°Ρ‚ΠΎ "Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎ Π΄ΡŠΡ€Π²ΠΎ". Π’Π°Π·ΠΈ структура ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π΅ напълно ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Π—Π° Π΄Π° сС Π½Π°ΠΌΠ΅Ρ€ΠΈ СкзСмпляр с информация Π·Π° рСсурс, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° някакъв ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€, Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° спорСд ΠΏΡŠΡ‚Ρ, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 2. IResource ΠΈ ResourceInfo

ΠšΠ°ΠΊΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎ-късно, основният Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π° рСсурсния ΠΌΠΎΠ΄Π΅Π» (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅Ρ‚Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ) сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Eclipse ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π΅Ρ‚ΠΎ някои ΠΎΡ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ характСристики Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½:

  • Π”Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π΅ стойностСн ΠΎΠ±Π΅ΠΊΡ‚. БтойностнитС ΠΎΠ±Π΅ΠΊΡ‚ΠΈ са Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Ρ‡ΠΈΠ΅Ρ‚ΠΎ равСнство Π½Π΅ сС основава Π½Π° идСнтичност. Π’Π°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ бСзопасно Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ Π² Ρ…Π΅ΡˆΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Няколко СкзСмпляра Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС отнасят към Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ рСсурс. Π—Π° Π΄Π° Π³ΠΈ сравнитС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° equals(Object).
  • Handle опрСдСля ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурса, Π½ΠΎ Π½Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° информация Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурса (СдинствСнитС Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°, са "ΠΊΠ»ΡŽΡ‡ΡŠΡ‚", ΠΏΡŠΡ‚ΡΡ‚ към рСсурса).
  • ΠœΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС отнася Π΄ΠΎ рСсурс, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° (ΠΈΠ»ΠΈ рСсурс, ΠΊΠΎΠΉΡ‚ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ създадСн, ΠΈΠ»ΠΈ рСсурс, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚). Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° рСсурс ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° IResource.exists().
  • Някои ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ изпълнСни въз основа СдинствСно Π½Π° информацията, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½Π° Π² самия ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ (Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ само с ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ са IResource.getParent(), getFullPath() ΠΈ Ρ‚.Π½. НС Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡΡƒΡ€ΡΡŠΡ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°, Π·Π° Π΄Π° успСС Ρ‚Π°ΠΊΠ°Π²Π° опСрация. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изискват Ρ€Π΅ΡΡƒΡ€ΡΡŠΡ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°, Π·Π° Π΄Π° успСят, Ρ…Π²ΡŠΡ€Π»ΡΡ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (CoreException), Π°ΠΊΠΎ Ρ€Π΅ΡΡƒΡ€ΡΡŠΡ‚ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°.

Eclipse прСдоставя Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° увСдомяванС Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² рСсурситС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство (Π€ΠΈΠ³ΡƒΡ€Π° 3). РСсурситС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС промСнят ΠΊΠ°ΠΊΡ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° дСйствия, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ Π² самата IDE Π½Π° Eclipse, Ρ‚Π°ΠΊΠ° ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° синхронизация с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма. И Π² Π΄Π²Π°Ρ‚Π° случая ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС Π°Π±ΠΎΠ½ΠΈΡ€Π°Ρ‚ Π·Π° извСстията, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° информация Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° β€žΠ΄Π΅Π»Ρ‚Π° Π½Π° Ρ€Π΅ΡΡƒΡ€ΡΠ°β€œ (resource delta). Π”Π΅Π»Ρ‚Π°Ρ‚Π° описва ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° (ΠΏΠΎΠ΄)Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° рСсурситС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство ΠΈ само ΠΏΠΎ сСбС си Π΅ Π΄ΡŠΡ€Π²ΠΎ, всСки възСл ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ описва промяна Π½Π° някакъв рСсурс ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° списък с Π΄Π΅Π»Ρ‚ΠΈ ΠΎΡ‚ слСдващо Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ описват ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π΄ΡŠΡ‰Π΅Ρ€Π½ΠΈΡ‚Π΅ рСсурси.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 3. IResourceChangeEvent ΠΈ IResourceDelta

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° увСдомяванС, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π΄Π΅Π»Ρ‚Π° Π½Π° рСсурситС, ΠΈΠΌΠ° слСднитС характСристики:

  • Π•Π΄Π½Π° СдинствСна промяна ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ са описани с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° структура, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΄Π΅Π»Ρ‚Π°Ρ‚Π° Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° спорСд ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° рСкурсивна композиция. АбонатнитС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ извСстия Π·Π° промяна Π½Π° рСсурса Ρ‡Ρ€Π΅Π· рСкурсивно низходящо Π΄Π΅Π»Ρ‚Π° Π΄ΡŠΡ€Π²ΠΎ.
  • Π”Π΅Π»Ρ‚Π°Ρ‚Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° пълна информация Π·Π° промяната Π½Π° рСсурса, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ промяна Π½Π° "ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈΡ‚Π΅", ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅Π³ΠΎ (ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈΡ‚Π΅ прСдставляват Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅).
  • Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈΡ‚Π΅ към рСсурси сС правят Ρ‡Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π°, Π΄Π΅Π»Ρ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ СстСствСно Π΄Π° сС отнася Π΄ΠΎ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ рСсурс.

ΠšΠ°ΠΊΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ скоро, основнитС Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° увСдомяванС Π·Π° промяна Π½Π° рСсурсния ΠΌΠΎΠ΄Π΅Π» са подходящи ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ.

JDT ядро

РСсурсният ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство Π½Π° Eclipse Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π΅Π½ нСзависим ΠΎΡ‚ Π΅Π·ΠΈΠΊΠ° ΠΌΠΎΠ΄Π΅Π». ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ JDT Core (org.eclipse.jdt.core плъгин) прСдоставя API Π·Π° навигация ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° структурата Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Java, Ρ‚Π°ΠΊΠ° нарСчСният β€žΠΌΠΎΠ΄Π΅Π» Π½Π° Javaβ€œ (java ΠΌΠΎΠ΄Π΅Π»). Π’ΠΎΠ·ΠΈ API Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Java, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ базовия API Π½Π° рСсурсния ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ интСрфСйси Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Java са ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° Ρ„ΠΈΠ³. 4.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 4. Π•Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Java ΠΌΠΎΠ΄Π΅Π»Π°

ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Java ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ‰ΠΈΡ ΠΈΠ΄ΠΈΠΎΠΌ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€/тяло ΠΊΠ°Ρ‚ΠΎ рСсурсния ΠΌΠΎΠ΄Π΅Π» (Π€ΠΈΠ³ΡƒΡ€Π° 5). IJavaElement Π΅ Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π°, Π° JavaElementInfo Π΅ тялото. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ IJavaElement Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΎΠ±Ρ‰ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° всички Java Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ. Някои ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ са само Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: getElementName(), getParent() ΠΈ Ρ‚.Π½. ΠžΠ±Π΅ΠΊΡ‚ΡŠΡ‚ JavaElementInfo ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚: Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° структура ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 5. IJavaElement ΠΈ JavaElementInfo

ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Java ΠΈΠΌΠ° някои Ρ€Π°Π·Π»ΠΈΠΊΠΈ Π² ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° основния Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π° Ρ€ΡŠΠΊΠΎΡ…Π²Π°Ρ‚ΠΊΠ°Ρ‚Π°/тялото Π² сравнСниС с рСсурсния ΠΌΠΎΠ΄Π΅Π». ΠšΠ°ΠΊΡ‚ΠΎ бСшС отбСлязано ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π² рСсурсСн ΠΌΠΎΠ΄Π΅Π» Π΄ΡŠΡ€Π²ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, Ρ‡ΠΈΠΈΡ‚ΠΎ възли са ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π·Π° рСсурси, сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° изцяло Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Но Π΅Π΄ΠΈΠ½ Java ΠΌΠΎΠ΄Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-голям Π±Ρ€ΠΎΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° рСсурситС, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° структура Π½Π° .java ΠΈ .class Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅: Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ.

Π—Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° цялото Π΄ΡŠΡ€Π²ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° LRU кСш с информация Π·Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΡŠΡ‚ Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ IJavaElement. ΠžΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ с информация Π·Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π° сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΏΡ€ΠΈ поискванС, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π° сС Π½Π°Π²ΠΈΠ³ΠΈΡ€Π°. Π’ Ρ‚ΠΎΠ·ΠΈ случай Π½Π°ΠΉ-рядко ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ сС ΠΈΠ·Π²Π°ΠΆΠ΄Π°Ρ‚ ΠΎΡ‚ кСша ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° остава ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΡ‚ опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° кСша. Π’ΠΎΠ²Π° Π΅ ΠΎΡ‰Π΅ Π΅Π΄Π½ΠΎ прСдимство Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ напълно скрива ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ Π½Π° изпълнСниС ΠΎΡ‚ клиСнтския ΠΊΠΎΠ΄.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° увСдомяванС Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Java Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π΅ ΠΊΠ°Ρ‚ΠΎ цяло ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² рСсурситС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство, обсъдСн ΠΏΠΎ-Π³ΠΎΡ€Π΅. ΠšΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ иска Π΄Π° прослСди ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java, сС Π°Π±ΠΎΠ½ΠΈΡ€Π° Π·Π° извСстия, ΠΊΠΎΠΈΡ‚ΠΎ са прСдставСни ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ ElementChangedEvent, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° IJavaElementDelta (Π€ΠΈΠ³ΡƒΡ€Π° 6).

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 6.ElementChangedEvent ΠΈ IJavaElementDelta

ΠœΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Java Π½Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° информация Π·Π° тялото Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π·Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄Π°, написан Π½Π° Java, JDT Core прСдоставя Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ (Π½Π΅Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ) ΠΌΠΎΠ΄Π΅Π»: абстрактно синтактично Π΄ΡŠΡ€Π²ΠΎ (абстрактно синтактично Π΄ΡŠΡ€Π²ΠΎ, AST). AST прСдставлява Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° оригиналния тСкст. AST Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‚ Π½Π° структурнитС Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° изходния ΠΌΠΎΠ΄ΡƒΠ» (Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ Ρ‚.Π½.) ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ информация Π·Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π² изходния тСкст, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ (ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ€) информация Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ към Ρ‚.Π½. НарСчСн Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈ. ΠžΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° са ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ прСдставляват Π½Π°ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, извСстни Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ AST Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Π΄ΡŠΡ€Π²ΠΎ, ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΊΡ€ΡŠΡΡ‚ΠΎΡΠ°Π½ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Абстрактният клас ASTNode Π΅ общият Π±Π°Π·ΠΎΠ² клас Π·Π° всички AST възли. ΠŸΠΎΠ΄ΠΊΠ»Π°ΡΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ASTNode ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ синтактични конструкции Π½Π° Π΅Π·ΠΈΠΊΠ° Java.

Въй ΠΊΠ°Ρ‚ΠΎ синтактичнитС Π΄ΡŠΡ€Π²Π΅Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° консумират Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ количСство ΠΏΠ°ΠΌΠ΅Ρ‚, JDT ΠΊΠ΅ΡˆΠΈΡ€Π° само Π΅Π΄ΠΈΠ½ AST Π·Π° всСки Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java, AST ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ "ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½", "Π²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½" ΠΌΠΎΠ΄Π΅Π», Ρ‡ΠΈΠΈΡ‚ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π΅ трябва Π΄Π° сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ извън контСкста Π½Π° опСрацията, която Π΅ създала AST.

Π’Π΅Π·ΠΈ Ρ‚Ρ€ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° (Java ΠΌΠΎΠ΄Π΅Π», AST, ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ) Π·Π°Π΅Π΄Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ основата Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° β€žΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°β€œ Π² JDT, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΡ‰Π΅Π½ Java Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ β€žΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ†ΠΈβ€œ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ дСйствия Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° изходния ΠΊΠΎΠ΄ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° списък Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ спорСд пСрсонализирания стил), инструмСнти Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Java ΠΈΠ³Ρ€Π°Π΅ спСциална роля, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠΉ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ основа Π·Π° Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ прСдставянС Π½Π° структурата Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Package Explorer, Outline, Search, Call Hierarchy ΠΈ Π’ΠΈΠΏΠΎΠ²Π° йСрархия).

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Eclipse, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² 1C:Enterprise Developments Tools

На Ρ„ΠΈΠ³. Π€ΠΈΠ³ΡƒΡ€Π° 7 ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Eclipse, ΠΊΠΎΠΈΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ основата Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 7. Eclipse ΠΊΠ°Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Eclipse осигурява основната инфраструктура. ΠŸΠΎΠΊΡ€ΠΈΡ…ΠΌΠ΅ някои аспСкти Π½Π° Ρ‚Π°Π·ΠΈ инфраструктура Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π».

Π Π°ΠΌΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Eclipse (EMF) прСдоставя ΠΎΠ±Ρ‰Π° Ρ€Π°ΠΌΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° структурирани Π΄Π°Π½Π½ΠΈ. EMF Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ самостоятСлно Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Java прилоТСния. Доста чСсто Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Eclipse Π²Π΅Ρ‡Π΅ са доста Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ с EMF, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ всС ΠΎΡ‰Π΅ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ напълно Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse. Π•Π΄Π½Π° ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Ρ‚Π°ΠΊΠ°Π²Π° заслуТСна популярност Π΅ унивСрсалният Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ API Π½Π° ΠΌΠ΅Ρ‚Π°-Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с всСки EMF ΠΌΠΎΠ΄Π΅Π» ΠΊΠ°Ρ‚ΠΎ цяло. Π‘Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, осигурСни ΠΎΡ‚ EMF Π·Π° ΠΌΠΎΠ΄Π΅Π»Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ подсистСмата Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΌΠ΅Ρ‚Π°-ΠΌΠΎΠ΄Π΅Π»Π°, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Ρ‚ скоростта Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ намаляват броя Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅. EMF ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° сСриализиранС Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, прослСдяванС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΌΠΎΠ΄Π΅Π»Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅.

ΠšΠ°Ρ‚ΠΎ всСки наистина ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ инструмСнт, EMF Π΅ подходящ Π·Π° ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅, Π½ΠΎ някои класовС ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠΈ, обсъдСни ΠΏΠΎ-Π³ΠΎΡ€Π΅) ΠΌΠΎΠΆΠ΅ Π΄Π° сС нуТдаят ΠΎΡ‚ ΠΏΠΎ-спСциализирани инструмСнти Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅. Π”Π° сС ​​говори Π·Π° Π•ΠœΠŸ Π΅ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Π° Π·Π°Π΄Π°Ρ‡Π°, особСно Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π½Π° статия, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π΅ΠΌΠ° Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠ½ΠΈΠ³Π°, ΠΈ Ρ‚ΠΎ доста Π΄Π΅Π±Π΅Π»Π°. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π°ΠΌΠ΅ само, Ρ‡Π΅ качСствСната систСма ΠΎΡ‚ обобщСния, Π»Π΅ΠΆΠ°Ρ‰Π° Π² основата Π½Π° EMF, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° цял Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΡ‚ Π½Π°ΠΉ-високо Π½ΠΈΠ²ΠΎ ΠœΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Eclipse Π·Π°Π΅Π΄Π½ΠΎ със самия Π•ΠœΠŸ. Π•Π΄ΠΈΠ½ Ρ‚Π°ΠΊΡŠΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅ Eclipse Xtext.

Eclipse Xtext прСдоставя инфраструктура Π·Π° "ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° тСкст". Xtext ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ANTLR Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° изходния тСкст ΠΈ EMF Π·Π° прСдставянС Π½Π° получСния ASG (абстрактна сСмантична Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, която Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ комбинация ΠΎΡ‚ AST ΠΈ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ), Π½Π°Ρ€ΠΈΡ‡Π°Π½Π° ΠΎΡ‰Π΅ β€žΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄Π΅Π»β€œ. Π“Ρ€Π°ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π΅Π·ΠΈΠΊ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½ с Xtext, Π΅ описана Π½Π° родния Π΅Π·ΠΈΠΊ Π½Π° Xtext. Π’ΠΎΠ²Π° позволява Π½Π΅ само Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° граматичСско описаниС Π·Π° ANTLR, Π½ΠΎ ΠΈ Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ AST ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° сСриализация (Ρ‚.Π΅. Xtext прСдоставя ΠΊΠ°ΠΊΡ‚ΠΎ парсСр, Ρ‚Π°ΠΊΠ° ΠΈ дСпарсСр), контСкстна подсказка ΠΈ Ρ€Π΅Π΄ΠΈΡ†Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Π΅Π·ΠΈΠΊΡŠΡ‚ Π·Π° Π³Ρ€Π°ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ описаниС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Xtext, Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ гъвкав, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ, Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, Π΅Π·ΠΈΠΊΡŠΡ‚ Π·Π° Π³Ρ€Π°ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ описаниС Π² ANTLR. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ понякога Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС β€žΠΏΡ€Π΅Π³ΡŠΠ½Π΅β€œ внСдрСният Π΅Π·ΠΈΠΊ към Xtext, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° Π΅Π·ΠΈΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π·Π° Π΅Π·ΠΈΡ†ΠΈ с Π²Π΅Ρ‡Π΅ установСн синтаксис. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Xtext Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π½Π°ΠΉ-зрСлият, Π±ΠΎΠ³Π°Ρ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ инструмСнт Π² Eclipse Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π° тях. По-спСциално, Ρ‚ΠΎΠΉ Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ инструмСнт Π·Π° Π±ΡŠΡ€Π·ΠΎ създаванС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈ. Π΅Π·ΠΈΡ†ΠΈ, спСцифични Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° (спСцифичСн Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅Π·ΠΈΠΊ, DSL). Π’ допълнСниС към ANTLR ΠΈ EMF Π±Π°Π·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ β€žΠ΅Π·ΠΈΠΊΠΎΠ²ΠΎ ΡΠ΄Ρ€ΠΎβ€œ, спомСнато ΠΏΠΎ-Π³ΠΎΡ€Π΅, Xtext прСдоставя ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° индСксиранС, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, β€žΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€β€œ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½ΠΎ пропуска ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π°- Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Подобно Π½Π° EMF, Xtext Π΅ Ρ‚Π΅ΠΌΠ°, достойна Π·Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° ΠΊΠ½ΠΈΠ³Π° ΠΈ Π΅Π΄Π²Π° Π»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡ€ΠΈ Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π΄Π° опишСм всичкитС ΠΌΡƒ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ сСга.

1Π‘:Enterprise Development Tools Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ самия EMF, Ρ‚Π°ΠΊΠ° ΠΈ Ρ€Π΅Π΄ΠΈΡ†Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Eclipse. По-спСциално, Xtext Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ основитС Π½Π° инструмСнтитС Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° 1C:Enterprise Π΅Π·ΠΈΡ†ΠΈ ΠΊΠ°Ρ‚ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ Π΅Π·ΠΈΠΊ Π·Π° заявки. Π”Ρ€ΡƒΠ³Π° основа Π·Π° Ρ‚Π΅Π·ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Eclipse Handly, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС спрСм ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ (ΠΎΡ‚ ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Eclipse Ρ‚ΠΎΠΉ всС ΠΎΡ‰Π΅ Π΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ извСстСн).

Eclipse Handy, ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° Eclipse Technology, възникнал ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ принос Π½Π° ΠΊΠΎΠ΄ към Eclipse Foundation ΠΎΡ‚ 1C ΠΏΡ€Π΅Π· 2014 Π³. ΠžΡ‚Ρ‚ΠΎΠ³Π°Π²Π° 1C ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° подкрСпя Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: Handly Committers са слуТитСли Π½Π° компанията. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ малък, Π½ΠΎ Π·Π°Π΅ΠΌΠ° доста ΡƒΠ½ΠΈΠΊΠ°Π»Π½Π° ниша Π² Eclipse: основната ΠΌΡƒ Ρ†Π΅Π» Π΅ Π΄Π° ΠΏΠΎΠ΄ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠΈ.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ΄ΠΈΠΎΠΌΠ° Π΄Ρ€ΡŠΠΆΠΊΠ°/тяло, бяха обсъдСни ΠΏΠΎ-Π³ΠΎΡ€Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° рСсурситС ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° отбСляза, Ρ‡Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° рСсурситС, Ρ‚Π°ΠΊΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π½Π° Java са Π²Π°ΠΆΠ½ΠΈ основи Π·Π° инструмСнтитС Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Eclipse Java (JDT). И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всички ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Eclipse *DT ΠΈΠΌΠ°Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° JDT, няма Π΄Π° Π΅ голямо ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ са Π² основата Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ, Π°ΠΊΠΎ Π½Π΅ ΠΈ Π½Π° всички IDE, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Eclipse. НапримСр Eclipse C/C++ Development Tooling (CDT) ΠΈΠΌΠ° C/C++ ΠΌΠΎΠ΄Π΅Π», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ³Ρ€Π°Π΅ ΡΡŠΡ‰Π°Ρ‚Π° роля Π² CDT Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Java Π² JDT.

ΠŸΡ€Π΅Π΄ΠΈ Handly, Eclipse Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡˆΠ΅ спСциализирани Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ. ΠœΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ днСс, са създадСни Π³Π»Π°Π²Π½ΠΎ Ρ‡Ρ€Π΅Π· Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java (извСстСн ΠΎΡ‰Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅/поставянС), Π² случаитС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ позволява ΠŸΡƒΠ±Π»ΠΈΡ‡Π΅Π½ Π»ΠΈΡ†Π΅Π½Π· Π½Π° Eclipse (EPL). (ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅ Π·Π°, Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, собствСнитС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Eclipse Ρ‚ΠΎΠ²Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ Π΅ ΠΏΡ€Π°Π²Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ случаят с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΡ‚Π΅ със Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.) Π’ допълнСниС към Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π°Ρ‚Π° си случайност, Ρ‚Π°Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΠΎΠ±Ρ€Π΅ извСстни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ: Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄, въвСдСно ΠΎΡ‚ ΠΏΡ€ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½Π΅ към Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Ρ€. ΠžΡ‰Π΅ ΠΏΠΎ-лошо Π΅, Ρ‡Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ си остават β€žΠ½Π΅Ρ‰Π° сами ΠΏΠΎ сСбС ΡΠΈβ€œ ΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Π·Π° унификация. Но разпрСдСлянСто Π½Π° ΠΎΠ±Ρ‰ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с тях, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случи Π² случая с EMF.

Π’ΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Eclipse Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡˆΠ΅ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ΠžΡ‰Π΅ ΠΏΡ€Π΅Π· 2005Π³ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π•ΡˆΠ»ΠΈΠΌΠ°Π½, ΠΎΠ±ΠΎΠ±Ρ‰Π°Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΠΈΡ‚Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CDT ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΡΠΏΠΎΡ€Π΅ΡˆΠ΅ нСобходимостта ΠΎΡ‚ създаванС Π½Π° ΠΎΠ±Ρ‰Π° инфраструктура Π·Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ. Но, ΠΊΠ°ΠΊΡ‚ΠΎ чСсто сС случва, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΠΎ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅, Ρ‚ΠΎΠ³Π°Π²Π° рСализацията Π½Π° Ρ‚Π΅Π·ΠΈ ΠΈΠ΄Π΅ΠΈ Π½Π΅ стигна Π΄ΠΎ Ρ€ΡŠΡ†Π΅Ρ‚Π΅. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ факторизацията Π½Π° ΠΊΠΎΠ΄Π° Π½Π° *DT ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ всС ΠΎΡ‰Π΅ Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ слабо Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΌΠΈ Π² Eclipse.

Π’ извСстСн смисъл ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Handly Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°Ρ‚ΠΎ EMF, Π½ΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ (Ρ‚.Π΅. прСдставляващи Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ структурата Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅). Π‘Π»Π΅Π΄Π½ΠΈΡ‚Π΅ са основнитС Ρ†Π΅Π»ΠΈ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Handly:

  • Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° основнитС абстракции Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ‚Π° област.
  • НамаляванС Π½Π° усилията ΠΈ подобряванС Π½Π° качСството Π½Π° внСдряванСто Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄.
  • ΠžΡΠΈΠ³ΡƒΡ€ΡΠ²Π°Π½Π΅ Π½Π° ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ API Π½Π° ΠΌΠ΅Ρ‚Π°-Π½ΠΈΠ²ΠΎ към ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ възмоТно ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ‰ΠΈ IDE ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят с ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ.
  • Π“ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ ΠΈ мащабируСмост.
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Xtext (Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ слой).

Π—Π° Π΄Π° сС подчСртаят ΠΎΠ±Ρ‰ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, бяха Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ интСрфСйси ΠΈ Π±Π°Π·ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, прСдоставСни ΠΎΡ‚ Handly, са ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° Π€ΠΈΠ³ΡƒΡ€Π° 8-XNUMX. XNUMX.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 8. ΠžΠ±Ρ‰ΠΈ интСрфСйси ΠΈ основни Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Handly Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ IElement прСдставлява ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈ Π΅ ΠΎΠ±Ρ‰ Π·Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° всички Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Handly ΠΌΠΎΠ΄Π΅Π»ΠΈ. Абстрактният клас Element ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΎΠ±Ρ‰ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π΄Ρ€ΡŠΠΆΠΊΠ°/тяло (Π€ΠΈΠ³ΡƒΡ€Π° 9).

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 9. Π•Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ‡Π½Π° рСализация Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠ°/тяло

Π’ допълнСниС, Handly прСдоставя ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° увСдомяванС Π·Π° промяна Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° (Ρ„ΠΈΠ³. 10). ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ Ρ‚ΠΎΠΉ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° увСдомяванС, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° рСсурситС ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java, ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° IElementDelta, Π·Π° Π΄Π° осигури ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ прСдставянС Π½Π° информацията Π·Π° промяна Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π°.

Eclipse ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠžΡ€ΠΈΠ·. 10. ΠžΠ±Ρ‰ΠΈ интСрфСйси ΠΈ основни Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° увСдомяванС Handly

Частта ΠΎΡ‚ Handly, Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ (Ρ„ΠΈΠ³. 9 ΠΈ 10), ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° прСдставянС Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всички ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π΄Ρ€ΡŠΠΆΠΊΠ°. Π—Π° създаванС лингвистичСн ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° функционалност - ΠΏΠΎ-спСциално ΠΎΠ±Ρ‰ΠΈ интСрфСйси ΠΈ Π±Π°Π·ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° структурата Π½Π° изходния тСкст, Ρ‚.Π½Π°Ρ€. ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ (Ρ„ΠΈΠ³. 8). Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ ISourceFile прСдставлява Ρ„Π°ΠΉΠ» ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ, Π° ISourceConstruct прСдставлява Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ. АбстрактнитС класовС SourceFile ΠΈ SourceConstruct Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΎΠ±Ρ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстови Π±ΡƒΡ„Π΅Ρ€ΠΈ, ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ Π² изходния тСкст, ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° с Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈ Ρ‚.Π½. . ВнСдряванСто Π½Π° Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ доста прСдизвикатСлство ΠΈ Handly ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ усилията Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ прСдостави качСствСни Π±Π°Π·ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’ допълнСниС към основнитС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡ€Π΅, Handly прСдоставя тСкстов Π±ΡƒΡ„Π΅Ρ€ ΠΈ инфраструктура Π·Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π½ΠΈ снимки, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° интСграция с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ Π½Π° изходния ΠΊΠΎΠ΄ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ интСграция извън кутията с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Xtext), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ някои ΠΎΠ±Ρ‰ΠΈ UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят с ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Handly ΠΊΠ°Ρ‚ΠΎ структурата Π½Π° очСртанията. Π—Π° Π΄Π° ΠΈΠ»ΡŽΡΡ‚Ρ€ΠΈΡ€Π° своитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ прСдоставя няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ внСдряванСто Π½Π° Java ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Handly. (Π’ сравнСниС с ΠΏΡŠΠ»Π½Π°Ρ‚Π° рСализация Π½Π° Java ΠΌΠΎΠ΄Π΅Π»Π° Π² JDT, Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Π΅ ΡƒΠΌΠΈΡˆΠ»Π΅Π½ΠΎ донякъдС опростСн Π·Π° ΠΏΠΎ-голяма яснота.)

ΠšΠ°ΠΊΡ‚ΠΎ бСшС отбСлязано ΠΏΠΎ-Ρ€Π°Π½ΠΎ, ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡΡ‚ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Handly бяха ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ силно фокусирани Π²ΡŠΡ€Ρ…Ρƒ скалируСмостта ΠΈ Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚Ρ‚Π°.

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ с Π΄Ρ€ΡŠΠΆΠΊΠΈ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Ρ‚ Π΄ΠΎΠ±Ρ€Π΅ β€žΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½β€œ. НапримСр ΠΈΠ΄ΠΈΠΎΠΌΡŠΡ‚ Π΄Ρ€ΡŠΠΆΠΊΠ°/тяло Π²ΠΈ позволява Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ количСството ΠΏΠ°ΠΌΠ΅Ρ‚, консумирано ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»Π°. Но ΠΈΠΌΠ° ΠΈ нюанси. И Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΈ тСстванС Π½Π° Handly Π·Π° мащабируСмост бСшС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ внСдряванСто Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° увСдомяванС - ΠΏΡ€ΠΈ промяна Π½Π° голям Π±Ρ€ΠΎΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π΅Π»Ρ‚Π° ΠΎΡ‚Π½Π΅ Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Оказа сС, Ρ‡Π΅ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° ΠΈ Π² Java JDT ΠΌΠΎΠ΄Π΅Π»Π°, ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ Π½Π°Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ бСшС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄. ΠŸΠΎΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ Π³Ρ€Π΅ΡˆΠΊΠ° Π² Handly ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° корСкция Π·Π° JDT, която бСшС ΠΏΡ€ΠΈΠ΅Ρ‚Π° с благодарност. Π’ΠΎΠ²Π° Π΅ само Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ внСдряванСто Π½Π° Handly Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ възмоТно Π΄Π° сС ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π° Ρ‚Π°ΠΊΡŠΠ² бъг само Π½Π° Π΅Π΄Π½ΠΎ място.

Π—Π° Π΄Π° бъдС тСхничСски ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΈΠΌΠΎ Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Handly Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° трябва Π΄Π° бъдС ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ гъвкава. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с API Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°. Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ бСшС Ρ€Π΅ΡˆΠ΅Π½ Π² Π£Π΄ΠΎΠ±Π΅Π½ 0.5 Ρ‡Ρ€Π΅Π· ясно раздСлянС Π½Π° спСцифичния Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° API, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΈ напълно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΎΡ‚ унифицирания API Π½Π° ΠΌΠ΅Ρ‚Π° Π½ΠΈΠ²ΠΎ, прСдоставСн ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Π’ΠΎΠ²Π° Π½Π΅ само ΠΏΡ€Π°Π²ΠΈ тСхничСски възмоТно внСдряванСто Π½Π° Handly Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π°Π²Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° новия ΠΌΠΎΠ΄Π΅Π» ΠΌΠ½ΠΎΠ³ΠΎ свобода Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° API.

Π“ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚Ρ‚Π° ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ аспСкти. НапримСр Handly Π½Π΅ Π½Π°Π»Π°Π³Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ограничСния Π²ΡŠΡ€Ρ…Ρƒ структурата Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΡ†ΠΈ с ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π° спСцифични Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅Π·ΠΈΡ†ΠΈ. ΠšΠΎΠ³Π°Ρ‚ΠΎ конструира структурата Π½Π° изходния Ρ„Π°ΠΉΠ», Handly Π½Π΅ прСдписва Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Ρ„ΠΎΡ€ΠΌΠ° Π½Π° прСдставянС Π½Π° AST ΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΄ΠΎΡ€ΠΈ Π½Π΅ изисква Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° самия AST, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с ΠΏΠΎΡ‡Ρ‚ΠΈ всСки ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅. И накрая, Handly ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° пълна интСграция с Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ пространство Π½Π° Eclipse, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° интСграцията си с Π€Π°ΠΉΠ»ΠΎΠ²Π° систСма Eclipse (EFS).

БСгашна вСрсия Π£Π΄ΠΎΠ±Π΅Π½ 0.6 ΠΈΠ·Π΄Π°Π΄Π΅Π½ ΠΏΡ€Π΅Π· Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ 2016 Π³. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° инкубация ΠΈ API всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½, Handly Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ комСрсиални ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ сС впуснаха Π² ролята Π½Π° β€žΡ€Π°Π½Π½ΠΈ ΠΎΡΠΈΠ½ΠΎΠ²ΠΈΡ‚Π΅Π»ΠΈβ€œ ΠΈ, трябва Π΄Π° ΠΊΠ°ΠΆΠ°, правят ΠΎΡ‰Π΅ Π½Π΅ съТалявам.

ΠšΠ°ΠΊΡ‚ΠΎ бСшС отбСлязано ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ Π΅ 1C:Enterprise Development Tools, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Handly сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ самото Π½Π°Ρ‡Π°Π»ΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ структурата Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° 1C:Enterprise Π΅Π·ΠΈΡ†ΠΈ ΠΊΠ°Ρ‚ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ Π΅Π·ΠΈΠΊ Π·Π° заявки. Π”Ρ€ΡƒΠ³ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ извСстСн Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°. Π’ΠΎΠ²Π° Π‘Ρ‚ΡƒΠ΄ΠΈΠΎ Codasip, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π° срСда Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π·Π° спСцифични Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ процСсори Π·Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструкции (ASIP), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π² самата Ρ‡Π΅ΡˆΠΊΠ° компания Codasip, Ρ‚Π°ΠΊΠ° ΠΈ ΠΎΡ‚ Π½Π΅ΠΉΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ AMD, AVG, mobileye, Sigma Designs. Codasip ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Handly Π² производството ΠΎΡ‚ 2015 Π³., Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ с Handly 0.2. ΠŸΠΎΡΠ»Π΅Π΄Π½Π°Ρ‚Π° вСрсия Π½Π° Codasip Studio Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вСрсия 0.5, ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° ΠΏΡ€Π΅Π· юни 2016 Π³. OndΕ™ej Ilčík, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° IDE Π² Codasip, Π΅ Π² ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, прСдоставяйки ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° β€žΠΎΡΠΈΠ½ΠΎΠ²ΠΈΡ‚Π΅Π»Ρ ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚Π° ΡΡ‚Ρ€Π°Π½Π°β€œ. Π’ΠΎΠΉ Π΄ΠΎΡ€ΠΈ успя Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ ΠΌΠ°Π»ΠΊΠΎ свободно Π²Ρ€Π΅ΠΌΠ΅, Π·Π° Π΄Π° допринСсС Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Ρ€Π΅Π· внСдряванС Π½Π° UI слой (~4000 Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄) Π·Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Handly, ΠΌΠΎΠ΄Π΅Π» Π½Π° Java. Π—Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ информация ΠΎΡ‚ ΠΏΡŠΡ€Π²Π° Ρ€ΡŠΠΊΠ° относно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Handly ΠΎΡ‚ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ Π²ΠΈΠΆΡ‚Π΅ Π Π°Π·ΠΊΠ°Π·ΠΈ Π·Π° успСха ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

НадявамС сС, Ρ‡Π΅ слСд пусканСто Π½Π° вСрсия 1.0 с гаранция Π·Π° стабилност Π½Π° API ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΡ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° инкубация, Handly Ρ‰Π΅ ΠΈΠΌΠ° ΠΈ Π½ΠΎΠ²ΠΈ осиновитСли. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° тСства ΠΈ ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ API с Π΄Π²Π΅ β€žΠ³ΠΎΠ»Π΅ΠΌΠΈβ€œ издания годишно, ΠΏΡ€Π΅Π· юни (ΡΡŠΡ‰Π°Ρ‚Π° Π΄Π°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° вСрсия Π½Π° Eclipse) ΠΈ Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ, осигурявайки ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊ, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ осиновитСлитС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°Ρ‚. МоТСм ΡΡŠΡ‰ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ, Ρ‡Π΅ β€žΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΡŠΡ‚ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈβ€œ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° остава Π½Π° постоянно ниско Π½ΠΈΠ²ΠΎ ΠΈ Handly Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π½Π½ΠΈΡ‚Π΅ осиновитСли ΠΎΡ‰Π΅ ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ вСрсии. Π—Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ с Eclipse Handly ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π£Ρ€ΠΎΠΊ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ АрхитСктурСн ΠΏΡ€Π΅Π³Π»Π΅Π΄.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€