Pereiti prie pagrindinio turinio

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

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

Plugin’ų kūrimo proceso 1 pavyzdys
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.

Plugin’ų kūrimo proceso antras pavyzdys
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.

Plugin’ų kūrimo proceso 3 pavyzdys
3 pav.

Populiariausi blog'ai

  • Migrating from Xamarin to .NET MAUI: A Comprehensive Guide

    The world of mobile application development is constantly evolving, and Microsoft’s .NET Multi-platform App UI (.NET MAUI) is at the forefront of this change. As an evolution of Xamarin.Forms, .NET MAUI offers developers a modern, cross-platform framework for building native device applications. This blog post will guide you through the process of migrating your existing Xamarin.Forms application to .NET MAUI.

  • My experience on taking the eWPTXv2 exam

    So a few months ago I had the joy of passing the eWPTXv2 exam. Well, it does not sound intriguing until you translate it into human language. The eWPTXv2 is actually eLearnSecurity Web Penetration Testing Extreme second version. Everything sounds better than you put extreme into it. Well, this is not that case since the exam is actually a bit hard.

  • Socialinis intranetas „Simoona“ – dabar prieinamas kiekvienam!

    Šiame blog’o įraše papasakosime apie vidinės komunikacijos įrankį, mūsų kurtą socialinį tinklą „Simooną“. Tik prasidėjus kūrybos procesui mums rūpėjo tik viena – kaip kuo daugiau įmonės kultūros perkelti į skaitmeninę erdvę. Ir prieš aštuonerius metus, net neįsivaizdavome, kad šis vidinis intranetas, bus toks svarbus kuriant glaudžius ryšius tarp kolegų ir tikrai net negalėjome nutuokti, kokia svarbi „Simoona“ bus užklupus pasaulinei pandemijai.