Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga

Tena pea, pounga kua roa mai kaore e hiahiatia he whakataki motuhake. He maha nga tangata e waia ana ki te Eclipse na nga taputapu whanaketanga Eclipse Java (JDT). Koinei te puna rongonui rongonui Java IDE e hono ana te nuinga o nga kaihanga ki te kupu "Eclipse". Heoi, ko Eclipse he papaa whanui mo te whakauru i nga taputapu whanaketanga (Eclipse Platform), me te maha o nga IDE i hangaia i runga i tona turanga, tae atu ki te JDT. Ko Eclipse te Kaupapa Eclipse, te kaupapa taumata-runga e whakarite ana i te whakawhanaketanga o te Eclipse Platform me te JDT, me te Eclipse SDK, te hua o taua whanaketanga. Ka mutu, ko te Eclipse he turanga puna tuwhera me te hapori nui o nga kaupapa, kaore katoa i tuhia ki Java, e pa ana ranei ki nga taputapu whanaketanga (hei tauira, kaupapa Eclipse IoT и Pūtaiao Eclipse). He tino kanorau te ao o Eclipse.

I roto i tenei tuhinga, he tirohanga whanui i roto i te taiao, ka ngana tatou ki te titiro ki etahi o nga kaupapa o te hoahoanga Eclipse hei papa mo te hanga taputapu whanaketanga whakauru me te tuku whakaaro tuatahi mo nga waahanga Eclipse hei turanga mo te hangarau. turanga mo te "Configurator hou" 1C: Enterprise. 1C: Utauta Whakawhanake Pakihi. Ae ra, kare e kore e kore e taea te titiro ki runga ake nei, me te mea he iti noa iho, tae atu ki te mea kei te aro atu tatou ki nga kaiwhakawhanake Eclipse anake hei hunga whakarongo. Heoi, ko te tumanako ka taea e nga kaiwhakawhanake Eclipse mohio te rapu korero whakamere i roto i te tuhinga. Hei tauira, ka korero tatou mo tetahi o nga "mea ngaro o Eclipse", he kaupapa hou me te iti-mohiotia. Eclipse Handly, i whakaturia, i tautokohia e 1C.
Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga

He kupu whakataki ki te Eclipse Architecture

Me titiro tuatahi ki etahi ahuatanga whanui o te hoahoanga Eclipse ma te whakamahi i te tauira Nga taputapu whanaketanga Java Eclipse (JDT). Ko te whiriwhiringa o JDT hei tauira ehara i te mea ohorere. Koinei te taiao whanaketanga whakauru tuatahi ka puta ki Eclipse. Ko etahi atu kaupapa *DT Eclipse, penei i te Eclipse C/C++ Development Tooling (CDT), i hangaia i muri mai ka tono i nga maataapono hoahoanga taketake me nga wahanga waehere puna takitahi mai i a JDT. Ko nga kaupapa taketake o te hoahoanga kua whakatakotoria ki JDT e tika ana ki tenei ra mo te tata ki nga IDE katoa i hangaia ki runga ake o te Eclipse Platform, tae atu ki te 1C:Utauta Whakawhanake hinonga.

Ko te mea tuatahi, me mahara ko Eclipse te ahuatanga o te paparanga hoahoanga tino maamaa, me te wehewehenga o nga mahi motuhake-reo mai i nga mahi i hangaia hei tautoko i nga reo hotaka motuhake, me te wehenga o nga waahanga "matua" UI-motuhake mai i nga waahanga e hono ana. me te atanga kaiwhakamahi tautoko.

Na, ko te Eclipse Platform e whakaatu ana i tetahi hanganga noa, reo-motuhake, me nga taputapu whanaketanga Java ka taapirihia he Java IDE ki te Eclipse. He maha nga waahanga o te Eclipse Platform me te JDT, no tetahi "matua" motuhake UI, he paparanga UI ranei (Whakaahua 1).

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 1. Eclipse Platform me JDT

Me whakarārangihia nga waahanga matua o te Eclipse Platform:

  • Aoeti - Ka tautuhi i te hanganga mono. Ko te Eclipse e tohuhia ana e te hoahoanga tauira. Ko te mea nui, ko te Eclipse he kohinga o nga "tohu toronga" me nga "toronga".
  • Mokowāmahi — Ka whakahaere i tetahi kaupapa, neke atu ranei. Kei roto i tetahi kaupapa nga kōpaki me nga konae ka mapi tika ki te punaha konae.
  • Utauta Paerewa Paerewa (SWT) - Ka whakarato i nga huānga atanga kaiwhakamahi taketake kua whakauruhia ki te punaha whakahaere.
  • JFace - Ka whakaratohia he maha o nga anga UI i hangaia ki runga ake o SWT.
  • Mahi mahi — Ka tautuhi i te tauira Eclipse UI: ētita, tirohanga, tirohanga.

Me kii ko te Eclipse Platform e whakarato ana i etahi atu waahanga whaihua mo te hanga taputapu whanaketanga whakauru, tae atu ki te Debug, Whakataurite, Rapu, me te Kapa. Me whakahua motuhake mo JFace Kuputuhi - te putake mo te hanga "kaiwhakatika mohio" o te waehere puna. Heoi ano, ahakoa he tirotiro poto mo enei waahanga, tae atu ki nga waahanga paparanga UI, kaore e taea i roto i te waahanga o tenei tuhinga, na i roto i te toenga o tenei waahanga ka whakawhäitihia e maatau ki te tirohanga o nga waahanga "matua" o te Eclipse Platform me JDT.

Wā Whakahaere Matua

Ko te hanganga mono Eclipse kei runga OSGi ka whakaratohia e te kaupapa Eclipse Equinox. Ko ia mono Eclipse he paihere OSGi. Ko te whakaritenga OSGi e whakaatu ana, ina koa, nga tikanga mo te whakaputanga me te whakatau i te whakawhirinaki. I tua atu i enei tikanga paerewa, ka whakauruhia e Equinox te kaupapa tohu roha. Ka taea e ia mono te tautuhi i ona ake tohu toronga, me te whakauru ano i etahi atu taumahinga ("toronga") ki te punaha ma te whakamahi i nga tohu toronga kua tautuhia e taua mea, etahi atu mono ranei. Ko nga korero taipitopito mo nga tikanga OSGi me Equinox kei tua atu i te waahanga o tenei tuhinga. Kia mahara noa tatou ko te whakarereketanga i roto i te Eclipse he katoa (tetahi puunaha iti, tae atu ki te Runtime, he kotahi, neke atu ranei nga monomai), tata ki nga mea katoa kei Eclipse he toronga. I tua atu, i whakauruhia enei maataapono ki roto i te hoahoanga Eclipse i mua noa atu i te whakaurunga o OSGi (i tera wa i whakamahia e ratou a raatau ake hangarau, he rite tonu ki te OSGi).

Mokowāmahi Matua

Tata ki tetahi taiao whanaketanga whakauru i hangaia ki runga ake o te Eclipse Platform e mahi ana me te mokowāmahi Eclipse. Ko te mokowāmahi kei te nuinga o nga wa kei roto te waehere puna o te tono i whakawhanakehia i roto i te IDE. Mahere tika mokowāmahi ki te punaha konae me nga kaupapa kei roto nga kōpaki me nga konae. Ko enei kaupapa, kopaki, me nga konae ka kiia rauemi mokowāmahi. Ko te whakatinanatanga mokowāmahi i Eclipse he keteroki e pa ana ki te punaha konae, na reira ka tere tere te haere o te rakau rauemi. I tua atu, ka whakaratohia e te waahi mahi etahi atu ratonga, tae atu ki tikanga whakamohiotanga mo nga huringa rauemi и hanga hanganga hanga.

Ko te wahanga Rauemi Matua (org.eclipse.core.resources mono) te kawenga ki te tautoko i te mokowāmahi me ona rauemi. Ina koa, ko tenei waahanga e whakarato ana i te uru ki te mokowāmahi i roto i te puka tauira rauemi. Kia pai ai te mahi me tenei tauira, me whai huarahi ngawari nga kaihoko ki te whakaatu hononga ki tetahi rauemi. I tenei keehi, he pai ki te huna i te ahanoa e pupuri tika ana i te ahua o te rauemi i roto i te tauira mai i te urunga o te kiritaki. Ki te kore, mo te, hei tauira, te whakakore i tetahi konae, ka taea e te kiritaki te pupuri tonu i tetahi mea kua kore i te tauira, me nga raru ka whai ake. Ka whakatauhia e Eclipse tenei raru ma te whakamahi i tetahi mea e kiia ana hapai rauemi. Ka noho te Kakau hei matua (ko ia anake te mohio ki te huarahi ki te rauemi i roto i te mokowāmahi) me te tino whakahaere i te uru ki te ahanoa tauira o roto, e pupuri tika ana i nga korero mo te ahua o te rauemi. Ko tenei hoahoa he rereke o te tauira Kakau/Tina.

raihi. Ko te Whakaahua 2 e whakaatu ana i te kiwaha Kakau/Tiana e whakamahia ana ki te tauira rauemi. Ko te atanga IResource e tohu ana i te kakau o tetahi rauemi, he API hoki, kaore i rite ki te akomanga Rauemi, e whakatinana ana i tenei atanga, me te akomanga ResourceInfo, e tohu ana i te tinana, ehara i te API. Ka whakakoi matou ko te kakau anake e mohio ana ki te ara ki te rauemi e pa ana ki te pakiaka mokowāmahi, kaore he hononga ki te korero rauemi. Ko nga taonga korero rauemi ka hanga he "rakau huānga". Ko tenei hanganga raraunga kua tino hanga i roto i te mahara. Ki te kimi i te tauira korero rauemi e rite ana ki tetahi kakau, ka takahia te rakau huānga i runga i te ara e rongoa ana ki taua kakau.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 2. IResource and ResourceInfo

Ka kite tatou i muri mai, ko te hoahoa taketake o te tauira rauemi (ka kiia pea ko te kakau-a-ringa) ka whakamahia ki Eclipse mo etahi atu tauira. I tenei wa, me whakarārangihia etahi o nga ahuatanga motuhake o tenei hoahoa:

  • He ahanoa uara te kakau. Ko nga taonga uara he taonga kore e taea te whakarereke, kaore e taurite ana ki te tuakiri. Ka taea te whakamahi haumaru i aua taonga hei taviri i roto i nga ipu hashed. He maha nga waahanga o te kakau ka taea te tohutoro i te rauemi kotahi. Hei whakataurite i a raatau, me whakamahi koe i te tikanga orite(Anoa).
  • Ka tautuhia e Handle te whanonga o tetahi rauemi, engari karekau he korero mo te ahua o te rauemi (ko te raraunga anake e rongoa ana ko te "matua", te ara ki te rauemi).
  • Ka tohu pea a Handle ki tetahi rauemi karekau (he rauemi kaore ano kia hanga, he rauemi ranei kua mukua). Ka taea te tirotiro i te oranga o tetahi rauemi ma te whakamahi i te tikanga IResource.exists().
  • Ka taea te whakatinana i etahi mahi i runga i nga korero kua rongoa ki roto i te kakau (e kiia nei ko nga mahi kakau-anake). Ko nga tauira ko IResource.getParent(), getFullPath(), etc. Karekau te rauemi e tika ana kia angitu taua mahi. Ko nga mahi e hiahia ana kia noho mai he rauemi kia angitu ka maka he CoreException ki te kore te rauemi.

Ka whakarato a Eclipse i tetahi tikanga pai mo te whakamohio i nga huringa rauemi mokowāmahi (Whakaahua 3). Ka huri nga rauemi na runga i nga mahi i mahia i roto i te Eclipse IDE ake, na te tukutahitanga me te punaha konae. I roto i nga take e rua, ko nga kiritaki e ohauru ana ki nga whakamohiotanga ka whakawhiwhia ki nga korero taipitopito mo nga huringa o te ahua o "deltas rauemi". Ko te delta e whakaatu ana i nga huringa i waenga i nga ahuatanga e rua o te rauemi mokowāmahi (sub-) rakau, he rakau ano, ko ia pona e whakaatu ana i te huringa ki tetahi rauemi, kei roto hoki he rarangi o nga waahanga kei te taumata e whai ake nei e whakaatu ana i nga huringa ki nga rauemi tamariki.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 3. IResourceChangeEvent me IResourceDelta

Ko te tikanga whakamohiotanga i runga i nga waahanga rauemi e whai ake nei:

  • Ko te huringa kotahi me te maha o nga huringa ka whakaahuahia ma te whakamahi i te hanganga kotahi, na te mea ka hangaia te delta ma te whakamahi i te kaupapa o te hanganga recursive. Ka taea e nga kaiohauru te whakahaere i nga whakamohiotanga huringa rauemi ma te whakamahi i te whakahekenga whakahekenga mai i te rakau o te deltas.
  • Kei roto i te delta nga korero katoa e pa ana ki nga huringa ki te rauemi, tae atu ki tana nekehanga me te whakarereketanga ranei o nga "tohu" e hono ana ki a ia (hei tauira, ko nga hapa whakahiato e tohuhia ana hei tohu).
  • I te mea ka mahia nga tohutoro rauemi ma te kakau, ka taea e te delta te tohutoro i tetahi rauemi mamao.

Ka kite ake nei tatou, ko nga waahanga matua o te hoahoatanga o te tikanga whakamohiotanga whakarereke tauira rauemi e tika ana mo etahi atu tauira e hangai ana i te kakau.

JDT Core

Ko te tauira rauemi mokowāmahi Eclipse he tauira reo-agnostic taketake. Ko te waahanga JDT Core (plugin org.eclipse.jdt.core) e whakarato ana i te API mo te whakatere me te tātari i te hanganga mokowāmahi mai i te tirohanga Java, te mea e kiia nei ko "Java model" (tauira Java). Kua tautuhia tenei API i runga i nga waahanga Java, he rereke ki te API tauira rauemi o raro, kua tautuhia mo nga waahanga me nga konae. Ko nga hononga matua o te rakau huānga Java e whakaatuhia ana i te Fig. 4.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 4. Huānga Tauira Java

Ko te tauira Java e whakamahi ana i te ahua o te kakau/tinana idiom rite te tauira rauemi (Whakaahua 5). Ko IJavaElement te kakau, ko JavaElementInfo te mahi a te tinana. Ko te atanga IJavaElement e tautuhi ana i te kawa noa ki nga huānga Java katoa. Ko etahi o ona tikanga he kakau-anake: getElementName(), getParent(), etc. Ko te ahanoa JavaElementInfo e pupuri ana i te ahua o te huānga e rite ana: tona hanganga me ona huanga.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 5. IJavaElement me JavaElementInfo

Ko te tauira Java etahi rereke i roto i te whakatinanatanga o te hoahoa taketake kakau/tinana whakaritea ki te tauira rauemi. Ka rite ki te korero i runga ake nei, i roto i te tauira rauemi, ko te rakau huānga, ko ona pona he ahanoa korero rauemi, kei roto katoa i te mahara. Engari ka taea e te tauira Java te nui ake o nga huānga atu i te rakau rauemi, na te mea e tohu ana i te hanganga o roto o nga konae .java me .class: momo, mara, me nga tikanga.

Hei karo i te tino hanga i te rakau katoa o nga huānga i roto i te mahara, ka whakamahia e te tauira Java te whakatinanatanga he iti te rahi o te keteroki LRU o nga korero huānga, kei reira te maataki IJavaElement. Ko nga mea korero huānga ka hangaia i runga i te tono i te wa e whakaterehia ana te rakau huānga. I tenei keehi, ko nga mea iti rawa e whakamahia ana ka peia mai i te keteroki, a ka noho te paunga mahara o te tauira ki te rahi keteroki kua tohua. Koinei tetahi atu painga o te hoahoa-a-ringa, e huna ana i nga taipitopito whakatinanatanga mai i te waehere kiritaki.

Ko te tikanga mo te whakamohio i nga huringa ki nga huānga Java he rite tonu ki te tikanga mo te whai i nga huringa ki nga rauemi mokowāmahi kua korerohia i runga ake nei. Ko te kiritaki e hiahia ana ki te aro turuki i nga huringa o te tauira Java ka haina ki nga whakamohiotanga, e tohuhia ana hei ahanoa ElementChangedEvent kei roto he IJavaElementDelta (Whakaahua 6).

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 6. ElementChangedEvent me IJavaElementDelta

Ko te tauira Java karekau he korero e pa ana ki nga tinana tikanga, ki te whakatau ingoa ranei, no reira mo te whakamaarama taipitopito o te waehere kua tuhia ki Java, ka whakaratohia e JDT Core tetahi tauira taapiri (kaore i te kakau-a-ringa): rakau wetereo waitara (rakau wetereo tuhi, AST). Ko te AST e tohu ana i te hua o te poroporoaki i te tuhinga puna. Ko nga pona AST e rite ana ki nga huānga o te hanganga o te kōwae puna (whakapuakanga, kaiwhakahaere, korero, me etahi atu) me nga korero mo nga taunga o te huānga e rite ana i roto i te tuhinga puna, me nga korero (hei whiringa) mo te whakatau ingoa i roto te ahua o nga hononga ki te mea e kiia nei herea. Ko nga here he ahanoa e tohu ana i nga hinonga kua whakaingoatia, penei i nga momo, tikanga, me nga taurangi, e mohiotia ana e te kaitoi. Kaore i rite ki nga pona AST, ka hanga rakau, ka tautoko nga hononga ki te whakawhiti tohutoro me te hanga kauwhata. Ko te akomanga waitara ASTNode te karaehe turanga noa mo nga pona AST katoa. Ko nga karaehe iti o te ASTNode e rite ana ki nga hanganga whakahiato motuhake o te reo Java.

Na te mea ka pau te maha o nga mahara o nga rakau wetereo, kotahi anake te AST e keteroki ana a JDT mo te kaiwhakatika hohe. Kaore i rite ki te tauira Java, ko te AST te nuinga ka tirohia he tauira "takawaenga," "waarangi" kaore ona mema e mau ki te tohutoro e nga kiritaki i waho o te horopaki o te mahi i puta ai te hanganga o te AST.

Ko nga tauira e toru kua whakarārangihia (tauira Java, AST, herea) hei turanga mo te hanga "taputapu whanaketanga mohio" i roto i te JDT, tae atu ki te kaiwhakatika Java kaha me nga momo "kaiawhina", he maha nga mahi mo te tukatuka waehere puna (tae atu ki te whakariterite i te rarangi kawemai. ingoa me te whakahōputu kia rite ki te kāhua kua whakaritea), rapu me nga taputapu refactoring. I roto i tenei take, he mahi motuhake te tauira Java, na te mea ko ia te mea e whakamahia ana hei turanga mo te whakaaturanga ataata o te hanganga o te tono e whakawhanakehia ana (hei tauira, i roto i te Package Explorer, Outline, Search, Call Hierarchy, me Momo Arataki).

Ko nga waahanga Eclipse e whakamahia ana i roto i te 1C: Utauta Whakawhanake Pakihi

Kei te Fig. Ko te Whakaaturanga 7 e whakaatu ana i nga waahanga Eclipse e hanga ana i te turanga o te papahanga hangarau mo 1C: Utauta Whakawhanake Pakihi.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 7. Eclipse hei turanga mo 1C:Utauta Whakawhanake hinonga

Eclipse Platform whakarato hanganga taketake. I titiro matou ki etahi ahuatanga o tenei hanganga i te waahanga o mua.

Anga Whakatauira Eclipse (EMF) he tikanga whanui mo te whakatauira i nga raraunga hanganga. Ko te EMF kua whakauruhia ki te Eclipse Platform, engari ka taea te whakamahi wehe i roto i nga tono Java auau. I te nuinga o nga wa, kua tino mohio nga kaiwhakawhanake Eclipse hou ki te EMF, ahakoa kaore ano kia tino marama ki nga ahuatanga o te Eclipse Platform. Ko tetahi o nga take mo te tino rongonui ko te hoahoa o te ao, kei roto i era atu mea, he API taumata-meta kotahi, e taea ai e koe te mahi tahi me tetahi tauira EMF i roto i te huarahi whanui. Ko nga whakatinanatanga taketake mo nga taonga tauira e whakaratohia ana e EMF me te punaha iti mo te whakaputa i te waehere tauira i runga i te tauira-meta ka tino whakanui ake i te tere o te whakawhanaketanga me te whakaiti i te maha o nga hapa. Kei roto hoki i te EMF nga tikanga mo te raupapa tauira, te whai i nga huringa ki te tauira, me te maha atu.

Pērā i ētahi taputapu tino kaupapa whānui, he pai te EMF mo te whakaoti i te whānuitanga o nga raru whakatauira, engari ko etahi o nga momo tauira (hei tauira, ko nga tauira i runga i te kakau i korerohia i runga ake nei) ka hiahiatia etahi taputapu whakatauira motuhake ake. Ko te korero mo te EMF he mahi kore mihi, ina koa i roto i nga rohe iti o te tuhinga kotahi, na te mea he pukapuka motuhake tenei, he pukapuka tino matotoru. Kia mahara noa tatou ko te punaha o te kounga teitei o nga whaanui kei raro i te EMF i whakaaetia te whanau o nga momo kaupapa katoa i whakatapua ki te whakatauira, kei roto i te kaupapa taumata-runga. Whakatauira Eclipse me te EMF ano. Ko tetahi o aua kaupapa ko Eclipse Xtext.

Eclipse Xtext e whakarato ana i te hanganga "whakatauira kuputuhi". Xtext whakamahi ANTLR mo te wetewete i te tuhinga puna me te EMF mo te tohu i te ASG ka puta mai (te kauwhata kupu tuhi, he tino huinga o te AST me nga here), ka kiia hoki ko te "tauira taatai". Ko te wetereo o te reo i whakatauirahia e Xtext e whakaahuatia ana i roto i te reo ake o Xtext. Ma tenei ka taea e koe te whakaputa whakaahua wetereo mo te ANTLR, engari kia whiwhi ano koe i tetahi tikanga whakarangatiratanga AST (arā, ko te Xtext e whakarato ana i te parser me te unparser), he tohu horopaki, me etahi atu waahanga reo. I tetahi atu taha, he iti ake te ngawari o te reo wetereo e whakamahia ana i roto i te Xtext i te reo wetereo e whakamahia ana i roto i te ANTLR. No reira, i etahi wa me "whakapiko" te reo kua whakatinanahia ki te Xtext, kaore he raru mena kei te korero tatou mo te reo i whakawhanakehia mai i te wahanga, engari kaore pea e whakaaetia mo nga reo kua oti te whakarite. Ahakoa tenei, ko Xtext te taputapu tino pakeke, whai rawa, me te maha o nga taputapu i Eclipse mo te hanga i nga reo kaupapa me nga taputapu whanaketanga mo ratou. Ina koa, he taputapu pai mo te tauira tere reo rohe-motuhake (reo rohe-motuhake, DSL). I tua atu i te "matua reo" kua whakahuahia ake nei i runga i te ANTLR me te EMF, ka whakaratohia e Xtext te maha o nga waahanga taumata-teitei, tae atu ki nga tikanga tohu tohu, te hanga taapiri, te "kaiwhakatika atamai", me te maha atu, engari ka waiho te kakau- i runga i nga tauira reo. Pērā i te EMF, he kaupapa e tika ana mo te pukapuka motuhake a Xtext, karekau e taea te korero poto mo ona kaha katoa inaianei.

1C: Ko nga Utauta Whakawhanake Hinonga e kaha whakamahi ana i te EMF ake me etahi atu kaupapa Whakatauira Eclipse. Ina koa, ko te Xtext tetahi o nga turanga o nga taputapu whanaketanga mo enei 1C: Nga reo umanga penei i te reo hootaka me te reo patai. Ko tetahi atu kaupapa mo enei taputapu whanaketanga ko te kaupapa Eclipse Handly, ka korerohia e tatou mo nga korero taipitopito (mo nga waahanga Eclipse kua whakarārangihia, he mea iti tonu te mohio).

Eclipse Handly, he kaupapa iti o te kaupapa taumata-runga Hangarau Eclipse, i puta mai i te takoha tohu tuatahi ki te Eclipse Foundation i hangaia e 1C i te tau 2014. Mai i tera wa, kei te tautoko tonu a 1C i te whakawhanaketanga o te kaupapa: He kaimahi nga kaimahi o te kamupene. He iti te kaupapa, engari kei roto i te kohanga ahurei i Eclipse: ko tana whainga matua ko te tautoko i te whanaketanga o nga tauira-a-ringa.

I korerohia i runga ake nga maataapono hoahoanga o nga tauira a-ringa, penei i te kwaha kakau/tinana, ma te whakamahi i te tauira rauemi me te tauira Java hei tauira. I kii ano ko te tauira rauemi me te tauira Java he tino turanga mo nga taputapu whanaketanga Eclipse Java (JDT). A, i te mea tata ki te katoa o nga kaupapa *DT Eclipse he hoahoanga rite ki a JDT, ehara i te mea he nui te korero ko nga tauira e mau ana i te kakau ka mau te maha, mena kaore nga IDE katoa i hangaia ki runga ake o te Eclipse Platform. Hei tauira, ko te Eclipse C/C++ Development Tooling (CDT) he tauira C/C++ e hangai ana i te kakau, he rite te mahi ki te hoahoanga CDT me te tauira Java i te JDT.

I mua i a Handly, kaore a Eclipse i tuku whare pukapuka motuhake mo te hanga tauira reo-a-ringa. Ko nga tauira e noho nei i hangaia i te nuinga o te waa ma te urutau tika ki te waehere tauira Java (aka kape/whakapiri), i nga keehi ka whakaaetia Eclipse Public Raihana (EPL). (E tika ana, ehara tenei i te take ture mo, e kii ana, ko nga kaupapa a Eclipse ake, engari ehara mo nga hua puna kati.) I tua atu i te ahua ohorere, ko tenei tikanga ka whakauru i nga raru rongonui: ko te taapiri waehere i whakauruhia e te wa e urutau ana ki nga hapa, etc. Ko te mea kino ko nga tauira ka puta he "mea i roto i a raatau" me te kore e whakamahi i te kaha mo te whakakotahi. Engari ko te wehe i nga ariā me nga tikanga noa mo nga tauira reo-a-ringa ka taea te hanga i nga waahanga ka taea te whakamahi mo te mahi ki a raatau, he rite ki nga mea i pa ki te keehi o EMF.

Ehara i te mea kaore a Eclipse i mohio ki enei take. I te tau 2005 Matini Aeschlimann, whakarāpopoto i te wheako ki te whakawhanake i te tauira tauira CDT, ka tohe te hiahia ki te hanga hanganga noa mo nga tauira reo, tae atu ki nga tauira e hangai ana i te kakau. Engari, i te nuinga o nga wa, na te nui ake o nga mahi matua, kaore i tutuki te whakatinanatanga o enei whakaaro. I tenei wa, ko te whakahiatotanga o te *DT code tetahi o nga kaupapa kaore ano kia whakawhanakehia i Eclipse.

I roto i tetahi tikanga, i hangaia te kaupapa Handly ki te whakaoti i nga raru e rite ana ki te EMF, engari mo nga tauira e hangai ana i te kakau, me te reo matua (ara, he tohu i nga huānga o te hanganga o etahi reo papatono). Ko nga whainga matua kua whakaritea i te wa e hoahoa ana a Handly kei raro iho nei:

  • Te tautuhi i nga tangohanga matua o te waahi kaupapa.
  • Te whakaiti i te kaha me te whakapai ake i te kounga o te whakatinanatanga o nga tauira reo-a-ringa ma te whakamahi ano i nga waehere.
  • Te whakarato i te API taumata-meta kotahi ki nga tauira ka puta, ka taea te hanga i nga waahanga IDE noa e mahi ana me nga tauira reo-a-ringa.
  • Te ngawari me te tauineine.
  • Te whakauru ki te Xtext (i roto i te paparanga motuhake).

Hei whakanui i nga ariā me nga tikanga noa, i tātarihia nga whakatinanatanga o naianei o nga tauira i runga i te kakau reo. Ko nga hononga matua me nga whakatinanatanga taketake e whakaratohia ana e Handly e whakaatuhia ana i te Fig. 8.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 8. Atanga noa me te whakatinanatanga taketake o nga huānga Handly

Ko te atanga IElement e tohu ana i te kakau o tetahi huānga, he mea noa ki nga huānga o nga tauira-a-ringa katoa. Ko te huānga o te karaehe waitara e whakatinana ana i te tikanga o te kakau/tinana (Fig. 9).

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 9. IElement and generic kakau/tinana whakatinanatanga

I tua atu, ka whakaratohia e Handly he tikanga whanui mo te whakamohio mo nga huringa o nga huānga tauira (Fig. 10). Kei te kite koe, he rite tonu ki nga tikanga whakamohiotanga kua whakatinanahia i roto i te tauira rauemi me te tauira Java, me te whakamahi i te IElementDelta ki te whakarato i te ahua kotahi o nga korero huringa huānga.

Eclipse hei turanga hangarau mo 1C:Utauta Whakawhanake hinonga
raihi. 10. Nga atanga whanui me nga whakatinanatanga taketake o te tikanga whakamohiotanga Handly

Ko te waahanga Handly i korerohia i runga ake nei (Whakaahua 9 me te 10) ka taea te whakamahi hei tohu tata mo nga tauira e mau ana i te kakau. Mo te hanga reo tauira, ka tukuna e te kaupapa etahi atu mahi - ina koa, nga atanga noa me nga whakatinanatanga taketake mo nga huānga o te hanganga kuputuhi puna, te mea e kiia nei. huānga pūtake (Whakaahua 8). Ko te atanga ISourceFile e tohu ana i tetahi konae puna, a ko ISourceConstruct e tohu ana i tetahi huānga i roto i te konae puna. Ka whakatinanahia e nga karaehe waitara SourceFile me SourceConstruct nga tikanga whaanui hei tautoko i te mahi me nga konae puna me o raatau huānga, hei tauira, te mahi me nga kaitarai kupu, te hono ki nga taunga o tetahi huānga i roto i te tuhinga puna, te whakahonohono tauira me nga ihirangi o naianei o te kape kape mahi. , etc. He tino wero te whakatinana i enei tikanga, a ka taea e Handly te whakaiti i te kaha ki te whakawhanake tauira reo-a-ringa ma te whakarato i nga whakaritenga turanga kounga teitei.

I tua atu i nga tikanga matua kua whakarārangihia i runga ake nei, ka whakaratohia e Handly he hanganga mo nga kaitarai kuputuhi me nga whakaahua, te tautoko mo te whakauru ki nga kaiwhakatika waehere puna (tae atu ki te whakauru ki waho o te pouaka me te ētita Xtext), me etahi waahanga UI noa mahi me nga kaiwhakatika waehere puna. Hei whakaatu i ona kaha, ka whakaratohia e te kaupapa etahi tauira, tae atu ki te whakatinanatanga o te tauira Java i Handly. (Ka whakatauritea ki te whakatinanatanga katoa o te tauira Java i JDT, he ahua ngawari tenei tauira kia tino marama ake.)

Ka rite ki te korero i mua ake nei, ko te aronga nui i te wa o te hoahoatanga tuatahi a Handly me te whanaketanga o muri mai ko te whakahiato me te ngawari.

Ko te tikanga, he pai te tauine o nga tauira i runga i te kakau "ma te hoahoa". Hei tauira, ko te kiwaha kakau/tinana ka taea e koe te whakawhāiti i te nui o te mahara e pau ana e tetahi tauira. Engari tera ano etahi nuances. No reira, i te wa e whakamatautau ana i a Handly mo te tauineine, i kitea he raru i te whakatinanatanga o te tikanga whakamohiotanga - i te wa i whakarereketia te maha o nga huānga, he roa rawa te wa ki te hanga deltas. I puta mai ko te raru ano kei roto i te tauira JDT Java, i uru mai ai te waehere e rite ana. I whakatikahia e matou te pepeha ki Handly me te whakarite i tetahi paparanga rite mo JDT, i whakawhiwhia mai ma te mihi. He tauira noa tenei ka whai hua pea te whakauru i a Handly ki nga tauira o naianei, na te mea i tenei keehi ka taea te whakatika i taua pepeha ki te waahi kotahi.

Kia taea ai te whakamahi a Handly ki roto i nga tauira tauira o naianei, me tino ngawari te whare pukapuka. Ko te raru nui ko te pupuri hototahi whakamuri puta noa i te tauira API. I whakatauhia tenei raruraru i roto i Maamaa 0.5 na roto i te wehewehe i te API tauira-motuhake, kua tautuhia me te tino whakahaere e te kaiwhakawhanake, mai i te API taumata-meta whakakotahi e whakaratohia ana e te whare pukapuka. Ehara tenei i te mea hangarau ka taea te whakauru i a Handly ki roto i nga whakatinanatanga o naianei, engari ka whai mana nui ki te kaiwhakawhanake tauira hou ina hoahoa te API.

Kei te waatea etahi atu waahanga. Hei tauira, tata karekau he here a Handly ki te hanganga o te tauira ka taea te whakamahi hei whakatauira i nga reo e rua mo te kaupapa whanui me nga reo motuhake. I te wa e hanga ana i te hanganga o te konae puna, kaore a Handly e tohu i tetahi momo ahua o te tohu AST, a, i runga i te maapono, kaore e hiahiatia kia tae mai he AST ake, na reira ka whakarite te hototahi ki te tata ki nga momo mahi parsing. Ka mutu, ka tautoko a Handly i te whakaurunga katoa ki te mokowāmahi Eclipse, engari ka taea hoki te mahi tika me nga punaha konae na tona whakaurunga ki Pūnaha Kōnae Eclipse (EFS).

Putanga o naianei Maamaa 0.6 i puta mai i te Hakihea 2016. Ahakoa ko te kaupapa kei roto i te ahua o te incubation me te API kaore ano kia whakatauhia, kua whakamahia kētia a Handly i roto i nga hua hokohoko nui e rua i kaha ki te mahi hei "kaiwhakapainga moata", a, me kii ahau, kaua ano e pouri.

Ka rite ki te korero i runga ake nei, ko tetahi o enei hua ko te 1C: Nga Utauta Whakawhanake Pakihi, kei reira ka whakamahia a Handly mai i te timatanga ki te whakatauira i nga huānga o te hanganga taumata-tiketike o taua 1C: Nga reo umanga penei i te reo hootaka me te reo patai. . Ko tetahi atu hua kaore i te mohiotia e te iwi whanui. Tenei Codasip Studio, he taiao hoahoa whakauru mo te tukatuka tohutohu-whakarite tono motuhake (ASIP), i whakamahia i roto i te kamupene Czech Codasip ake me ona kaihoko, tae atu ki AMD, AVG, Waea, Hoahoa Sigma. Kei te whakamahi a Codasip i te Handly i roto i te mahi mai i te tau 2015, ka tiimata me te putanga Handly 0.2. Ko te putanga hou o Codasip Studio e whakamahi ana i te putanga 0.5, i tukuna i te Pipiri 2016. Ko Ondřej Ilčík, e arahi ana i te whanaketanga IDE i Codasip, kei te hono atu ki te kaupapa, me te tuku urupare tino nui mo te "kaitautoko tuatoru". I taea e ia te kimi i etahi wa waatea ki te whakauru tika ki te whanaketanga o te kaupapa, te whakatinana i tetahi paparanga UI (~ 4000 rarangi waehere) mo tetahi o nga tauira Handly, he tauira Java. Ka kitea etahi atu korero mo te whakamahi a Handly i runga i te wharangi Ngā Takahanga Whakaari kaupapa.

Te ti'aturi nei matou i muri i te tukunga o te putanga 1.0 me te taurangi mo te pumau o te API me te kaupapa ka wehe atu i te ahua o te incubation, ka whiwhi a Handly i nga tangata hou. I tenei wa, kei te whakamatautau tonu te kaupapa me te whakapai ake i te API, ka tukuna e rua nga tuku "nui" ia tau - i te marama o Hune (te ra ano i te tukunga o te Eclipse tukutahi) me te Hakihea, e whakarato ana i te raarangi tohu ka taea e nga kaiwhaiwhai te whakawhirinaki. Ka taea hoki e matou te taapiri ko te "reeti bug" o te kaupapa kei te noho tonu ki te taumata iti me te mahi pono a Handly i roto i nga hua o te hunga whakauru moata mai i nga putanga tuatahi. Hei tuhura ake i te Eclipse Handly, ka taea e koe te whakamahi Whakaakoranga Timata и Tirohanga Hoahoa.

Source: will.com

Tāpiri i te kōrero