Waxaa laga yaabaa in,
Maqaalkan, oo ah dulmar dabiici ah, waxaan isku dayi doonaa inaan eegno qaar ka mid ah aasaaska dhismaha Eclipse oo ah madal lagu dhisayo aaladaha horumarineed ee isku dhafan oo aan siinno fikrad bilow ah qaybaha Eclipse ee aasaaska u ah farsamada madal loogu talagalay "Configurator" 1C: Enterprise.
Hordhac Dhismaha Eclipse Architecture
Aan marka hore eegno qaar ka mid ah dhinacyada guud ee naqshadaha Eclipse annagoo tusaalaha ka qaadanayna
Ugu horreyntii, waa in la ogaadaa in Eclipse lagu garto lakabyo qaab dhismeed oo cad oo cad, oo leh kala soocida shaqeynta madaxbannaan ee luqadda iyo shaqeynta loogu talagalay in lagu taageero luqadaha barnaamijyada gaarka ah, iyo kala soocida qaybaha "core" ee madax-bannaan UI ee qaybaha la xidhiidha oo leh taageero isticmaale.
Haddaba, Platform-ka Eclipse wuxuu qeexayaa kaabayaal caadi ah, oo ka madaxbannaan luqadda, iyo aaladaha horumarinta Java waxay ku daraan Java IDE-ga si buuxda ugu muuqda Eclipse. Labadaba Platform Eclipse Platform iyo JDT waxay ka kooban yihiin dhawr qaybood, mid kastaa waxay ka tirsan tahay UI-madax banaan "core" ama lakabka UI (Jaantuska 1).
Bariis 1. Platform Eclipse iyo JDT
Aynu taxno qaybaha ugu muhiimsan ee Platform-ka Eclipse:
- Runtime - Qeexayaa kaabayaasha plugin. Dayax madoobaadka waxa lagu gartaa qaab dhismeed modular ah. Asal ahaan, Eclipse waa ururinta "dhibcaha fidinta" iyo "kordhinta".
- Goobta Shaqada - Waxay maamushaa hal ama dhowr mashruuc. Mashruucu wuxuu ka kooban yahay faylal iyo faylal si toos ah loogu habeeyey nidaamka faylka.
- Qalabka Widget-ka caadiga ah (SWT) - Waxay bixisaa walxaha is-dhexgalka aasaasiga ah ee lagu dhex daray nidaamka hawlgalka.
- JFace - Waxay bixisaa tiro qaab-dhismeedka UI ah oo lagu dhisay dusha SWT.
- Workbench - Wuxuu qeexayaa jaantuska Eclipse UI: tifaftirayaasha, aragtida, aragtida.
Waa in la sheegaa in Platform-ka Eclipse uu sidoo kale bixiyaa qaybo kale oo badan oo faa'iido leh si loo dhiso qalab horumarineed oo isku dhafan, oo ay ku jiraan Debug, Isbarbardhig, Goobid, iyo Kooxda. Waa in si gaar ah loo xuso qoraalka JFace - oo saldhig u ah dhisidda "tafatirayaasha caqliga leh" ee koodhka isha. Nasiib darro, xitaa baaritaanka cursory ee qaybahan, iyo sidoo kale qaybaha lakabka UI, maaha mid suurtogal ah gudaha baaxadda maqaalkan, sidaas darteed inta ka hartay qaybtan waxaan ku xaddidi doonaa dulmar guud ee qaybaha "core" ee ugu muhiimsan. Platform Eclipse iyo JDT.
Runtime Core
Kaabayaasha Eclipse plugin waxay ku saleysan yihiin
Goobta Shaqada ee Muhiimka ah
Ku dhawaad deegaan kasta oo horumarineed oo isku dhafan oo laga dhisay dusha sare ee Platform Eclipse wuxuu la shaqeeyaa goobta shaqada Eclipse. Waa goobta shaqada ee inta badan ka kooban koodka isha ee codsiga lagu sameeyay IDE-ga. Goobta shaqada waxay si toos ah ugu socotaa nidaamka faylka waxayna ka kooban tahay mashaariic, kuwaas oo ka kooban galal iyo faylal. Mashaariicdan, galalka, iyo faylalkan ayaa la yiraahdaa kheyraadka goobta shaqada. Hirgelinta goobta shaqada ee Eclipse waxay u adeegtaa kayd ahaan marka loo eego nidaamka faylka, taas oo suurtogal ka dhigaysa in si weyn loo dedejiyo socodka geedka kheyraadka. Intaa waxaa dheer, goobta shaqada waxay bixisaa tiro adeegyo dheeraad ah, oo ay ku jiraan
Qaybta Khayraadka Muhiimka ah (org.eclipse.core.resources plugin) ayaa mas'uul ka ah taageeridda goobta shaqada iyo agabkeeda. Gaar ahaan, qaybtani waxay ku siinaysaa barnaamijka gelitaanka goobta shaqada ee foomka moodooyinka kheyraadka. Si aad si hufan ula shaqeyso moodalkan, macaamiishu waxay u baahan yihiin hab fudud oo ay ku soo bandhigaan isku xirka kheyraadka. Xaaladdan oo kale, waxay noqon lahayd mid la jecel yahay in la qariyo shayga si toos ah u kaydiya xaaladda kheyraadka ee qaabka ka helitaanka macmiilka. Haddii kale, marka laga hadlayo, tusaale ahaan, tirtiridda faylka, macmiilku wuxuu sii wadi karaa inuu haysto shay aan hadda ku jirin qaabka, dhibaatooyinka soo socda. Dayax madoobaadku wuxuu xalliyaa dhibaatadan iyadoo la isticmaalayo wax la yiraahdo xamili kheyraad. Gacanku wuxuu u dhaqmaa sida furaha (waxa kaliya oo uu yaqaanaa jidka loo maro kheyraadka goobta shaqada) wuxuuna si buuxda u koontaroolaa gelitaanka shayga qaabka gudaha, kaas oo si toos ah u kaydiya macluumaadka ku saabsan xaaladda kheyraadka. Naqshadani waa kala duwanaanshiyaha qaabka
Bariis Jaantuska 2 ayaa muujinaya sarbeebaha Gacan/Jidhka sida lagu dabaqay qaabka agabka. Interface IResource waxay u taagan tahay gacan-ku-haynta kheyraadka waana API, si ka duwan fasalka Kheyraadka, kaasoo hirgeliya is-dhexgalkan, iyo fasalka ResourceInfo, kaasoo matalaya jirka, kuwaas oo aan ahayn API-yada. Waxaan ku nuuxnuuxsanaynaa in gacanku kaliya yaqaanno jidka loo maro kheyraadka marka loo eego xididka goobta shaqada oo kuma jiro xiriirinta macluumaadka kheyraadka. Walxaha macluumaadka kheyraadka waxay sameeyaan waxa loo yaqaan "geedka curiyaha". Qaab dhismeedka xogtan ayaa si buuxda u rumoobay xusuusta. Si loo helo tusaalaha macluumaadka macluumaadka ee u dhigma gacan-qabsiga, geedka curiyaha waxa loo maro si waafaqsan dariiqa lagu kaydiyay gacantaas.
Bariis 2. IResource iyo ResourceInfo
Sida aan dib u arki doonno, naqshadda aasaasiga ah ee qaabka kheyraadka (waxaa laga yaabaa in aan ugu yeerno gacan ku-saleysan) Eclipse waxaa sidoo kale loo isticmaalaa moodooyinka kale. Hadda, aan taxno qaar ka mid ah sifooyinka gaarka ah ee nashqadan:
- Gacanku waa shay qiimo leh. Walxaha qiimaha leh waa shay aan la bedeli karin oo sinnaantoodu aanay ku salaysnayn aqoonsiga. Walxaha noocaan ah waxaa si badbaado leh loogu isticmaali karaa furaha weelasha xashiishka ah. Marar badan oo gacan qabasho ah ayaa tixraaci kara ilo isku mid ah. Si loo barbardhigo iyaga, waxaad u baahan tahay inaad isticmaasho habka loo siman yahay (Waxyaabaha).
- Gacanku waxa uu qeexayaa hab-dhaqanka kheyraadka, balse kuma jiro macluumaad ku saabsan xaaladda kheyraadka (xogta kaliya ee ay kaydiso waa "furaha", waddada loo maro kheyraadka).
- Gacan-ku-haynta waxa laga yaabaa inay tixraacdo kheyraad aan jirin (ama kheyraad aan weli la abuurin, ama kheyraad mar hore la tirtiray). Jiritaanka kheyraadka waxaa lagu hubin karaa iyadoo la adeegsanayo habka IResource.exists().
- Hawlgallada qaarkood waa la fulin karaa iyadoo lagu salaynayo macluumaadka ku kaydsan gacanta lafteeda (waxa loogu yeero hawlgallada gacan-kaliya). Tusaalooyinka waa IResource.getParent(), getFullPath(), iwm. Ilaha uma baahna inuu jiro si hawlgalkan oo kale uu u guuleysto. Hawlgallada u baahan kheyraad si ay u jiraan si ay u guuleystaan waxay tuurayaan CoreException haddii agabku aanu jirin.
Dayax madoobaadku waxa uu bixiyaa hab wax ku ool ah oo lagu ogeysiinayo isbeddelada ilaha goobta shaqada (Jaantuska 3). Ilaha way isbedali karaan iyadoo ay ugu wacan tahay ficilada lagu sameeyay Eclipse IDE lafteeda ama iyadoo ay sabab u tahay la shaqaynta nidaamka faylka. Labada xaaladoodba, macaamiisha ku biira ogeysiisyada waxaa la siiyaa macluumaad faahfaahsan oo ku saabsan isbeddelada qaabka "deltas khayraadka". delta waxay qeexaysaa isbeddelada u dhexeeya labada gobol ee kheyraadka goobta shaqada (sub-) geed laftiisana waa geed, nood kasta oo ka mid ah wuxuu qeexayaa isbeddelka kheyraadka wuxuuna ka kooban yahay liiska deltas ee heerka ku xiga oo qeexaya isbeddelada ilaha ilmaha.
Bariis 3.IResourceChangeEvent iyo IResourceDelta
Habka ogeysiinta ee ku salaysan deltas kheyraadka ayaa leh sifooyinka soo socda:
- Hal isbeddel iyo isbeddelo badan ayaa lagu sharraxay iyadoo la adeegsanayo qaab isku mid ah, maadaama delta la dhisay iyadoo la adeegsanayo mabda'a halabuurka soo noqnoqda. Macaamiisha macaamiishu waxay ka baaraandegi karaan ogaysiisyada beddelka kheyraadka iyagoo isticmaalaya farcanka soo noqnoqda ee geedka deltas.
- Daloolku waxa uu ka kooban yahay macluumaad dhamaystiran oo ku saabsan isbeddelada khayraadka, oo ay ku jiraan dhaqdhaqaaqiisa iyo/ama isbeddelada "calaamadaha" ee la xidhiidha (tusaale, khaladaadka ururinta ayaa loo taagan yahay calaamado ahaan).
- Maadaama tixraacyada kheyraadka lagu sameeyay gacanta, delta waxay si dabiici ah u tixraaci kartaa kheyraad fog.
Sida aan dhawaan arki doono, qaybaha ugu muhiimsan ee naqshadeynta qaabka kheyraadka habka beddelka habka ogeysiinta ayaa sidoo kale khuseeya moodooyinka kale ee gacanta ku salaysan.
Qodobbada ugu hooseysa ee JDT
Qaabka kheyraadka goobta shaqada Eclipse waa nooc aasaasi ah oo luuqad-agnostic ah. Qaybta Muhiimka ah ee JDT (plugin org.eclipse.jdt.core) waxay siisaa API si loogu maareeyo loona falanqeeyo qaab dhismeedka goobta shaqada marka laga eego dhinaca Java, waxa loogu yeero "Java model"Moodeelka Java). API-kan waxa lagu qeexaa ereyada Java, oo ka soo horjeeda moodalka kheyraadka hoose ee API, kaas oo lagu qeexay galka iyo faylalka. Isku xirka ugu muhiimsan ee geedka curiyaha Java waxa lagu muujiyay shaxanka. 4.
Bariis 4. Java Model Elements
Qaabka Java waxa uu isticmaalaa isla gacanta/jidh sarbeeb ahaan sida tusaalaha kheyraadka (Jaantuska 5). IJavaElement waa gacanta, JavaElementInfona waxay ciyaartaa doorka jidhka. Interface-ka IJavaElement waxa uu qeexayaa hab-maamuuska ay wadaagaan dhammaan curiyayaasha Java. Qaar ka mid ah hababkeeda ayaa ah kuwa gacanta lagu hayo oo keliya: getElementName(), getParent(), iwm. Shayga JavaElementInfo waxa uu kaydiyaa xaaladda walxaha u dhigma: qaabdhismeedkiisa iyo sifooyinkiisa.
Bariis 5. IJavaElement iyo JavaElementInfo
Habka Java waxa uu leeyahay xoogaa kala duwanaansho ah oo ku saabsan hirgelinta gacanta/naqshad jireed ee aasaasiga ah marka loo eego qaabka kheyraadka. Sida kor lagu xusay, qaabka kheyraadka, geedka curiyaha, oo nooduskiisu yihiin walxaha macluumaadka, ayaa gebi ahaan ku jira xusuusta. Laakiin qaabka Java wuxuu yeelan karaa tiro aad u weyn oo ka mid ah curiyeyaasha marka loo eego geedka kheyraadka, sababtoo ah waxay sidoo kale ka dhigan tahay qaabka gudaha ee java iyo .faylalka fasalka: noocyada, beeraha, iyo hababka.
Si looga fogaado in gebi ahaanba laga dhigo dhammaan geedka curiyeyaasha xusuusta, hirgelinta moodalka Java waxay isticmaashaa cabbir xaddidan oo LRU ah oo macluumaadka element ah, halkaasoo furaha uu gacanta ku hayo IJavaElement. Walxaha macluumaadka elementka waxa loo abuuraa baahi marka geedka curiyaha la dhex maro. Xaaladdan oo kale, shayada ugu yar ee la isticmaalo ayaa laga saarayaa khasnadda, iyo isticmaalka xusuusta ee moodelku waxa uu ahaanayaa mid xaddidan cabbirka kaydka ee la cayimay. Tani waa faa'iido kale oo naqshadeynta ku salaysan gacanta, kaas oo si buuxda u qarinaya faahfaahinta hirgelinta noocaas ah ee code macmiilka.
Habka lagu ogeysiinayo isbeddelada canaasirta Java ayaa guud ahaan la mid ah habka daba-galka isbeddelka agabka goobta shaqada ee xagga sare lagaga hadlay. Macmiil raba in uu la socdo isbeddelada qaabka Java waxa uu ku biiraa ogaysiisyada, kuwaas oo loo matalo sidii ElementChangedEvent shay oo ka kooban IJavaElementDelta (Jaantuska 6).
Bariis 6. Element ChangeEvent iyo IJavaElementDelta
Qaabka Java kuma jiro macluumaad ku saabsan habka jirka ama xallinta magaca, sidaa darteed falanqaynta faahfaahsan ee kood ku qoran Java, JDT Core wuxuu bixiyaa qaab dheeri ah (aan gacanta ku salaysnayn):
Sababtoo ah geedaha syntax waxay cuni karaan qadar weyn oo xusuusta ah, JDT waxay kaydisaa hal AST oo keliya tifaftiraha firfircoon. Si ka duwan qaabka Java, AST waxaa sida caadiga ah loo arkaa qaab "dhex dhexaad ah", "ku meel gaadh ah", walxaha ay macaamiishu ku jiraan waa inaysan haysan tixraacyo ka baxsan macnaha hawlgalka ee horseeday abuurista AST.
Saddexda nooc ee liiska ku jira (Java model, AST, bindings) waxay si wada jir ah u sameeyaan aasaaska dhismaha "qalabka horumarinta caqliga leh" ee JDT, oo ay ku jiraan tifaftire awood leh oo Java ah oo leh "caawiye" kala duwan, tallaabooyin kala duwan oo loogu talagalay habaynta koodhka isha (oo ay ku jiraan abaabulka liiska soo dejinta). magacyada iyo qaabaynta iyadoo la raacayo qaabka la habeeyey), goobidda iyo dib-u-habaynta qalabka. Xaaladdan oo kale, qaabka Java wuxuu ciyaaraa door gaar ah, maadaama uu yahay kan loo isticmaalo saldhigga muuqaalka muuqaalka qaab dhismeedka codsiga la sameeyay (tusaale ahaan, Package Explorer, Outline, Search, Call Heerarchy, iyo Nooca kala sareynta).
Qaybaha dayax-madoobaadka ee loo isticmaalo 1C:Aaladaha Horumarinta Ganacsiga
Jaantuska Jaantuska 7 wuxuu muujinayaa qaybaha Eclipse ee aasaaska u ah madal tignoolajiyada 1C: Qalabka Horumarinta Ganacsiga.
Bariis 7. Madoobaad sidii madal loogu talagalay 1C: Aaladaha Horumarinta Ganacsiga
Platform Madoobaad waxay bixisaa kaabayaasha aasaasiga ah. Qaybtii hore ayaan ku eegnay qaybo ka mid ah kaabayaashan.
Sida qalab kasta oo runtii ujeedo-guud ah, EMF waxay ku habboon tahay xallinta mashaakil badan oo qaabaynta ah, laakiin fasallada moodooyinka qaarkood (tusaale ahaan, moodooyinka gacanta ku salaysan ee kor lagaga hadlay) waxay u baahan karaan qalabyada qaabaynta ee khaaska ah. Ka hadalka EMF waa hawl aan la mahadin, gaar ahaan gudaha xaddidaadda xaddidan ee hal maqaal, maadaama kani yahay mawduuca buug gaar ah, iyo mid dhumuc weyn leh. Aynu ogaano oo kaliya in nidaamka tayada sare leh ee guud ee hoos yimaada EMF uu oggolaaday dhalashada mashruucyo kala duwan oo loogu talagalay qaabeynta, kuwaas oo lagu daray mashruuca heerka sare.
1C:Aaladaha Horumarinta Ganacsiga waxay si firfircoon u isticmaalaan EMF lafteeda iyo tiro mashruucyo kale oo Dayac-tir ah. Gaar ahaan, Xtext waa mid ka mid ah aasaaska aaladaha horumarinta ee 1C: Luuqadaha ganacsiga sida luqadda barnaamijka iyo luqadda weydiinta. Waxa kale oo aasaaska u ah agabkan horumarineed waa mashruuca Eclipse Handly, kaas oo aynu si faahfaahsan uga hadli doono (Qaybaha Dayax-madoobaadka ee liiska ku jira, wali waa kan ugu yar ee la yaqaan).
Mabaadi'da aasaasiga ah ee qaab-dhismeedka moodooyinka gacanta ku salaysan, sida gacan-ku-haynta/ sarbeebta jidhka, ayaa lagaga hadlay kor iyadoo la isticmaalayo qaabka khayraadka iyo qaabka Java tusaale ahaan. Waxa kale oo ay xustay in nooca kheyraadka iyo nooca Java ay yihiin aasaaska muhiimka u ah Eclipse Java development tools (JDT). Iyo maadaama ku dhawaad dhammaan mashaariicda *DT Eclipse ay leeyihiin qaab dhismeed la mid ah JDT, ma noqon doonto buunbuunin weyn in la yiraahdo moodooyinka gacanta ku saleysan ayaa hoosta ka xariiqaya kuwa badan, haddii aysan ahayn dhammaan IDE-yada lagu dhisay dusha sare ee Platform-ka Eclipse. Tusaale ahaan, Eclipse C/C++ Development Tooling (CDT) waxa uu leeyahay qaab gacanta ku salaysan C/C++ kaas oo ka ciyaara door la mid ah qaab-dhismeedka CDT sida qaabka Java ee JDT.
Kahor Handly, Eclipse ma aysan bixin maktabado gaar ah oo lagu dhisayo qaababka luqadda gacanta ku salaysan. Moodooyinka hadda jira waxaa badanaa la abuuray iyaga oo si toos ah ula qabsanaya koodhka moodeelka Java (oo loo yaqaan nuqul / dheji), xaaladaha ay ogolaato Shatiga Dadweynaha Eclipse (EPL). (Sida cad, tani inta badan maaha arrin sharci ah, waxaad tidhaahdaa, mashaariicda Eclipse lafteeda, laakiin maaha wax soo saarka ilaha xiran.) Marka lagu daro khalkhalka dabiiciga ah, farsamadani waxay soo bandhigaysaa dhibaatooyin si fiican loo yaqaan: nuqul ka mid ah code oo soo bandhigay marka la qabsanayo khaladaadka. iwm. Waxa ka sii daran in moodooyinka soo baxay ay ku sii jiraan "waxyaalihii naftooda" oo aan ka faa'iidaysan awoodda midaynta. Laakin go'doominta fikradaha guud iyo borotokoolka moodooyinka luqadda ku saleysan gacanta waxay horseedi kartaa abuuritaanka qaybo dib loo isticmaali karo si loola shaqeeyo iyaga, oo la mid ah wixii ku dhacay kiiska EMF.
Ma aha in Eclipse aanu fahmin arrimahan. Dib ugu noqo 2005
Dareen gaar ah, mashruuca Handly waxaa loogu talagalay in lagu xalliyo ku dhawaad isla mashaakilaadka EMF, laakiin loogu talagalay moodooyinka gacanta ku salaysan, iyo kuwa ugu horreeya ee luqadda (tusaale ahaan, matalaya walxaha qaab-dhismeedka luqadaha barnaamijyada qaarkood). Hadafyada ugu muhiimsan ee la dejiyay marka la naqshadeynayo Handly ayaa ku taxan hoos:
- Aqoonsiga waxyaabaha ugu muhiimsan ee aagga mawduuca.
- Yaraynta dadaalka iyo hagaajinta tayada hirgelinta qaababka luqadda gacanta ku salaysan iyada oo loo marayo dib-u-isticmaalka koodka.
- Bixinta API-heer meta oo midaysan moodooyinka soo baxay, taas oo ka dhigaysa suurtogalnimada in la abuuro qaybo IDE ah oo la wadaago oo la shaqeeya moodooyinka gacanta ku salaysan.
- Dabacsanaanta iyo miisaanka.
- La qabsiga Xtext (lakab gooni ah).
Si loo muujiyo fikradaha iyo hab-maamuuska caadiga ah, hirgelinta hadda jirta ee moodooyinka ku saleysan luqadda ayaa la lafa guray. Isku xirka muhiimka ah iyo hirgelinta aasaasiga ah ee ay bixiso Handly ayaa lagu muujiyay shaxanka. 8.
Bariis 8. Is-dhexgalyada caadiga ah iyo hirgelinta aasaasiga ah ee curiyeyaasha Handly
Interface-ka Ielement waxa uu ka dhigan yahay gacanta curiyaha oo waxa uu ka siman yahay qaybaha dhammaan noocyada Handly-ku-salaysan. Qaybta aan la taaban karin ayaa fulisa habka gacanta/jidhka guud (Jaantus. 9).
Bariis 9. Ielement iyo fulinta gacanta/jirka guud
Intaa waxa dheer, Handly waxa ay bixisaa hannaan guud oo lagu wargelinayo isbeddellada ku yimaadda canaasirta moodeelka (Jaantus. 10). Sida aad arki karto, waxay si guud ula mid tahay hababka ogeysiiska ee lagu hirgeliyay qaabka kheyraadka iyo qaabka Java, waxayna adeegsataa IelementDelta si ay u bixiso matalaad midaysan oo ah macluumaadka beddelka element.
Bariis 10. Isku xirka guud iyo hirgelinta aasaasiga ah ee habka ogeysiinta Handly
Qaybta Handly ee kor looga hadlay (Jaantus. 9 iyo 10) waxa loo isticmaali karaa in lagu matalo ku dhawaad nooc kasta oo gacanta ku salaysan. Wixii abuuraya luqadeed moodooyinka, mashruucu wuxuu bixiyaa shaqeyn dheeraad ah - gaar ahaan, isdhexgalka caadiga ah iyo hirgelinta aasaasiga ah ee walxaha qaab dhismeedka qoraalka isha, waxa loogu yeero. xubno il (Jaantuska. 8). Isku xirka ISourceFile wuxuu matalaa faylka isha, iyo ISourceConstruct waxay u taagan tahay shay ku jira faylka isha. Fasalada aan la taaban karin ee SourceFile iyo SourceConstruct waxay hirgeliyaan habab guud oo lagu taageerayo la shaqaynta faylalka isha iyo cunsurradooda, tusaale ahaan, la shaqaynta kaydiyeyaasha qoraalka, ku xidhida isku-duwayaasha shay ku jira qoraalka isha, dib-u-heshiisiinta moodooyinka iyo waxyaalaha hadda jira ee kaydiyaha koobiga shaqaynaya iwm. Hirgelinta hababkan inta badan waa caqabad, Handly-na waxay si weyn u dhimi kartaa dadaalka lagu horumarinayo qaababka luqadda gacanta iyadoo la siinayo hirgelinta saldhig tayo sare leh.
Marka lagu daro hababka asaasiga ah ee kor ku taxan, Handly waxay siisaa kaabayaal loogu talagalay kaydinta qoraalka iyo sawir-qaadista, taageerada isdhexgalka ee tifaftirayaasha koodka isha (oo ay ku jiraan isdhexgalka ka baxsan sanduuqa ee tifaftiraha Xtext), iyo sidoo kale qaybo UI ah oo caadi ah La shaqee tifaftirayaasha koodhka isha: Moodooyinka gacanta ku leh sida qaab-dhismeedka. Si loo muujiyo awoodeeda, mashruucu wuxuu bixiyaa tusaalooyin dhowr ah, oo ay ku jiraan hirgelinta qaabka Java ee Handly. (Marka la barbar dhigo hirgelinta buuxda ee qaabka Java ee JDT, qaabkani si ula kac ah ayaa loo fududeeyay si loo caddeeyo.)
Sidaan hore u soo sheegnay, diiradda ugu weyn inta lagu guda jiro naqshadaynta bilowga ah ee Handly iyo horumarka xiga ayaa ahaa oo sii socday miisaanka iyo dabacsanaanta.
Mabda 'ahaan, moodooyinka gacanta ku salaysan ayaa si fiican u cabbiraya "naqshad". Tusaale ahaan, gacan-ku-hadalka/jidhku wuxuu kuu ogolaanayaa inaad xaddiddo xaddiga xusuusta uu isticmaalo moodeel. Laakiin waxaa sidoo kale jira nuances. Sidaa darteed, markii la tijaabiyey Handly si loo cabbiro, dhibaato ayaa laga helay hirgelinta habka ogeysiinta - markii tiro badan oo walxo ah la beddelay, dhisidda deltas waxay qaadatay waqti aad u badan. Waxaa soo baxday in dhibka la mid ah uu ku jiro qaabka JDT Java, kaas oo koodhka u dhigma mar la habeeyey. Waxaan hagaajinnay cayayaanka Handly waxaanan u diyaarinnay balastar la mid ah JDT, kaas oo si mahadnaq ah loo helay. Kani waa hal tusaale oo soo bandhigida Handly ee hirgalinta moodeelka jira ay noqon karto mid faa'iido leh, sababtoo ah xaaladdan cayayaann ah waxaa lagu hagaajin karaa hal meel oo keliya.
Si loo hirgeliyo Hannaanka qaab-fulinta moodeelka jira si farsamo ahaan macquul ah, maktabaddu waa inay lahaataa dabacsanaan weyn. Dhibka ugu weyni waa in la joogteeyo iswaafajinta dambe ee qaabka API. Dhibaatadan waxaa lagu xalliyay gudaha
Dabacsanaantu waxay leedahay dhinacyo kale sidoo kale. Tusaale ahaan, Handly ma soo rogo wax xaddidaad ah qaab dhismeedka moodeelka waxaana loo isticmaali karaa in lagu qaabeeyo luqadaha gaarka ah iyo ujeeddooyinka labadaba. Marka la dhisayo qaab dhismeedka faylka isha, Handly ma qorayso nooc gaar ah oo matalaad AST ah, mabda' ahaan, xitaa uma baahna joogitaanka AST lafteeda, sidaas darteed hubinta ku-habboonaanta ku dhawaad qaab kasta oo wax lagu cabiro. Ugu dambeyntii, Handly waxay taageertaa is-dhexgalka buuxda ee goobta shaqada Eclipse, laakiin sidoo kale waxay si toos ah ula shaqeyn kartaa nidaamyada faylalka iyada oo ay ugu wacan tahay is-dhexgalka
Nooca hadda
Sida kor ku xusan, mid ka mid ah alaabooyinkan waa 1C: Aaladaha Horumarinta Ganacsiga, halkaas oo Handly loo isticmaalo bilawga bilawga si loo qaabeeyo walxaha qaabdhismeedka heerka sare ah ee 1C: luuqadaha ganacsiga sida luuqada barnaamijka iyo luuqada weydiinta. . Badeeco kale ayaa ah mid aan caan ku ahayn dadweynaha guud. Tani
Waxaan rajeyneynaa ka dib markii la sii daayo nooca 1.0 oo leh dammaanad xasilloonida API iyo mashruuca ka tagaya gobolka soo-jiidashada, Handly wuxuu yeelan doonaa korsadayaal cusub. Dhanka kale, mashruucu wuxuu sii waday inuu tijaabiyo oo uu sii wanaajiyo API-ga, isagoo siidaaya laba "weyn" oo la sii daayo sannadkii - Juun (oo la mid ah taariikhda la sii daayo Eclipse isku mid ah) iyo Disembar, bixinta jadwal la saadaalin karo oo dadka korsanaya ay ku tiirsanaan karaan. Waxaan sidoo kale ku dari karnaa in "heerka cayayaanka" mashruuca uu weli yahay heer hoose oo joogto ah oo Handly uu si kalsooni leh uga shaqeynayey alaabta hore ee korsaday ilaa noocyadii ugu horeeyay. Si aad u sii sahamiso Eclipse Handly, waxaad isticmaali kartaa
Source: www.habr.com