ãããã ç¹å¥ãªç޹ä»ã¯äžèŠã«ãªã£ãŠä¹ ããã§ãã Eclipse Java éçºããŒã« (ïŒã ã»ãšãã©ã®éçºè ããEclipseããšããèšèãã飿³ããã®ã¯ããã®äººæ°ã®ãããªãŒãã³ãœãŒã¹ Java IDE ã§ãã ãã ããEclipse ã¯ãéçºããŒã«ãçµ±åããããã®æ¡åŒµå¯èœãªãã©ãããã©ãŒã (Eclipse ãã©ãããã©ãŒã ) ã§ãããJDT ãªã©ããã®ããŒã¹ã«åºã¥ããŠæ§ç¯ããã倿°ã® IDE ã§ããããŸãã Eclipse ã¯ãEclipse ãã©ãããã©ãŒã ãš JDT ã®éçºã調æŽãããããã¬ãã«ã®ãããžã§ã¯ãã§ãã Eclipse ãããžã§ã¯ããšããã®éçºã®ææç©ã§ãã Eclipse SDK ã®äž¡æ¹ã§ãã æåŸã«ãEclipse ã¯ãããžã§ã¯ãã®å·šå€§ãªã³ãã¥ããã£ãæã€ãªãŒãã³ãœãŒã¹ã®è²¡å£ã§ããããã®ãã¹ãŠã Java ã§æžãããŠããããã§ã¯ãªããéçºããŒã« (ãããžã§ã¯ããªã©) ã«é¢é£ããŠããããã§ã¯ãããŸããã О ïŒã Eclipse ã®äžçã¯éåžžã«å€æ§ã§ãã
ãã®èšäºã¯æ¬è³ªçã«æŠèŠã§ãããçµ±åéçºããŒã«ãæ§ç¯ããããã®ãã©ãããã©ãŒã ãšããŠã® Eclipse ã¢ãŒããã¯ãã£ã®åºæ¬ã®ããã€ããæ€èšãããã¯ãããžãŒã®åºç€ã圢æãã Eclipse ã³ã³ããŒãã³ãã®æåã®ã¢ã€ãã¢ã瀺ããŸãã ãæ°ããã³ã³ãã£ã®ã¥ã¬ãŒã¿ãŒãã®ãã©ãããã©ãŒã 1C: Enterpriseã ã ãã¡ããã察象èªè
ãšã㊠Eclipse éçºè
ã®ã¿ã«çŠç¹ãåœãŠãŠããããã§ã¯ãªãããšãå«ãããã®ãããªã¬ãã¥ãŒã¯å¿
ç¶çã«å€§éšåã衚é¢çã§ããªãéå®çãªãã®ã«ãªãã§ãããã ãã ããçµéšè±å¯ãª Eclipse éçºè
ã§ãã£ãŠãããã®èšäºã§è峿·±ãæ
å ±ãèŠã€ããããšãã§ããããšãé¡ã£ãŠããŸãã ããšãã°ãæ¯èŒçæ°ãããããŸãç¥ãããŠããªããããžã§ã¯ãã§ãããEclipse ã®ç§å¯ãã® XNUMX ã€ã«ã€ããŠèª¬æããŸãã ã1Cã«ãã£ãŠèšç«ããããµããŒããããŠããŸãã

Eclipse ã¢ãŒããã¯ãã£ã®æŠèŠ
ãŸããäŸã䜿çšã㊠Eclipse ã¢ãŒããã¯ãã£ã®äžè¬çãªåŽé¢ãããã€ãèŠãŠã¿ãŸãããã (JDT)ã äŸãšã㊠JDT ãéžæããã®ã¯å¶ç¶ã§ã¯ãããŸããã ããã¯ãEclipse ã«ç»å Žããæåã®çµ±åéçºç°å¢ã§ãã Eclipse C/C++ Development Tooling (CDT) ãªã©ã®ä»ã® *DT Eclipse ãããžã§ã¯ãã¯åŸã«äœæãããåºæ¬çãªã¢ãŒããã¯ãã£ååãšåã ã®ãœãŒã¹ ã³ãŒã ãã©ã°ã¡ã³ãã®äž¡æ¹ã JDT ããåçšããŠããŸãã JDT ã§å®ããããã¢ãŒããã¯ãã£ã®åºæ¬ã¯ã1C:Enterprise Development Tools ãå«ããEclipse ãã©ãããã©ãŒã äžã«æ§ç¯ãããã»ãŒãã¹ãŠã® IDE ã«ä»æ¥ã§ãé¢é£ããŠããŸãã
ãŸã第äžã«ãEclipse ã¯ãç¹å®ã®ããã°ã©ãã³ã°èšèªããµããŒãããããã«èšèšãããæ©èœããèšèªã«äŸåããªãæ©èœãåé¢ãããUI ã«äŸåããªããã³ã¢ãã³ã³ããŒãã³ããé¢é£ããã³ã³ããŒãã³ãããåé¢ããããããªãæç¢ºãªã¢ãŒããã¯ãã£ã®éå±€æ§é ã«ãã£ãŠç¹åŸŽã¥ããããããšã«æ³šæããå¿ èŠããããŸãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ããµããŒãããŸãã
ãããã£ãŠãEclipse ãã©ãããã©ãŒã ã¯èšèªã«äŸåããªãå ±éã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå®çŸ©ããJava éçºããŒã«ã¯ãã«æ©èœã® Java IDE ã Eclipse ã«è¿œå ããŸãã Eclipse ãã©ãããã©ãŒã ãš JDT ã¯ã©ã¡ããããã€ãã®ã³ã³ããŒãã³ãã§æ§æãããŠãããããããã UI ã«äŸåããªããã³ã¢ããŸã㯠UI ã¬ã€ã€ãŒã«å±ããŸã (å³ 1)ã

ç±³ã 1. Eclipseãã©ãããã©ãŒã ãšJDT
Eclipse ãã©ãããã©ãŒã ã®äž»ãªã³ã³ããŒãã³ãããªã¹ãããŠã¿ãŸãããã
- ã©ã³ã¿ã€ã â ãã©ã°ã€ã³ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãå®çŸ©ããŸãã Eclipse ã¯ã¢ãžã¥ãŒã«åŒã¢ãŒããã¯ãã£ãŒãç¹åŸŽãšããŠããŸãã åºæ¬çã«ãEclipse ã¯ãæ¡åŒµãã€ã³ãããšãæ¡åŒµæ©èœãã®ã³ã¬ã¯ã·ã§ã³ã§ãã
- â XNUMX ã€ä»¥äžã®ãããžã§ã¯ãã管çããŸãã ãããžã§ã¯ãã¯ããã¡ã€ã« ã·ã¹ãã ã«çŽæ¥ãããããããã©ã«ããŒãšãã¡ã€ã«ã§æ§æãããŸãã
- æšæºãŠã£ãžã§ãã ããŒã«ããã (SWT) - ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãšçµ±åãããåºæ¬çãªãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹èŠçŽ ãæäŸããŸãã
- ãžã§ã€ãã§ã€ã¹ â SWT äžã«æ§ç¯ããã倿°ã® UI ãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãã
- ã¯ãŒã¯ãã³ã â Eclipse UI ãã©ãã€ã (ãšãã£ã¿ãŒããã¥ãŒãããŒã¹ãã¯ãã£ã) ãå®çŸ©ããŸãã
Eclipse ãã©ãããã©ãŒã ã¯ããããã°ãæ¯èŒãæ€çŽ¢ãããŒã ãªã©ãçµ±åéçºããŒã«ãæ§ç¯ããããã®ä»ã®å€ãã®äŸ¿å©ãªã³ã³ããŒãã³ããæäŸããŠãããšèšããªããã°ãªããŸããã ãœãŒã¹ ã³ãŒãã®ãã¹ããŒã ãšãã£ã¿ãŒããæ§ç¯ããããã®åºç€ã§ãã JFace Text ã«ã€ããŠã¯ãç¹ã«èšåããå¿ èŠããããŸãã æ®å¿µãªããããã®èšäºã®ç¯å²å ã§ã¯ããããã®ã³ã³ããŒãã³ãã UI ã¬ã€ã€ãŒ ã³ã³ããŒãã³ãããã£ãšèª¿ã¹ãããšããã§ããŸããããã®ããããã®ã»ã¯ã·ã§ã³ã®æ®ãã®éšåã§ã¯ãUI ã¬ã€ã€ãŒ ã³ã³ããŒãã³ãã®äž»èŠãªãã³ã¢ãã³ã³ããŒãã³ãã®æŠèŠã«éå®ããŠèª¬æããŸãã Eclipse ãã©ãããã©ãŒã ãš JDTã
ã³ã¢ã©ã³ã¿ã€ã
Eclipse ãã©ã°ã€ã³ ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ä»¥äžã«åºã¥ããŠããŸãã ãããŠãããžã§ã¯ãã«ãã£ãŠæäŸããã ã å Eclipse ãã©ã°ã€ã³ã¯ OSGi ãã³ãã«ã§ãã OSGi 仿§ã§ã¯ãç¹ã«ãããŒãžã§ã³ç®¡çãšäŸåé¢ä¿ã®è§£æ±ºã®ã¡ã«ããºã ãå®çŸ©ãããŠããŸãã ãããã®æšæºã¡ã«ããºã ã«å ããŠãEquinox ã§ã¯æ¬¡ã®æŠå¿µãå°å ¥ãããŠããŸãã æ¡åŒµãã€ã³ãã åãã©ã°ã€ã³ã¯ç¬èªã®æ¡åŒµãã€ã³ããå®çŸ©ã§ããåããŸãã¯ä»ã®ãã©ã°ã€ã³ã«ãã£ãŠå®çŸ©ãããæ¡åŒµãã€ã³ãã䜿çšããŠã·ã¹ãã ã«è¿œå æ©èœ (ãæ¡åŒµæ©èœã) ãå°å ¥ããããšãã§ããŸãã OSGi ããã³ Equinox ã¡ã«ããºã ã®è©³çްãªèª¬æã¯ããã®èšäºã®ç¯å²ãè¶ ããŠããŸãã Eclipse ã®ã¢ãžã¥ãŒã«åã¯å®å šãªãã®ã§ãã (ã©ã³ã¿ã€ã ãå«ããµãã·ã¹ãã 㯠XNUMX ã€ä»¥äžã®ãã©ã°ã€ã³ã§æ§æãããŸã)ãEclipse ã®ã»ãŒãã¹ãŠãæ¡åŒµæ©èœã§ããããšã«æ³šæããŠãã ããã ããã«ããããã®ååã¯ãOSGi ãå°å ¥ããããã£ãšåã« Eclipse ã¢ãŒããã¯ãã£ã«çµã¿èŸŒãŸããŠããŸãã (åœæãOSGi ã«ãã䌌ãç¬èªã®ãã¯ãããžã䜿çšãããŠããŸãã)ã
ã³ã¢ã¯ãŒã¯ã¹ããŒã¹
Eclipse ãã©ãããã©ãŒã äžã«æ§ç¯ãããã»ãŒãã¹ãŠã®çµ±åéçºç°å¢ã¯ãEclipse ã¯ãŒã¯ã¹ããŒã¹ã§åäœããŸãã éåžžãIDE ã§éçºãããã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ ã³ãŒããå«ãŸããã¯ãŒã¯ã¹ããŒã¹ã§ãã ã¯ãŒã¯ã¹ããŒã¹ã¯ãã¡ã€ã« ã·ã¹ãã ã«çŽæ¥ãããããããã©ã«ããŒãšãã¡ã€ã«ãå«ããããžã§ã¯ãã§æ§æãããŸãã ãããã®ãããžã§ã¯ãããã©ã«ããŒããã¡ã€ã«ã¯æ¬¡ã®ããã«åŒã°ããŸãã è³æº ã¯ãŒã¯ã¹ããŒã¹ã Eclipse ã®ã¯ãŒã¯ã¹ããŒã¹å®è£ ã¯ããã¡ã€ã« ã·ã¹ãã ã«é¢é£ãããã£ãã·ã¥ãšããŠæ©èœããããããªãœãŒã¹ ããªãŒã®ãã©ããŒã¹ãå€§å¹ ã«é«éåã§ããŸãã ããã«ãã¯ãŒã¯ã¹ããŒã¹ã¯ã次ã®ãããªå€ãã®è¿œå ãµãŒãã¹ãæäŸããŸãã О .
Core Resources ã³ã³ããŒãã³ã (org.eclipse.core.resources ãã©ã°ã€ã³) ã¯ãã¯ãŒã¯ã¹ããŒã¹ãšãã®ãªãœãŒã¹ã®ãµããŒããæ åœããŸãã ç¹ã«ããã®ã³ã³ããŒãã³ãã¯ã次ã®åœ¢åŒã§ã¯ãŒã¯ã¹ããŒã¹ãžã®ããã°ã©ã ã«ããã¢ã¯ã»ã¹ãæäŸããŸãã ãªãœãŒã¹ã¢ãã«ã ãã®ã¢ãã«ã广çã«äœ¿çšããã«ã¯ãã¯ã©ã€ã¢ã³ãã¯ãªãœãŒã¹ãžã®ãªã³ã¯ãæç€ºããç°¡åãªæ¹æ³ãå¿ èŠã§ãã ãã®å Žåãã¢ãã«å ã®ãªãœãŒã¹ã®ç¶æ ãçŽæ¥ä¿åãããªããžã§ã¯ããã¯ã©ã€ã¢ã³ã ã¢ã¯ã»ã¹ããé ãããšãæãŸããã§ãããã ããããªããšãããšãã°ãã¡ã€ã«ãåé€ããå Žåãã¯ã©ã€ã¢ã³ãã¯ã¢ãã«å ã«ååšããªããªããžã§ã¯ããä¿æãç¶ããå¯èœæ§ãããããã®åŸåé¡ãçºçããŸãã Eclipse ã¯ããšåŒã°ãããã®ã䜿çšããŠãã®åé¡ã解決ããŸãã ãã³ãã« ãªãœãŒã¹ã ãã³ãã«ã¯ããŒãšããŠæ©èœã (ã¯ãŒã¯ã¹ããŒã¹å ã®ãªãœãŒã¹ãžã®ãã¹ã®ã¿ãç¥ã£ãŠããŸã)ããªãœãŒã¹ã®ç¶æ ã«é¢ããæ å ±ãçŽæ¥ä¿åããå éšã¢ãã« ãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãå®å šã«å¶åŸ¡ããŸãã ãã®ãã¶ã€ã³ã¯ãã¿ãŒã³ã®ããªãšãŒã·ã§ã³ã§ã .
ç±³ã å³ 2 ã¯ããªãœãŒã¹ ã¢ãã«ã«é©çšããããã³ãã«/ãã㣠ã€ãã£ãªã ã瀺ããŠããŸãã IResource ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãªãœãŒã¹ã®ãã³ãã«ã衚ããAPI ã§ã¯ãããŸãããããã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ãã Resource ã¯ã©ã¹ãæ¬äœã衚ã ResourceInfo ã¯ã©ã¹ãšã¯ç°ãªããAPI ã§ãã ãã³ãã«ã¯ã¯ãŒã¯ã¹ããŒã¹ ã«ãŒããåºæºãšãããªãœãŒã¹ãžã®ãã¹ã®ã¿ãèªèããŠããããªãœãŒã¹æ å ±ãžã®ãªã³ã¯ã¯å«ãŸããŠããªãããšã匷調ããŸãã ãªãœãŒã¹æ å ±ãªããžã§ã¯ãã¯ããããããèŠçŽ ããªãŒãã圢æããŸãã ãã®ããŒã¿æ§é ã¯å®å šã«ã¡ã¢ãªå ã«å ·äœåãããŸãã ãã³ãã«ã«å¯Ÿå¿ãããªãœãŒã¹æ å ±ã€ã³ã¹ã¿ã³ã¹ãèŠã€ããã«ã¯ããã®ãã³ãã«ã«æ ŒçŽãããŠãããã¹ã«åŸã£ãŠèŠçŽ ããªãŒããã©ããŸãã

ç±³ã 2. IResource ãš ResourceInfo
åŸã§èª¬æããããã«ããªãœãŒã¹ ã¢ãã«ã®åºæ¬èšèš (ãã³ãã«ããŒã¹ãšåŒã¶ããšãã§ããŸã) ã¯ãEclipse ã®ä»ã®ã¢ãã«ã«ã䜿çšãããŸãã ããã§ã¯ããã®èšèšã®ç¹åŸŽçãªç¹æ§ãããã€ãæããŠã¿ãŸãããã
- ãã³ãã«ã¯å€ãªããžã§ã¯ãã§ãã å€ãªããžã§ã¯ãã¯ããã®ç䟡æ§ãã¢ã€ãã³ãã£ãã£ã«åºã¥ããŠããªãäžå€ãªããžã§ã¯ãã§ãã ãã®ãããªãªããžã§ã¯ãã¯ãããã·ã¥ãããã³ã³ãããŒã®ããŒãšããŠå®å šã«äœ¿çšã§ããŸãã ãã³ãã«ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ãåããªãœãŒã¹ãåç §ã§ããŸãã ããããæ¯èŒããã«ã¯ãequals(Object) ã¡ãœããã䜿çšããå¿ èŠããããŸãã
- ãã³ãã«ã¯ãªãœãŒã¹ã®åäœãå®çŸ©ããŸããããªãœãŒã¹ã®ç¶æ ã«é¢ããæ å ±ã¯å«ãŸããŸãã (ãã³ãã«ã«æ ŒçŽãããå¯äžã®ããŒã¿ã¯ããªãœãŒã¹ãžã®ãã¹ã§ãããããŒãã§ã)ã
- ãã³ãã«ã¯ãååšããªããªãœãŒã¹ (ãŸã äœæãããŠããªããªãœãŒã¹ããŸãã¯ãã§ã«åé€ããããªãœãŒã¹) ãåç §ããŠããå¯èœæ§ããããŸãã ãªãœãŒã¹ã®ååšã¯ãIResource.exists() ã¡ãœããã䜿çšããŠç¢ºèªã§ããŸãã
- äžéšã®æäœã¯ããã³ãã«èªäœã«ä¿åãããŠããæ å ±ã®ã¿ã«åºã¥ããŠå®è£ ã§ããŸã (ãããããã³ãã«å°çšæäœ)ã äŸãšããŠã¯ãIResource.getParent()ãgetFullPath() ãªã©ããããŸãã ãã®ãããªæäœãæåãããããã«ããªãœãŒã¹ãååšããå¿ èŠã¯ãããŸããã æåããããã«ãªãœãŒã¹ãååšããå¿ èŠãããæäœã¯ããªãœãŒã¹ãååšããªãå Žåã« CoreException ãã¹ããŒããŸãã
Eclipse ã¯ãã¯ãŒã¯ã¹ããŒã¹ ãªãœãŒã¹ã®å€æŽãéç¥ããããã®å¹ççãªã¡ã«ããºã ãæäŸããŸã (å³ 3)ã ãªãœãŒã¹ã¯ãEclipse IDE èªäœå ã§å®è¡ãããã¢ã¯ã·ã§ã³ã®çµæãšããŠããŸãã¯ãã¡ã€ã« ã·ã¹ãã ãšã®åæã®çµæãšããŠå€æŽãããå¯èœæ§ããããŸãã ã©ã¡ãã®å Žåããéç¥ã賌èªããŠããã¯ã©ã€ã¢ã³ãã«ã¯ã倿Žã«é¢ãã詳现æ å ±ãããªãœãŒã¹ ãã«ã¿ãã®åœ¢åŒã§æäŸãããŸãã ãã«ã¿ã¯ãã¯ãŒã¯ã¹ããŒã¹ ãªãœãŒã¹ (ãµã) ããªãŒã® XNUMX ã€ã®ç¶æ éã®å€æŽãèšè¿°ããããèªäœãããªãŒã§ããåããŒãã¯ãªãœãŒã¹ãžã®å€æŽãèšè¿°ããåãªãœãŒã¹ãžã®å€æŽãèšè¿°ããæ¬¡ã®ã¬ãã«ã®ãã«ã¿ã®ãªã¹ããå«ã¿ãŸãã

ç±³ã 3. IResourceChangeEvent ãš IResourceDelta
ãªãœãŒã¹ ãã«ã¿ã«åºã¥ãéç¥ã¡ã«ããºã ã«ã¯æ¬¡ã®ç¹åŸŽããããŸãã
- ãã«ã¿ã¯ååž°çåæã®åçã䜿çšããŠæ§ç¯ããããããåäžã®å€æŽãšå€æ°ã®å€æŽã¯åãæ§é ã䜿çšããŠèšè¿°ãããŸãã ãµãã¹ã¯ã©ã€ã ã¯ã©ã€ã¢ã³ãã¯ããã«ã¿ã®ããªãŒãä»ããååž°éäžã䜿çšããŠãªãœãŒã¹å€æŽéç¥ãåŠçã§ããŸãã
- ãã«ã¿ã«ã¯ããªãœãŒã¹ã®ç§»åãããã«é¢é£ä»ãããããããŒã«ãŒãã®å€æŽ (ããšãã°ãã³ã³ãã€ã« ãšã©ãŒã¯ããŒã«ãŒãšããŠè¡šãããŸã) ãªã©ããªãœãŒã¹ãžã®å€æŽã«é¢ããå®å šãªæ å ±ãå«ãŸããŠããŸãã
- ãªãœãŒã¹åç §ã¯ãã³ãã«ãéããŠè¡ããããããdelta ã¯ãªã¢ãŒã ãªãœãŒã¹ãèªç¶ã«åç §ã§ããŸãã
ããã«ãããããã«ããªãœãŒã¹ ã¢ãã«å€æŽéç¥ã¡ã«ããºã ã®èšèšã®äž»èŠã³ã³ããŒãã³ãã¯ãä»ã®ãã³ãã«ããŒã¹ã®ã¢ãã«ã«ãé¢é£ããŸãã
JDTã³ã¢
Eclipse ã¯ãŒã¯ã¹ããŒã¹ ãªãœãŒã¹ ã¢ãã«ã¯ãèšèªã«äŸåããªãåºæ¬çãªã¢ãã«ã§ãã JDT ã³ã¢ ã³ã³ããŒãã³ã (ãã©ã°ã€ã³ org.eclipse.jdt.core) ã¯ãJava ã®èгç¹ããã¯ãŒã¯ã¹ããŒã¹æ§é ãããã²ãŒãããã³åæããããã® APIããããããJava ã¢ãã«ã(Javaã¢ãã«ïŒã ãã® API ã¯ããã©ã«ããŒãšãã¡ã€ã«ã®èгç¹ããå®çŸ©ãããåºç€ãšãªããªãœãŒã¹ ã¢ãã« API ãšã¯å¯Ÿç §çã«ãJava èŠçŽ ã®èгç¹ããå®çŸ©ãããŸãã Java èŠçŽ ããªãŒã®äž»ãªã€ã³ã¿ãŒãã§ã€ã¹ãå³ã«ç€ºããŸãã 4.

ç±³ã 4. Java ã¢ãã«èŠçŽ
Java ã¢ãã«ã¯ããªãœãŒã¹ ã¢ãã«ãšåããã³ãã«/ãã㣠ã€ãã£ãªã ã䜿çšããŸã (å³ 5)ã IJavaElement ã¯ãã³ãã«ã§ãããJavaElementInfo ã¯æ¬äœã®åœ¹å²ãæãããŸãã IJavaElement ã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã¹ãŠã® Java èŠçŽ ã«å ±éã®ãããã³ã«ãå®çŸ©ããŸãã ãã®ã¡ãœããã®äžéšã¯ãã³ãã«å°çšã§ã: getElementName()ãgetParent() ãªã©ã JavaElementInfo ãªããžã§ã¯ãã«ã¯ã察å¿ããèŠçŽ ã®ç¶æ ãã€ãŸããã®æ§é ãšå±æ§ãæ ŒçŽãããŸãã

ç±³ã 5. IJavaElement ãš JavaElementInfo
Java ã¢ãã«ã«ã¯ããªãœãŒã¹ ã¢ãã«ãšæ¯èŒããŠãåºæ¬çãªãã³ãã«/ããã£èšèšã®å®è£ ã«ããã€ãã®éãããããŸãã äžã§è¿°ã¹ãããã«ããªãœãŒã¹ ã¢ãã«ã§ã¯ãããŒãããªãœãŒã¹æ å ±ãªããžã§ã¯ãã§ããèŠçŽ ããªãŒã¯å®å šã«ã¡ã¢ãªå ã«å«ãŸããŸãã ãã ããJava ã¢ãã«ã¯ã.java ããã³ .class ãã¡ã€ã«ã®å éšæ§é (åããã£ãŒã«ããã¡ãœãã) ã衚ãããããªãœãŒã¹ ããªãŒãããã¯ããã«å€ãã®èŠçŽ ãå«ããããšãã§ããŸãã
ã¡ã¢ãªå ã®èŠçŽ ã®ããªãŒå šäœãå®å šã«å ·äœåãããããšãé¿ããããã«ãJava ã¢ãã«ã®å®è£ ã§ã¯ãèŠçŽ æ å ±ã®å¶éããããµã€ãºã® LRU ãã£ãã·ã¥ã䜿çšãããŸããããã§ãããŒã¯ãã³ãã« IJavaElement ã§ãã èŠçŽ æ å ±ãªããžã§ã¯ãã¯ãèŠçŽ ããªãŒãããã²ãŒãããããšãã«ãªã³ããã³ãã§äœæãããŸãã ãã®å Žåãæã䜿çšé »åºŠã®äœãé ç®ããã£ãã·ã¥ããåé€ãããã¢ãã«ã®ã¡ã¢ãªæ¶è²»éã¯æå®ããããã£ãã·ã¥ ãµã€ãºã«å¶éããããŸãŸã«ãªããŸãã ããã¯ãã³ãã«ããŒã¹ã®èšèšã®ãã XNUMX ã€ã®å©ç¹ã§ããããã®ãããªå®è£ ã®è©³çްãã¯ã©ã€ã¢ã³ã ã³ãŒãããå®å šã«é èœãããŸãã
Java èŠçŽ ãžã®å€æŽãéç¥ããã¡ã«ããºã ã¯ãäžè¬ã«ãäžã§èª¬æããã¯ãŒã¯ã¹ããŒã¹ ãªãœãŒã¹ãžã®å€æŽã远跡ããã¡ã«ããºã ãšäŒŒãŠããŸãã Java ã¢ãã«ã®å€æŽãç£èŠãããã¯ã©ã€ã¢ã³ãã¯ãIJavaElementDelta ãå«ã ElementChangedEvent ãªããžã§ã¯ããšããŠè¡šãããéç¥ããµãã¹ã¯ã©ã€ãããŸã (å³ 6)ã

ç±³ã 6. ElementChangedEvent ãš IJavaElementDelta
Java ã¢ãã«ã«ã¯ã¡ãœããæ¬äœãåå解決ã«é¢ããæ å ±ãå«ãŸããŠããªããããJava ã§èšè¿°ãããã³ãŒãã®è©³çްãªåæã®ããã«ãJDT ã³ã¢ã¯è¿œå ã® (ãã³ãã«ããŒã¹ã§ã¯ãªã) ã¢ãã«ãæäŸããŸãã (æœè±¡æ§æããªãŒãAST)ã AST ã¯ãœãŒã¹ããã¹ããè§£æããçµæã衚ããŸãã AST ããŒãã¯ããœãŒã¹ ã¢ãžã¥ãŒã«ã®æ§é ã®èŠçŽ (宣èšãæŒç®åãåŒãªã©) ã«å¯Ÿå¿ãããœãŒã¹ ããã¹ãå ã®å¯Ÿå¿ããèŠçŽ ã®åº§æšã«é¢ããæ å ±ãšã(ãªãã·ã§ã³ãšããŠ) åå解決ã«é¢ããæ å ±ãå«ãŸããŠããŸãããããããžã®ãªã³ã¯ã®åœ¢åŒ ãã€ã³ãã£ã³ã°ã ãã€ã³ãã£ã³ã°ã¯ãã³ã³ãã€ã©ã«èªèããããåãã¡ãœããã倿°ãªã©ã®ååä»ããšã³ãã£ãã£ã衚ããªããžã§ã¯ãã§ãã ããªãŒã圢æãã AST ããŒããšã¯ç°ãªãããã€ã³ãã£ã³ã°ã¯çžäºåç §ããµããŒãããéåžžã¯ã°ã©ãã圢æããŸãã æœè±¡ã¯ã©ã¹ ASTNode ã¯ããã¹ãŠã® AST ããŒãã®å ±éã®åºæ¬ã¯ã©ã¹ã§ãã ASTNode ãµãã¯ã©ã¹ã¯ãJava èšèªã®ç¹å®ã®æ§ææ§é ã«å¯Ÿå¿ããŸãã
æ§æããªãŒã¯å€§éã®ã¡ã¢ãªãæ¶è²»ããå¯èœæ§ããããããJDT ã¯ã¢ã¯ãã£ããªãšãã£ã¿ã«å¯Ÿã㊠XNUMX ã€ã® AST ã®ã¿ããã£ãã·ã¥ããŸãã Java ã¢ãã«ãšã¯ç°ãªããAST ã¯éåžžããäžéãã®ãäžæçãªãã¢ãã«ãšã¿ãªããããã®ã¡ã³ããŒã¯ãAST ã®äœæã«ã€ãªãã£ãæäœã®ã³ã³ããã¹ãå€ã§ã¯ã©ã€ã¢ã³ãã«ãã£ãŠåç §ãããã¹ãã§ã¯ãããŸããã
ãªã¹ããããŠãã XNUMX ã€ã®ã¢ãã« (Java ã¢ãã«ãASTããã€ã³ãã£ã³ã°) ã¯ãJDT ã§ãã€ã³ããªãžã§ã³ããªéçºããŒã«ããæ§ç¯ããããã®åºç€ã圢æããŸããããã«ã¯ãããŸããŸãªããã«ããŒããåãã匷å㪠Java ãšãã£ã¿ããœãŒã¹ ã³ãŒããåŠçããããã®ããŸããŸãªã¢ã¯ã·ã§ã³ (ã€ã³ããŒã ãªã¹ãã®æŽçãªã©) ãå«ãŸããŸããã«ã¹ã¿ãã€ãºãããã¹ã¿ã€ã«ã«åŸã£ãååãšæžåŒèšå®)ãæ€çŽ¢ããã³ãªãã¡ã¯ã¿ãªã³ã° ããŒã«ã ãã®å ŽåãJava ã¢ãã«ã¯ãéçºäžã®ã¢ããªã±ãŒã·ã§ã³ã®æ§é ãèŠèŠçã«è¡šçŸããããã®åºç€ãšããŠäœ¿çšããããããç¹å¥ãªåœ¹å²ãæãããŸã (ããšãã°ãããã±ãŒãž ãšã¯ã¹ãããŒã©ãŒãã¢ãŠãã©ã€ã³ãæ€çŽ¢ãåŒã³åºãéå±€ãªã©)ãã¿ã€ãéå±€)ã
1C:Enterprise Developments Tools ã§äœ¿çšããã Eclipse ã³ã³ããŒãã³ã
å³ã§ã¯ã å³ 7 ã¯ã1C:Enterprise Development Tools ã®ãã¯ãããžãŒ ãã©ãããã©ãŒã ã®åºç€ã圢æãã Eclipse ã³ã³ããŒãã³ãã瀺ããŠããŸãã

ç±³ã 7. 1C:ãšã³ã¿ãŒãã©ã€ãºéçºããŒã«ã®ãã©ãããã©ãŒã ãšããŠã® Eclipse
ãšã¯ãªãã¹ãã©ãããã©ãŒã åºæ¬çãªã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸããŸãã åã®ã»ã¯ã·ã§ã³ã§ã¯ããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ããã€ãã®åŽé¢ã«ã€ããŠèª¬æããŸããã
(EMF) ã¯ãæ§é åããŒã¿ãã¢ãã«åããäžè¬çãªææ®µãæäŸããŸãã EMF 㯠Eclipse ãã©ãããã©ãŒã ã«çµ±åãããŠããŸãããéåžžã® Java ã¢ããªã±ãŒã·ã§ã³ã§åå¥ã«äœ¿çšããããšãã§ããŸãã å€ãã®å Žåãæ°ãã Eclipse éçºè ã¯ãEclipse ãã©ãããã©ãŒã ã®è€éãããŸã å®å šã«ã¯çè§£ããŠããŸãããããã§ã« EMF ã«ç²ŸéããŠããŸãã ãã®ãããªåœç¶ã®äººæ°ã®çç±ã® XNUMX ã€ã¯ããŠãããŒãµã« ãã¶ã€ã³ã§ããããã«ã¯ãç¹ã«ãçµ±åãããã¡ã¿ã¬ãã« API ãå«ãŸããŠãããããã«ãããäžè¬çãªæ¹æ³ã§ãããã EMF ã¢ãã«ãæäœã§ããŸãã EMF ãæäŸããã¢ãã« ãªããžã§ã¯ãã®åºæ¬å®è£ ãšãã¡ã¿ã¢ãã«ã«åºã¥ããŠã¢ãã« ã³ãŒããçæãããµãã·ã¹ãã ã«ãããéçºé床ãå€§å¹ ã«åäžãããšã©ãŒã®æ°ãæžå°ããŸãã EMF ã«ã¯ãã¢ãã«ã®ã·ãªã¢ã«åãã¢ãã«ãžã®å€æŽã®è¿œè·¡ãªã©ã®ããã®ã¡ã«ããºã ãå«ãŸããŠããŸãã
çã®æ±çšããŒã«ãšåæ§ã«ãEMF ã¯å¹ åºãã¢ããªã³ã°åé¡ã®è§£æ±ºã«é©ããŠããŸãããäžéšã®ã¯ã©ã¹ã®ã¢ãã« (ããšãã°ãäžã§èª¬æãããã³ãã«ããŒã¹ã®ã¢ãã«) ã§ã¯ãããç¹æ®ãªã¢ããªã³ã° ããŒã«ãå¿ èŠã«ãªãå ŽåããããŸãã EMF ã«ã€ããŠè©±ãããšã¯ãç¹ã« XNUMX ã€ã®èšäºã®éãããç¯å²å ã§ããããããä»äºã§ãããªããªããããã¯å¥ã®æ¬ã®äž»é¡ã§ãããããªãååãæ¬ã ããã§ãã EMF ã®åºç€ãšãªãäžè¬åã®è³ªã®é«ãã·ã¹ãã ã«ãããã¢ããªã³ã°ã«ç¹åããããŸããŸãªãããžã§ã¯ãã®èªçãå¯èœã«ãªãããããã¯ãããã¬ãã« ãããžã§ã¯ãã«å«ãŸããããšã«æ³šæããŠãã ããã EMFèªäœãåæ§ã§ãã ãã®ãããªãããžã§ã¯ãã® XNUMX ã€ã Eclipse Xtext ã§ãã
ãããã¹ã ã¢ããªã³ã°ãã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸããŸãã Xtext ã¯äœ¿çšããŸã ãœãŒã¹ ããã¹ããš EMF ãè§£æããŠçµæã® ASG (æœè±¡ã»ãã³ãã£ã㯠ã°ã©ããæ¬è³ªçã« AST ãšãã€ã³ãã£ã³ã°ã®çµã¿åãã) ã衚çŸããããã®ãã®ã§ããã»ãã³ãã£ã㯠ã¢ãã«ããšãåŒã°ããŸãã Xtext ã«ãã£ãŠã¢ãã«åãããèšèªã®ææ³ã¯ãXtext ç¬èªã®èšèªã§èšè¿°ãããŸãã ããã«ãããANTLR ã®ææ³èšè¿°ãçæã§ããã ãã§ãªããAST ã·ãªã¢ã«åã¡ã«ããºã (ã€ãŸããXtext ã¯ããŒãµãŒãšã¢ã³ããŒãµãŒã®äž¡æ¹ãæäŸããŸã)ãã³ã³ããã¹ã ãã³ããããã³ãã®ä»ã®å€æ°ã®èšèªã³ã³ããŒãã³ããååŸããããšãã§ããŸãã äžæ¹ãXtext ã§äœ¿çšãããææ³èšèªã¯ãããšãã° ANTLR ã§äœ¿çšãããææ³èšèªã»ã©æè»æ§ããããŸããã ãããã£ãŠãå®è£ ãããèšèªã Xtext ã«ãæ²ãããå¿ èŠãããå ŽåããããŸããããã¯ããŒãããéçºãããèšèªã«ã€ããŠè©±ããŠããå Žåã«ã¯éåžžåé¡ã«ãªããŸãããããã§ã«ç¢ºç«ãããæ§æãæã€èšèªã§ã¯åãå ¥ããããªãå ŽåããããŸãã ããã«ãããããããXtext ã¯çŸåšãããã°ã©ãã³ã°èšèªãšãã®éçºããŒã«ãæ§ç¯ããããã® Eclipse ã®äžã§æãæçããæ©èœãè±å¯ã§å€çšéãªããŒã«ã§ãã ç¹ã«ãã©ããããããã¿ã€ãã³ã°ã«æé©ãªããŒã«ã§ãã (ãã¡ã€ã³åºæèšèªãDSL)ã åè¿°ã® ANTLR ãš EMF ã«åºã¥ããèšèªã³ã¢ãã«å ããŠãXtext ã¯ãã€ã³ããã¯ã¹äœæã¡ã«ããºã ãå¢åæ§ç¯ããã¹ããŒã ãšãã£ã¿ãŒããªã©ãå«ãå€ãã®äŸ¿å©ãªé«ã¬ãã« ã³ã³ããŒãã³ããæäŸããŸããããã³ãã«ã¯çç¥ãããŠããŸããããŒã¹ã®èšèªã¢ãã«ã EMF ãšåæ§ã«ãXtext ãå¥ã®æ¬ã«å€ããäž»é¡ã§ãããçŸæç¹ã§ã¯ãã®ãã¹ãŠã®æ©èœã«ã€ããŠç°¡åã«è©±ãããšããã§ããŸããã
1C:ãšã³ã¿ãŒãã©ã€ãºéçºããŒã«ã¯ãEMF èªäœãšä»ã®å€ãã® Eclipse ã¢ããªã³ã° ãããžã§ã¯ãã®äž¡æ¹ãç©æ¥µçã«äœ¿çšããŸãã ç¹ã«ãXtext ã¯ãçµã¿èŸŒã¿ããã°ã©ãã³ã°èšèªãã¯ãšãªèšèªãªã©ã® 1C:Enterprise èšèªã®éçºããŒã«ã®åºç€ã® XNUMX ã€ã§ãã ãããã®éçºããŒã«ã®ãã XNUMX ã€ã®åºç€ã¯ãEclipse Handly ãããžã§ã¯ãã§ããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸã (ãªã¹ããããŠãã Eclipse ã³ã³ããŒãã³ãã®äžã§ããŸã æãç¥ãããŠããŸãã)ã
ã¯ãEclipse Technology ã®ãããã¬ãã« ãããžã§ã¯ãã®ãµããããžã§ã¯ãã§ããã1 幎㫠2014C ã«ãã£ãŠ Eclipse Foundation ã«è¡ãããæåã®ã³ãŒãå¯çš¿ã®çµæãšããŠèªçããŸããã ãã以æ¥ã1C ã¯ãããžã§ã¯ãã®éçºããµããŒããç¶ããŠããŸããç±å¿ãªã³ããã¿ãŒã¯äŒç€Ÿã®åŸæ¥å¡ã§ãã ãã®ãããžã§ã¯ãã¯å°èŠæš¡ã§ãããEclipse ã®ããªããŠããŒã¯ãªåéãå ããŠããŸãããã®äž»ãªç®çã¯ããã³ãã«ããŒã¹ã®ã¢ãã«ã®éçºããµããŒãããããšã§ãã
ãã³ãã«/ãã㣠ã€ãã£ãªã ãªã©ã®ãã³ãã«ããŒã¹ã®ã¢ãã«ã®åºæ¬çãªã¢ãŒããã¯ãã£åçã«ã€ããŠã¯ãäŸãšããŠãªãœãŒã¹ ã¢ãã«ãš Java ã¢ãã«ã䜿çšããŠèª¬æããŸããã ãŸãããªãœãŒã¹ ã¢ãã«ãš Java ã¢ãã«ã®äž¡æ¹ã Eclipse Java éçºããŒã« (JDT) ã®éèŠãªåºç€ã§ããããšã«ãèšåããŸããã ãŸããã»ãšãã©ãã¹ãŠã® *DT Eclipse ãããžã§ã¯ã㯠JDT ã«äŒŒãã¢ãŒããã¯ãã£ãæã£ãŠããããããã¹ãŠã§ã¯ãªãã«ããŠãããã³ãã«ããŒã¹ã®ã¢ãã«ã Eclipse ãã©ãããã©ãŒã äžã«æ§ç¯ãããå€ãã® IDE ã®åºç€ã«ãªã£ãŠãããšèšã£ãŠãéèšã§ã¯ãããŸããã ããšãã°ãEclipse C/C++ éçºããŒã« (CDT) ã«ã¯ãJDT ã§ã® Java ã¢ãã«ãšåã圹å²ã CDT ã¢ãŒããã¯ãã£ã§æãããã³ãã«ããŒã¹ã® C/C++ ã¢ãã«ããããŸãã
Handly ãç»å ŽãããŸã§ãEclipse ã¯ãã³ãã«ããŒã¹ã®èšèªã¢ãã«ãæ§ç¯ããããã®ç¹æ®ãªã©ã€ãã©ãªãæäŸããŠããŸããã§ããã çŸåšååšããã¢ãã«ã¯ã䞻㫠Java ã¢ãã« ã³ãŒããçŽæ¥é©çš (å¥åã³ããŒ/ããŒã¹ã) ããããšã«ãã£ãŠäœæãããŸããã èš±å¯ãããå Žå Eclipse ãããªã㯠ã©ã€ã»ã³ã¹ (EPL)ã (æããã«ãããã¯éåžžãããšãã° Eclipse ãããžã§ã¯ãèªäœã«ã€ããŠã¯æ³çãªåé¡ã§ã¯ãããŸããããã¯ããŒãºã ãœãŒã¹è£œåã«ã€ããŠã¯åé¡ãããŸããã) ãã®ææ³ã¯ããã®æ¬è³ªçãªç¡èšç»æ§ã«å ããŠãããç¥ãããåé¡ãåŒãèµ·ãããŸãããšã©ãŒã«é©å¿ããéã«ã³ãŒãã®éè€ãçºçããçããã«æªãããšã«ãçµæãšããŠåŸãããã¢ãã«ã¯ãããèªäœãã®ãŸãŸã§ãããçµ±åã®å¯èœæ§ã掻çšããŠããªãããšã§ãã ãããããã³ãã«ããŒã¹ã®èšèªã¢ãã«ã®å ±éã®æŠå¿µãšãããã³ã«ãåé¢ãããšãEMF ã®å Žåãšåæ§ã«ãããããæäœããããã®åå©çšå¯èœãªã³ã³ããŒãã³ãã®äœæã«ã€ãªããå¯èœæ§ããããŸãã
Eclipse ããããã®åé¡ãçè§£ããŠããªãã£ãããã§ã¯ãããŸããã 2005 幎ã«é¡ããŸã ãCDT ãããã¿ã€ãéçºã®çµéšãèŠçŽãã ãã³ãã«ããŒã¹ã®ã¢ãã«ãå«ãèšèªã¢ãã«ã®å ±éã€ã³ãã©ã¹ãã©ã¯ãã£ãäœæããå¿ èŠæ§ã ããããããããããšã§ãããã¿ã¹ã¯ã®åªå é äœãé«ãããããããã®ã¢ã€ãã¢ã®å®è£ ã¯å®çŸããŸããã§ããã äžæ¹ã*DT ã³ãŒãã®å æ°åè§£ã¯ãEclipse ã§ãŸã éçºãé²ãã§ããªããããã¯ã® XNUMX ã€ã§ãã
ããæå³ãHandly ãããžã§ã¯ãã¯ãEMF ãšã»ãŒåãåé¡ã解決ããããã«èšèšãããŠããŸããããã³ãã«ããŒã¹ã®ã¢ãã«ãäž»ã«èšèªã®åé¡ (ã€ãŸããäœããã®ããã°ã©ãã³ã°èšèªã®æ§é ã®èŠçŽ ã衚ã) ã察象ã§ãã Handy ãèšèšãããšãã«èšå®ããäž»ãªç®æšã¯æ¬¡ã®ãšããã§ãã
- äž»é¡é åã®äž»ãªæœè±¡åã®ç¹å®ã
- ã³ãŒãã®åå©çšã«ããããã³ãã«ããŒã¹ã®èšèªã¢ãã«ã®å®è£ ã®åŽåãåæžããå質ãåäžãããŸãã
- çµæã®ã¢ãã«ã«çµ±åãããã¡ã¿ã¬ãã« API ãæäŸããèšèªãã³ãã«ããŒã¹ã®ã¢ãã«ã§åäœããå ±éã® IDE ã³ã³ããŒãã³ããäœæã§ããããã«ããŸãã
- æè»æ§ãšæ¡åŒµæ§ã
- Xtext ãšã®çµ±å (å¥ã®ã¬ã€ã€ãŒå )ã
å ±éã®æŠå¿µãšãããã³ã«ã匷調ããããã«ãèšèªãã³ãã«ããŒã¹ã®ã¢ãã«ã®æ¢åã®å®è£ ãåæãããŸããã Handly ãæäŸããäž»ãªã€ã³ã¿ãŒãã§ã€ã¹ãšåºæ¬çãªå®è£ ãå³ã«ç€ºããŸãã 8.

ç±³ã 8. HandlyèŠçŽ ã®å
±éã€ã³ã¿ãŒãã§ãŒã¹ãšåºæ¬å®è£
IElement ã€ã³ã¿ãŒãã§ã€ã¹ã¯èŠçŽ ã®ãã³ãã«ã衚ãããã¹ãŠã® Handly ããŒã¹ã®ã¢ãã«ã®èŠçŽ ã«å ±éã§ãã æœè±¡ã¯ã©ã¹ Element ã¯ãäžè¬åããããã³ãã«/ãã㣠ã¡ã«ããºã ãå®è£ ããŸã (å³ 9)ã

ç±³ã 9. IElement ãšæ±çšãã³ãã«/ããã£ã®å®è£
ããã«ãHandly ã¯ãã¢ãã«èŠçŽ ã®å€æŽãéç¥ããããã®äžè¬åãããã¡ã«ããºã ãæäŸããŸã (å³ 10)ã ã芧ã®ãšãããããã¯ãªãœãŒã¹ ã¢ãã«ã Java ã¢ãã«ã«å®è£ ãããéç¥ã¡ã«ããºã ãšã»ãŒåæ§ã§ãããIElementDelta ã䜿çšããŠèŠçŽ å€æŽæ å ±ã®çµ±äžããã衚çŸãæäŸããŸãã

ç±³ã 10. äžè¬çãªã€ã³ã¿ãŒãã§ã€ã¹ãš Handly éç¥ã¡ã«ããºã ã®åºæ¬å®è£
äžã§èª¬æãã Handly ããŒã (å³ 9 ããã³ 10) ã䜿çšããŠãã»ãŒãã¹ãŠã®ãã³ãã«ããŒã¹ã®ã¢ãã«ã衚ãããšãã§ããŸãã äœæçš èšèªç㪠ã¢ãã«ã«å ããŠããããžã§ã¯ãã¯è¿œå æ©èœãæäŸããŸããç¹ã«ããœãŒã¹ ããã¹ãæ§é ã®èŠçŽ ã®å ±éã€ã³ã¿ãŒãã§ã€ã¹ãšåºæ¬å®è£ ããããã ãœãŒã¹èŠçŽ (å³8)ã ISourceFile ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãœãŒã¹ ãã¡ã€ã«ã衚ããISourceConstruct ã¯ãœãŒã¹ ãã¡ã€ã«å ã®èŠçŽ ã衚ããŸãã æœè±¡ã¯ã©ã¹ SourceFile ããã³ SourceConstruct ã¯ããœãŒã¹ ãã¡ã€ã«ãšãã®èŠçŽ ã®æäœããµããŒãããäžè¬åãããã¡ã«ããºã ãå®è£ ããŸããããšãã°ãããã¹ã ãããã¡ãŒã®æäœããœãŒã¹ ããã¹ãå ã®èŠçŽ ã®åº§æšãžã®ãã€ã³ããã¢ãã«ãšäœæ¥ã³ã㌠ãããã¡ãŒã®çŸåšã®å 容ã®èª¿æŽãªã©ã§ãã ããªã©ã éåžžããããã®ã¡ã«ããºã ã®å®è£ ã¯éåžžã«å°é£ã§ãããHandly ã¯é«å質ã®åºæ¬å®è£ ãæäŸããããšã§ããã³ãã«ããŒã¹ã®èšèªã¢ãã«ãéçºããåŽåãå€§å¹ ã«åæžã§ããŸãã
äžèšã®ã³ã¢ ã¡ã«ããºã ã«å ããŠãHandly ã¯ãããã¹ã ãããã¡ãŒãšã¹ãããã·ã§ããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ããœãŒã¹ ã³ãŒã ãšãã£ã¿ãŒãšã®çµ±åãµããŒã (Xtext ãšãã£ã¿ãŒãšã®ããã«äœ¿çšã§ããçµ±åãå«ã)ãããã³ããã€ãã®äžè¬ç㪠UI ã³ã³ããŒãã³ããæäŸããŸãããœãŒã¹ã³ãŒããšãã£ã¿ãŒã§äœæ¥ããã¢ãŠãã©ã€ã³ãã¬ãŒã ã¯ãŒã¯ãªã©ã®ã¢ãã«ãæäœããŸãã ãã®æ©èœã説æããããã«ããããžã§ã¯ãã§ã¯ãHandly ã§ã® Java ã¢ãã«ã®å®è£ ãªã©ãããã€ãã®äŸãæäŸããŠããŸãã (JDT ã§ã® Java ã¢ãã«ã®å®å šãªå®è£ ãšæ¯èŒããŠããã®ã¢ãã«ã¯æç¢ºã«ããããã«æå³çã«å€å°ç°¡ç¥åãããŠããŸãã)
åè¿°ããããã«ãHandly ã®åæèšèšãšãã®åŸã®éçºã«ãããäž»ãªçŠç¹ã¯ãã¹ã±ãŒã©ããªãã£ãšæè»æ§ã§ãããä»åŸãããã§ããç¶ããŸãã
ååãšããŠããã³ãã«ããŒã¹ã®ã¢ãã«ã¯ãèšèšäžãéåžžã«ããŸãæ¡åŒµã§ããŸãã ããšãã°ããã³ãã«/ããã£ã®ã€ãã£ãªã ã䜿çšãããšãã¢ãã«ãæ¶è²»ããã¡ã¢ãªã®éãå¶éã§ããŸãã ãããããã¥ã¢ã³ã¹ããããŸãã ãããã£ãŠãHandly ã®ã¹ã±ãŒã©ããªãã£ããã¹ããããšãã«ãéç¥ã¡ã«ããºã ã®å®è£ ã«åé¡ãçºèŠãããŸããã倿°ã®èŠçŽ ã倿Žããããšããã«ã¿ã®æ§ç¯ã«æéããããããããšããåé¡ããããŸããã åãåé¡ãã察å¿ããã³ãŒãããã€ãŠé©å¿ããã JDT Java ã¢ãã«ã«ãååšããããšã倿ããŸããã Handly ã®ãã°ãä¿®æ£ããJDT çšã«ãåæ§ã®ããããçšæããŸãããããã¯ãããããããšã«åãå ¥ããããŸããã ããã¯ãHandly ãæ¢åã®ã¢ãã«å®è£ ã«å°å ¥ãããšæœåšçã«åœ¹ç«ã€å¯èœæ§ãããäžäŸã«ãããŸããããã®å Žåããã®ãããªãã°ã¯ XNUMX ãæã ãã§ä¿®æ£ã§ããããã§ãã
æ¢åã®ã¢ãã«å®è£ ã« Handly ãå®è£ ããã«ã¯ãã©ã€ãã©ãªã«å€§å¹ ãªæè»æ§ãå¿ èŠã§ãã äž»ãªåé¡ã¯ãAPI ã¢ãã«å šäœã§ã®äžäœäºææ§ãç¶æããããšã§ãã ãã®åé¡ã¯ã§è§£æ±ºãããŸãã ããã¯ãéçºè ã«ãã£ãŠå®çŸ©ããå®å šã«å¶åŸ¡ãããã¢ãã«åºæã® API ããã©ã€ãã©ãªã«ãã£ãŠæäŸãããçµ±åã¡ã¿ã¬ãã« API ããæç¢ºã«åé¢ããããšã«ãã£ãŠå®çŸãããŸãã ããã«ãããHandly ãæ¢åã®å®è£ ã«å®è£ ããããšãæè¡çã«å¯èœã«ãªãã ãã§ãªããæ°ããã¢ãã«ã®éçºè ã API ãèšèšããéã«å€§ããªèªç±ãåŸãããŸãã
æè»æ§ã«ã¯ä»ã®åŽé¢ããããŸãã ããšãã°ãHandly ã¯ã¢ãã«ã®æ§é ã«ã»ãšãã©å¶éã課ãããæ±çšèšèªãšãã¡ã€ã³åºæèšèªã®äž¡æ¹ãã¢ãã«åããããã«äœ¿çšã§ããŸãã ãœãŒã¹ ãã¡ã€ã«ã®æ§é ãæ§ç¯ããéãHandly 㯠AST 衚çŸã®ç¹å®ã®åœ¢åŒãèŠå®ãããååãšã㊠AST èªäœã®ååšãå¿ èŠãšããªããããã»ãŒãã¹ãŠã®è§£æã¡ã«ããºã ãšã®äºææ§ãä¿èšŒãããŸãã æåŸã«ãHandly 㯠Eclipse ã¯ãŒã¯ã¹ããŒã¹ãšã®å®å šãªçµ±åããµããŒãããŠããŸãããEclipse ã¯ãŒã¯ã¹ããŒã¹ãšã®çµ±åã«ããããã¡ã€ã« ã·ã¹ãã ãçŽæ¥æäœããããšãã§ããŸãã ïŒEFSïŒã
çŸè¡ç 2016幎XNUMXæã«çºå£²ãããŸããã ãããžã§ã¯ãã¯çŸåšè²ææ®µéã«ãããAPI ã¯ãŸã æçµçã«ä¿®æ£ãããŠããªããšããäºå®ã«ãããããããHandly ã¯ãæ©ææ¡çšè ããšããŠæ©èœãããªã¹ã¯ãè² ã£ã XNUMX ã€ã®å€§ããªåçšè£œåã§ãã§ã«äœ¿çšãããŠããŸãããŸã åŸæããªãã§ãã ããã
äžã§è¿°ã¹ãããã«ããããã®è£œåã® 1 ã€ã¯ 1C:Enterprise Development Tools ã§ãããHandly ã¯æåãããçµã¿èŸŒã¿ããã°ã©ãã³ã°èšèªãã¯ãšãªèšèªãªã©ã® XNUMXC:Enterprise èšèªã®é«ã¬ãã«æ§é ã®èŠçŽ ãã¢ãã«åããããã«äœ¿çšãããŸãã ã ãã XNUMX ã€ã®è£œåã¯äžè¬ã«ã¯ããŸãç¥ãããŠããŸããã ãã ãç¹å®çšéåãåœä»€ã»ãã ããã»ããµ (ASIP) çšã®çµ±åèšèšç°å¢ã§ããã§ã³ã®äŒæ¥ Codasip 瀟å ãšãã®ã¯ã©ã€ã¢ã³ã (以äžãå«ã) ã®äž¡æ¹ã§äœ¿çšãããŠããŸãã , , , ã Codasip ã¯ã2015 幎ããããŒãžã§ã³ Handly 0.2 ããå®çšŒåç°å¢ã§ Handly ã䜿çšããŠããŸãã Codasip Studio ã®ææ°ãªãªãŒã¹ã§ã¯ã0.5 幎 2016 æã«ãªãªãŒã¹ãããããŒãžã§ã³ 4000 ã䜿çšãããŠããŸãã Codasip ã§ IDE éçºãçãã OndÅej IlÄÃk æ°ã¯ããã®ãããžã§ã¯ãã«é£çµ¡ãåããããµãŒãããŒãã£ã®æ¡çšè ãã代衚ããŠéèŠãªãã£ãŒãããã¯ãæäŸããŠããŸãã 圌ã¯èªç±æéãèŠã€ããŠãããžã§ã¯ãã®éçºã«çŽæ¥åå ããHandly ãµã³ãã«ã® XNUMX ã€ã§ãã Java ã¢ãã«ã® UI ã¬ã€ã€ãŒ (çŽ XNUMX è¡ã®ã³ãŒã) ãå®è£ ããããšãã§ããŸããã æ¡çšè ã«ãã Handly ã®äœ¿çšã«é¢ããããã«è©³ããçŽæ¥ã®æ å ±ã¯ããã®ããŒãžã§ã芧ããã ããŸãã ãããžã§ã¯ãã
API ã®å®å®æ§ãä¿èšŒãããããŒãžã§ã³ 1.0 ããªãªãŒã¹ããããããžã§ã¯ããã€ã³ãã¥ããŒã·ã§ã³ç¶æ
ãçµäºããåŸãHandly ã«æ°ããæ¡çšè
ãçŸããããšãæåŸ
ããŠããŸãã ãã®éããããžã§ã¯ã㯠API ã®ãã¹ããšãããªãæ¹åãç¶ãã幎 XNUMX åã®ãã¡ãžã£ãŒããªãªãŒã¹ - XNUMX æ (Eclipse ã®åæãªãªãŒã¹ãšåãæ¥) ãš XNUMX æã«ãªãªãŒã¹ããå°å
¥è
ãä¿¡é Œã§ããäºæž¬å¯èœãªã¹ã±ãžã¥ãŒã«ãæäŸããŸãã ãŸãããããžã§ã¯ãã®ããã°çãã¯äžè²«ããŠäœãã¬ãã«ãç¶æããŠãããHandly ã¯æåã®ããŒãžã§ã³ä»¥æ¥ãæ©ææ¡çšè
ã®è£œåã§ç¢ºå®ã«åäœããŠããããšãä»ãå ããŠãããŸãã Eclipse Handy ãããã«è©³ãã調ã¹ãã«ã¯ã次ã䜿çšã§ããŸãã О .
åºæïŒ habr.com
