Kaip pagerinti savo ir kolegų produktyvumą praplečiant JetBrains įrankius

About The Author

Tadas Aučiūnas is a back-end developer working in the Azets team since 2017. He graduated from Vilnius University with a bachelor’s degree in Software Engineering, and since has been interested in different parts of AI, robots and automation of various tasks.

Nuo pat XX a. vidurio iki šiandien, IT inžinierių darbas darosi vis patogesnis ir labiau automatizuotas. Pradžioje, programuotojai programas kūrė naudodami popierines korteles, šį primityvų metodą maždaug 1970-aisias pakeitė kompiuterinės programos su grafinėmis sąsajomis, leidžiančiomis redaguoti kodą. Per keletą dešimtmečių, šios programų kūrimo aplinkos stipriai pažengė – atsirado įrankių, automatiškai užbaigančių kodą, greitai randančių klaidas ar kitaip palengvinančių darbą programų kūrėjams. Vieni iš šių įrankių – kompanijos JetBrains kuriami produktai, kuriuos naudojame ir mes, Visma Lietuva IT inžinieriai. Išbandžius šių įrankių praplėtimo galimybes bei pajutę naudą, dalinames tuo su Jumis.

JetBrains kompanijos kuriami IDE (Integrated development environment) tampa vis didesne programuotojų darbo dienos dalimi. Šie įrankiai didina programuotojų našumą, gerina kodo kokybę, padeda automatizuoti pasikartojančias užduotis ir kitaip prisideda prie geresnių darbo rezultatų. Kaip ir bet koks IDE, JetBrains įrankiai nėra tobuli, kadangi prisitaikyti prie kiekvieno vartotojo reikalavimų yra sudėtinga. Kai kurie reikalavimai yra per platūs, kad būtų detaliai išpildyti ir atitiktų skirtingus poreikius. Kai kurie yra labai smulkūs arba ypatingai detalūs, jų paklausa nėra tokia didelė, kad programavimo įrankiai out of the box juos gerai įgyvendintų. Būtent dėl to, įrankius tenka tobulinti patiems programuotojams, taip didinant ne tik savo, bet ir kolegų produktyvumą, su jais besidalinant sukurtais rezultatais.

JetBrains kuriami IDE, tokie kaip PyCharm, PhpStorm, Intellij IDEA ir daugelis kitų, suteikia galimybę jų vartotojams plėsti šiuos įrankius lengvai ir greitai. Visi šie IDE sukurti remiantis Intellij Platform projektu – tai atviro kodo platforma, parašyta su Java programavimo kalba ir yra kuriama JetBrains programuotojų bei kitų atviro kodo entuziastų. Intellij platforma palaiko plugin’us – atskiras programas, sukompiliuotas naudojantis tos pačios platformos kodu, kurios praplečia ar pagerina jos funkcionalumą. Plugin’ai gali būti bet kokia papildoma funkcija, siekianti palengvinti ar pagerinti programuotojų darbą, kaip pvz:

  • automatinių kodo stiliaus klaidų paieška
  • kitų programavimo kalbų ar framework’ų integracija
  • automatiniai kodo generavimo įrankiai
  • integracija su versijavimo kontrolės sistemomis

Plugin’ų kūrimo reikalavimai

Norint sukurti savo plugin’ą, taip praplečiant JetBrains produktų funkcionalumą, reikalavimų tėra du ir jie yra pakankamai lengvai įgyvendinami:

1. Šiek tiek Java programavimo kalbos supratimo.

Kadangi Intellij platforma yra sukurta naudojantis Java, plugin’ams rašyti taip pat reikės naudoti šią programavimo kalbą. Gilių šios kalbos žinių neprireiks, pakaks tik jos pagrindų, arba netgi kitos C šeimos kalbos supratimo.

2. Intellij Platformos arba Intellij IDEA IDE.

Šių įrankių reikia tam, kad pavyktų sukompiliuoti Java kodą į veikiantį plugin’ą. Pačios platformos kodo nereikia, jeigu naudosite Intellij IDEA IDE. Šis IDE jau turi visus reikalingus įrankius plugin’ų kūrimui, integruotus lengvam naudojimui, tad šį nemokamą įrankį ir rekomenduojame naudoti.

Plugin’ų kūrimo procesas

1 pav.

Naudojantis Intellij IDEA IDE, plugin’o kūrimas prasideda nuo New Project dialogo, kuris leidžia pasirinkti Intellij Platform Plugin kaip projekto tipą (žr. pav.1). Pasirinkus jį bei įvedus kelias papildomas reikšmes, pamatysite pradinę projekto aplankų ir failų struktūrą. Vienas iš sukurtų failų – plugin.xml, tai pagrindinis konfiguracinis failas. Šiame faile yra apibrėžiami veiksmai, kuriuos jūsų kuriamas plugin’as galės atlikti. Kiekvienas veiksmas aprašomas kartu su jį įgyvendinančios klasės pavadinimu, to veiksmo iškvietimo galimybėmis, ir kita konfiguracine informacija (žr. pav.2). Daugiau informacijos bei pavyzdžių apie plugin’ų kūrima galite rasti oficialioje JetBrains plugin’ų kūrimo dokumentacijoje.

2 pav.

  

Dalinimasis plugin’ais

Įgyvendinus veiksmus, kuriuos Jūsų kurtas plugin’as atlieka, laikas jį paleisti į viešumą. JetBrains turi plugin’ų repozitoriją, tai vieta, kurioje galite įkelti savo sukurtą plugin’ą bei peržiūrėti tūkstančius kitų žmonių sukurtų plugin’ų. Įkėlus plugin’ą į repositoriją, JetBrains komandos nariai turi įvertinti ar Jūsų sukurtas plugin’as nėra kenkėjiškas ir yra saugus naudoti. Sulaukus patvirtinimo, plugin’as taip pat bus pasiekiamas viešai – tiesiog įvedus jo pavadinimą į Settings -> Plugins meniu bet kuriame JetBrains IDE. Pasiekus šį žingsnį, pats laikas plugin’ą instaliuoti į savo JetBrains IDE, jį naudoti bei nepamiršti juo pasidalinti su kolegomis.

3 pav.