Π²Π΅ΡΠΎΡΡΠ½ΠΎ
Π ΡΠ°Π·ΠΈ ΠΎΠ±Π·ΠΎΡΠ½Π° ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Eclipse ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ Π΄Π°Π΄Π΅ΠΌ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Eclipse, ΠΊΠΎΠΈΡΠΎ ΡΠΎΡΠΌΠΈΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° β Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡβ 1C: Enterprise,
ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Eclipse
ΠΠ΅ΠΊΠ° ΠΏΡΡΠ²ΠΎ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΠ±ΡΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Eclipse, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Eclipse ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ° Ρ Π΄ΠΎΡΡΠ° ΡΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π° ΡΡΡΠ°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°ΡΠ° ΠΎΡ Π΅Π·ΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ UI βΡΠ΄ΡΠΎβ (ΡΠ΄ΡΠΎ) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Eclipse Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΎΠ±ΡΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡ Π΅Π·ΠΈΠΊΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Java Π΄ΠΎΠ±Π°Π²ΡΡ ΠΏΡΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° Java IDE ΠΊΡΠΌ Eclipse. ΠΠ°ΠΊΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Eclipse, ΡΠ°ΠΊΠ° ΠΈ JDT ΡΠ° ΡΡΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ ΠΈΠ»ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ UI βΡΠ΄ΡΠΎβ ΠΈΠ»ΠΈ UI ΡΠ»ΠΎΠΉ (Π€ΠΈΠ³ΡΡΠ° 1).
ΠΡΠΈΠ·. 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 Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π°
ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ
ΠΠΎΡΡΠΈ Π²ΡΡΠΊΠ° IDE, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π²ΡΡΡ
Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Eclipse, ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Eclipse. Π’ΠΎΠ²Π° Π΅ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π² IDE. Π Π°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΡΠ΅ΡΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Eclipse ΡΠ»ΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΠΊΠ΅Ρ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΡΠΊΠΎΡΠΈ ΠΎΠ±Ρ
ΠΎΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, workspace ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅Π΄ΠΈΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡΡ Core Resources (org.eclipse.core.resources plugin) Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΡΠ² ΡΠΎΡΠΌΡΠ»ΡΡΠ° ΡΠ΅ΡΡΡΡΠ½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Ρ ΡΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π», ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ Π»Π΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΡΠ΅ΡΡΡΡ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠ΅ ΠΎΠ±Π΅ΠΊΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠ° Π² ΠΌΠΎΠ΄Π΅Π»Π° ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏ. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ», ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° Π΄ΡΡΠΆΠΈ ΠΎΠ±Π΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π² ΠΌΠΎΠ΄Π΅Π»Π°, Ρ ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠΎΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Eclipse ΡΠ΅ΡΠ°Π²Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Ρ.Π½Π°Ρ Π΄ΡΡΠΆΠΊΠ° ΡΠ΅ΡΡΡΡ. Handle Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡ (ΠΏΠΎΠ·Π½Π°Π²Π° ΡΠ°ΠΌΠΎ ΠΏΡΡΡ Π΄ΠΎ ΡΠ΅ΡΡΡΡΠ° Π² ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ) ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΎΠ±Π΅ΠΊΡΠ° Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈΡ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠ°. Π’ΠΎΠ·ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ Π΅ Π²Π°ΡΠΈΠ°ΡΠΈΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°
ΠΡΠΈΠ·. 2 ΠΈΠ»ΡΡΡΡΠΈΡΠ° ΠΈΠ΄ΠΈΠΎΠΌΠ° Handle/Body, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΠΊΡΠΌ ΡΠ΅ΡΡΡΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π». ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ IResource ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠ΅ΡΡΡΡ ΠΈ Π΅ API, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΊΠ»Π°ΡΠ° Resource, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ ΠΊΠ»Π°ΡΠ° ResourceInfo, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° body, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° API. ΠΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°ΠΌΠ΅, ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΡΡ Π·Π½Π°Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΡΡ Π΄ΠΎ ΡΠ΅ΡΡΡΡΠ° ΡΠΏΡΡΠΌΠΎ ΠΊΠΎΡΠ΅Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΡΡΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΡΠΎ "Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ Π΄ΡΡΠ²ΠΎ". Π’Π°Π·ΠΈ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΡΡ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ, Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΡΡ, ΡΡΡ ΡΠ°Π½Π΅Π½ Π² ΡΠΎΠ·ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ.
ΠΡΠΈΠ·. 2. IResource ΠΈ ResourceInfo
ΠΠ°ΠΊΡΠΎ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ Π½Π° ΡΠ΅ΡΡΡΡΠ½ΠΈΡ ΠΌΠΎΠ΄Π΅Π» (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΡΠ΅ΡΠ΅ΡΠ΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Eclipse ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π΅ΡΠΎ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠΎΠ·ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½:
- ΠΡΡΠΆΠΊΠ°ΡΠ° Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΠ½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ ΡΠ° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, ΡΠΈΠ΅ΡΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ Π½Π΅ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡ. Π’Π°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΌΠΎΠ³Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡ Π² Ρ Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΠ΅ΡΡΡΡ. ΠΠ° Π΄Π° Π³ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° equals(Object).
- Handle ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠ°, Π½ΠΎ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠ° (Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°, ΡΠ° "ΠΊΠ»ΡΡΡΡ", ΠΏΡΡΡΡ ΠΊΡΠΌ ΡΠ΅ΡΡΡΡΠ°).
- ΠΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° (ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½, ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π΅ ΠΈΠ·ΡΡΠΈΡ). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° IResource.exists().
- ΠΡΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, ΡΡΡ ΡΠ°Π½Π΅Π½Π° Π² ΡΠ°ΠΌΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ (ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΌΠΎ Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ). ΠΡΠΈΠΌΠ΅ΡΠΈ ΡΠ° IResource.getParent(), getFullPath() ΠΈ Ρ.Π½. ΠΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΡΡΡΡ Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, Π·Π° Π΄Π° ΡΡΠΏΠ΅Π΅ ΡΠ°ΠΊΠ°Π²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ΅ΡΡΡΡΡΡ Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, Π·Π° Π΄Π° ΡΡΠΏΠ΅ΡΡ, Ρ Π²ΡΡΠ»ΡΡ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (CoreException), Π°ΠΊΠΎ ΡΠ΅ΡΡΡΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°.
Eclipse ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (Π€ΠΈΠ³ΡΡΠ° 3). Π Π΅ΡΡΡΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Π² ΡΠ°ΠΌΠ°ΡΠ° IDE Π½Π° Eclipse, ΡΠ°ΠΊΠ° ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π°Π±ΠΎΠ½ΠΈΡΠ°Ρ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡΡΠ°, ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° βΠ΄Π΅Π»ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ°β (resource delta). ΠΠ΅Π»ΡΠ°ΡΠ° ΠΎΠΏΠΈΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π΅ ΡΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° (ΠΏΠΎΠ΄)Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ Π΅ Π΄ΡΡΠ²ΠΎ, Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΠΈΡΠ²Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠ΅ΡΡΡΡ ΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΡΠΏΠΈΡΡΠΊ Ρ Π΄Π΅Π»ΡΠΈ ΠΎΡ ΡΠ»Π΅Π΄Π²Π°ΡΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠΈΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° Π΄ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ.
ΠΡΠΈΠ·. 3. IResourceChangeEvent ΠΈ IResourceDelta
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π΄Π΅Π»ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, ΠΈΠΌΠ° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ:
- ΠΠ΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΡΡΡΡΠΊΡΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΄Π΅Π»ΡΠ°ΡΠ° Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠ±ΠΎΠ½Π°ΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΡΡΡΡΠ° ΡΡΠ΅Π· ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π½ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΎ Π΄Π΅Π»ΡΠ° Π΄ΡΡΠ²ΠΎ.
- ΠΠ΅Π»ΡΠ°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ° ΠΏΡΠ»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° "ΠΌΠ°ΡΠΊΠ΅ΡΠΈΡΠ΅", ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π½Π΅Π³ΠΎ (ΠΌΠ°ΡΠΊΠ΅ΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅).
- Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈΡΠ΅ ΠΊΡΠΌ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ°, Π΄Π΅Π»ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΡΠ΅ΡΡΡΡ.
ΠΠ°ΠΊΡΠΎ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΊΠΎΡΠΎ, ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΡΡΡΡΠ½ΠΈΡ ΠΌΠΎΠ΄Π΅Π» ΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ.
JDT ΡΠ΄ΡΠΎ
Π Π΅ΡΡΡΡΠ½ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Eclipse Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ Π΅Π·ΠΈΠΊΠ° ΠΌΠΎΠ΄Π΅Π». ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡΡ JDT Core (org.eclipse.jdt.core ΠΏΠ»ΡΠ³ΠΈΠ½) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ API Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Java, ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΡ βΠΌΠΎΠ΄Π΅Π» Π½Π° Javaβ (java ΠΌΠΎΠ΄Π΅Π»). Π’ΠΎΠ·ΠΈ API Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Java, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΈΡ API Π½Π° ΡΠ΅ΡΡΡΡΠ½ΠΈΡ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡΠΎ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Java ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° ΡΠΈΠ³. 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 Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ»ΠΎΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠΌΠ΅Π½Π°, ΡΠ°ΠΊΠ° ΡΠ΅ Π·Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Java, JDT Core ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ (Π½Π΅Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ) ΠΌΠΎΠ΄Π΅Π»:
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈΡΠ΅ Π΄ΡΡΠ²Π΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΠ΅Ρ, 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.
ΠΡΠΈΠ·. 7. Eclipse ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° 1C:Enterprise Development Tools
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Eclipse ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. ΠΠΎΠΊΡΠΈΡ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΡΠ°Π·Π΄Π΅Π».
ΠΠ°ΡΠΎ Π²ΡΠ΅ΠΊΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, EMF Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π·Π° ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅, Π½ΠΎ Π½ΡΠΊΠΎΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΡΡΠΆΠΊΠΈ, ΠΎΠ±ΡΡΠ΄Π΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡΠ΅) ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅. ΠΠ° ΡΠ΅ ββΠ³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΠΠΠ Π΅ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½Π° Π·Π°Π΄Π°ΡΠ°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΡΠ°ΡΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΌΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΊΠ½ΠΈΠ³Π°, ΠΈ ΡΠΎ Π΄ΠΎΡΡΠ° Π΄Π΅Π±Π΅Π»Π°. ΠΡΠ±Π΅Π»ΡΠ·Π²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ, ΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π»Π΅ΠΆΠ°ΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° EMF, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ» Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡ Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ
1Π‘:Enterprise Development Tools Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡΠΎ ΡΠ°ΠΌΠΈΡ EMF, ΡΠ°ΠΊΠ° ΠΈ ΡΠ΅Π΄ΠΈΡΠ° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° Eclipse. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, Xtext Π΅ Π΅Π΄Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°ΠΊΠΈΠ²Π° 1C:Enterprise Π΅Π·ΠΈΡΠΈ ΠΊΠ°ΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ Π΅Π·ΠΈΠΊ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΡΠ³Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Eclipse Handly, Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ΅ΠΌ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ (ΠΎΡ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° 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Π³
Π ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΌΠΈΡΡΠ» ΠΏΡΠΎΠ΅ΠΊΡΡΡ Handly Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°ΡΠΎ EMF, Π½ΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ, ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ (Ρ.Π΅. ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅). Π‘Π»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Handly:
- ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ.
- ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΈΠ»ΠΈΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ ΡΡΠ΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄.
- ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ API Π½Π° ΠΌΠ΅ΡΠ°-Π½ΠΈΠ²ΠΎ ΠΊΡΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠΈ IDE ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ.
- ΠΡΠ²ΠΊΠ°Π²ΠΎΡΡ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ.
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Xtext (Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ»ΠΎΠΉ).
ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°ΡΡ ΠΎΠ±ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ, Π±ΡΡ Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ Π±Π°Π·ΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Handly, ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° Π€ΠΈΠ³ΡΡΠ° 8-XNUMX. XNUMX.
ΠΡΠΈΠ·. 8. ΠΠ±ΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Handly Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ IElement ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΈ Π΅ ΠΎΠ±Ρ Π·Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Handly ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΈΡΡ ΠΊΠ»Π°Ρ Element ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΎΠ±Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π΄ΡΡΠΆΠΊΠ°/ΡΡΠ»ΠΎ (Π€ΠΈΠ³ΡΡΠ° 9).
ΠΡΠΈΠ·. 9. ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄ΡΡΠΆΠΊΠ°/ΡΡΠ»ΠΎ
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Handly ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° (ΡΠΈΠ³. 10). ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΠΎΠΉ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Π½Π΅, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Java, ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° IElementDelta, Π·Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΡΠΈΠ·. 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 Π½Π° ΠΌΠΎΠ΄Π΅Π»Π°. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ Π²
ΠΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Handly Π½Π΅ Π½Π°Π»Π°Π³Π° ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡ
Ρ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π·ΠΈΡΠΈ Ρ ΠΎΠ±ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π΅Π·ΠΈΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΡΠ°ΠΉΠ», Handly Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ²Π° Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΠΎΡΠΌΠ° Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° AST ΠΈ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΄ΠΎΡΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΈΡ AST, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. Π Π½Π°ΠΊΡΠ°Ρ, Handly ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠ»Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Eclipse, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° ΡΠΈ Ρ
Π‘Π΅Π³Π°ΡΠ½Π° Π²Π΅ΡΡΠΈΡ
ΠΠ°ΠΊΡΠΎ Π±Π΅ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ Π΅ 1C:Enterprise Development Tools, ΠΊΡΠ΄Π΅ΡΠΎ Handly ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° 1C:Enterprise Π΅Π·ΠΈΡΠΈ ΠΊΠ°ΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ Π΅Π·ΠΈΠΊ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΡΠ³ ΠΏΡΠΎΠ΄ΡΠΊΡ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π° ΡΠΈΡΠΎΠΊΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°. Π’ΠΎΠ²Π°
ΠΠ°Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡ 1.0 Ρ Π³Π°ΡΠ°Π½ΡΠΈΡ Π·Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ Π½Π° API ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΠΊΡΠ±Π°ΡΠΈΡ, Handly ΡΠ΅ ΠΈΠΌΠ° ΠΈ Π½ΠΎΠ²ΠΈ ΠΎΡΠΈΠ½ΠΎΠ²ΠΈΡΠ΅Π»ΠΈ. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ΡΡΠ²Π° ΠΈ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ API Ρ Π΄Π²Π΅ βΠ³ΠΎΠ»Π΅ΠΌΠΈβ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ, ΠΏΡΠ΅Π· ΡΠ½ΠΈ (ΡΡΡΠ°ΡΠ° Π΄Π°ΡΠ° ΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Eclipse) ΠΈ Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌ Π³ΡΠ°ΡΠΈΠΊ, Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ½ΠΎΠ²ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π·ΡΠΈΡΠ°Ρ. ΠΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ, ΡΠ΅ βΠΏΡΠΎΡΠ΅Π½ΡΡΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈβ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΡΠ°Π²Π° Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ Handly ΡΠ°Π±ΠΎΡΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅ Π½Π° ΡΠ°Π½Π½ΠΈΡΠ΅ ΠΎΡΠΈΠ½ΠΎΠ²ΠΈΡΠ΅Π»ΠΈ ΠΎΡΠ΅ ΠΎΡ ΠΏΡΡΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΠ° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Ρ Eclipse Handly ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com