Programiranje

Najboljši IDE in urejevalniki jezika Go

Googlov jezik Go, imenovan Golang, je bil pred kratkim izbran za programski jezik Tiobe leta 2016 na podlagi njegove hitre rasti priljubljenosti v letu, več kot dvakrat večje od uvrstitve Dart in Perl. Jezikovni indeks Tiobe temelji na "številu usposobljenih inženirjev po vsem svetu, tečajih in neodvisnih prodajalcih", pri čemer se uporabljajo rezultati več iskalnikov.

Toliko rast priljubljenosti prinaša povečano zanimanje za razvojna orodja za programski jezik. Ker je jezik Go distribuiran v odprtokodni obliki skupaj s prevajalniki, orodji in knjižnicami, lahko programerji sami najdejo urejevalna okolja, ki se zavedajo Go, bodisi neposredni urejevalniki ali integrirana razvojna okolja (IDE), ki jih gosti lokalno ali v oblak.

V tem članku sem poskušal preučiti vsa razpoložljiva okolja za urejanje, ki se zavedajo Go, in jih vključiti v tista, ki se zdijo vredna. Začel sem z uradnim seznamom IDE-jev in vtičnikov za Go in na koncu seznanil približno 35 elementov s seznama do tistih, ki bi si zaslužili preizkus. Začel bom s hitrim pregledom uporabnih izdelkov, ki sem jih našel v vsaki kategoriji, in končal s podrobnim pregledom svojih najboljših izbir.

Upoštevajte, da se razvoj jezika Go običajno opira na spremenljivko GOPATH, nastavljeno na koren vašega delovnega prostora za razvoj Go. To je lahko težava za aplikacije GUI, kot so urejevalniki, ki ne upoštevajo vedno nastavitev okolja.

Obstaja več kot ducat jezikovnih orodij Go, ki jih lahko namestite v imenike pod mapo GOPATH z Pojdi iskat po namestitvi samega Go. Mnogi uredniki, ki sem jih ocenil, uporabljajo eno ali več teh orodij.

Pojdi na IDE

Obstaja presenetljivo veliko IDE-jev, ki podpirajo Go. Vendar se pomen izraza „podpora“ razlikuje. Zame so izstopali štirje IDE: Gogland, Eclipse z goclipse, LiteIDE in Komodo IDE.

Na vrhu ima Gogland iz JetBrains pametne zaključke, preglede in hitre popravke, preprosto predelavo, hitro navigacijo, hitra pojavna okna, nekaj zelo osnovnih generacij kode, rekurzivno zaznavanje klicev, pojavna okna vrste izrazov, poudarjanje izhodne točke, iskanje uporabe, oblikovanje kode, pomensko poudarjanje in namige parametrov v urejevalniku. Da, to je veliko funkcionalnosti za urejanje novega jezika. Druge funkcije Goglanda vključujejo integrirani razhroščevalec, analizo pokritosti, preizkusno izvajanje, meni za zagon orodij Go in nekatere funkcije, ki niso specifične za Go, podobno kot pri drugih izdelkih JetBrains, kot je IntelliJ IDEA. Gogland lahko upravlja več nastavitev GOPATH, namesto da se zanaša izključno na sistemsko okolje GOPATH.

Gogland je trenutno na voljo brezplačno kot izdelek z zgodnjim dostopom. Najverjetneje se bo sčasoma oblikoval po cenah drugih izdelkov JetBrains. Pričakujte, da bo na voljo z letno naročnino bodisi samostojno bodisi v paketu z ostalimi orodji JetBrains, s popusti za akademike in odprtokodne sodelavce.

Na nekoliko nižji stopnji zapletenosti Eclipse z goclipse v svojem urejevalniku omogoča poudarjanje sintakse, samodejno zamikanje in oris, vse v duhu drugih jezikovnih modulov Eclipse, kot je Java. Integracije vključujejo odpravljanje napak z GDB, iskanje definicij z orodjema guru in godef Go ter samodejno dokončanje z orodjem gocode. Eclipse in vtičnik goclipse sta brezplačna in odprtokodna.

LiteIDE v urejevalniku ponuja brskalnik paketov, pogled in oris predavanj, brskalnik dokumentov, navigacijo po kodi, iskanje načinov uporabe in refaktoriranje kode. Integracije vključujejo podporo za gocode, indeks API-ja GOPATH, odpravljanje napak z GDB in igrišče Go. LiteIDE je brezplačen in odprtokoden.

Komodo IDE podpira preverjanje skladbe (povezovanje) in poudarjanje, barvanje skladnje, zlaganje kode in druge funkcije za povečanje produktivnosti. Komodo podpira tudi inteligenčno kodo Go z dopolnitvami, nasveti za klice, orisami in definicijo. Refaktoriranje vključuje preimenovanje spremenljivk in članov razreda ter ekstrakcijo metode. Komodo podpira enotno testiranje Go, sodelovanje s kodami, nadzor različic, interaktivne lupine in profiliranje kode. Glavna trditev Komodo-a o slavi je, da podpira vse glavne odprtokodne jezike, vključno s Python, Node.js, Ruby, Go, Perl in Tcl.

Komodo IDE je komercialni izdelek. Komodo Editor, ki ima podskupino zmožnosti IDE, je brezplačen.

Pojdi uredniki

IDE lahko nudi vse funkcije, ki jih želite razviti, vendar se IDE pogosto počutijo "težke". Z drugimi besedami, lahko traja dolgo, da se zaženejo, porabijo veliko pomnilnika in se včasih počutijo neodzivne, ko vtipkate kodo, ker delajo preveč v ozadju. Urejevalniki kode so včasih bolj zaželeni, zlasti za kratke seje, če vas ne moti preklop na ločeno okno lupine ukazne vrstice za prevajanje.

Vtičniki lahko urejevalnikom kod včasih dodajo funkcije, podobne IDE. To je običajno dobro, če periodični režijski stroški vzdrževanja vtičnikov in stalni režijski stroški vtičnikov, ki se izvajajo v ozadju, ne upočasnijo urejanja.

Atom, Brackets in Visual Studio Code so trije urejevalniki, ki so mi izstopali pri delu v jeziku Go. Vsi so brezplačni in odprtokodni. Kljub temu se BBEdit, Emacs, Notepad ++, Sublime Text, TextMate in Vim integrirajo z jezikovnimi vtičniki Go in vsi imajo svoje zagovornike. Emacs, Notepad ++ in Vim so brezplačni in odprtokodni. BBEdit je komercialen, njegov mlajši brat TextWrangler pa je brezplačen.

Urejevalnik Atom iz GitHub je dobavljen s paketom language-go, ki podpira slovnico in odrezke Go. Dodatni paketi za Go prinašajo več funkcionalnosti. Go-plus se na primer integrira s številnimi standardnimi orodji Go (za samodokončanje, formatiranje, povezovanje, preskušanje), da zagotovi okolju, podobno IDE, in go-debug se integrira z razhroščevalnikom za poglabljanje.

Urejevalnik oklepajev iz Adobe ima več razširitev skupnosti za podporo Go. Sem spada Go-IDE, ki uporablja gocode za samodokončanje; Go-Syntax, ki za poudarjanje sintakse uporablja CodeMirror; in Improved Go Formatter, ki uporablja gofmt za oblikovanje kode in goimports za upravljanje uvoza.

Visual Studio Code podpira izpostavljanje sintakse Go. Dodatne funkcije ponuja vtičnik vscode-go, ki se integrira z več kot ducatom standardnih orodij Go. Če še niste nastavili GOPATH, vas bo vtičnik pozval, da ga nastavite takoj, ko poskušate urediti jezikovno datoteko Go; lahko ga nastavite za projekt in / ali sistemsko okolje. Če nimate nameščenih orodij Go, vas bo vtičnik pozval, da jih namestite na običajna mesta, kot jih določa vaš GOPATH.

Go IDE v oblaku

IDE v oblaku so razmeroma nedavna novost na področju razvoja programske opreme. Imata dve značilni prednosti: ne zahtevata nobene lokalne namestitve, razen združljivega brskalnika, in to res maja dovoli urejanje več razvijalcem, če so zanj namenjeni. Slaba stran je, da IDE v oblaku pogosto trpijo zaradi zaostanka, ki lahko razvijalce olajša in ovira "pretok", ki omogoča, da so kodirniki najbolj produktivni. Trije IDE v oblaku trenutno podpirajo jezik Go: Cloud9, CodeEnv in Wide.

Cloud9 je večjezični IDE v oblaku, ki podpira Go out of the box. Povezuje se s skladišči GitHub, Bitbucket in Google Cloud Platform in ima delovne prostore, ki jih lahko delite in klonirate. Poleg urejevalnika kode z obsežnim naborom funkcij in spletnim datotečnim sistemom ima MySQL in druge zbirke podatkov, terminalska in neposredna okna ter prilagodljive vezave tipkovnice, pri čemer so standardno na voljo načini Vim, Emacs in Sublime Text. Samodokončanje in odpravljanje napak za Go sta še vedno eksperimentalna, vendar so poudarki sintakse, podokno za zagon, pogled na oris in povezovanje v celoti podprti.

CodeEnv je tudi večjezični IDE v oblaku. Obstaja slika Go base okolja za zasebna okolja, pa tudi javna slika Go okolje. Vsako okolje je sestavljeno iz datotečnega sistema, preprostega urejevalnika kod s poudarjanjem sintakse in terminalskega okna. Trenutno obstaja osem izbir osnovne slike in šest izbir zaledne slike.

Wide je spletni IDE za ekipe, ki je napisan v in za programski jezik Go. Uporablja urejevalnik tematskih programov, ki temelji na CodeMirror, s poudarkom sintakse s pomočjo gocode, samodejnim dokončanjem, oblikovanjem kode in sodelovanjem v realnem času. Wide navaja LiteIDE kot odvisnost.

Gogland

Zdi se, da je JetBrains Gogland, ki je trenutno v stanju zgodnjega predogleda, najbolj popoln Go IDE, ki je na voljo, čeprav še ni komercialno izdan. Njegova integrirana programska oprema za odpravljanje napak, analiza pokritosti in preizkusno izvajanje močno prispevajo k njeni ločljivosti od tekočih urednikov, ki imajo nekaj integracij orodij.

Na spodnjem posnetku zaslona, ​​kjer z Goglandom preučujem nekaj izvorne kode projekta Go language, lahko vidite več funkcij urejanja Goglanda, vključno z drevesom projekta, namigom za pregled (žarnica), poudarjanjem izhodne točke in hitrim brskanjem z uporabo navigacijska vrstica na desni (polje kode s številkami vrstic, ki niso v redu). Za več posnetkov zaslona, ​​ki prikazujejo, kaj lahko naredi Gogland, vas bom napotil v vodnik po funkcijah JetBrains.

Gogland uporablja isti ekosistem vtičnikov JetBrains kot IntelliJ IDEA in WebStorm in že vključuje številne ustrezne funkcije, podedovane od teh izdelkov. Na primer, Gogland lahko uporabite za delo z HTML-ji in vmesnimi jeziki ter ogrodji, tako kot WebStorm. Gogland vam omogoča tudi delo s podatkovnimi bazami SQL, kot sta IntelliJ IDEA in DataGrip. Če morate združiti podporo za Node.js s kodo Go ali poleg integracije Git potrebujete podporo za Subversion, je hitro dodajanje vtičnikov.

Koda Visual Studio

Visual Studio Code z vtičnikom vscode-go je prijeten urejevalnik Go, ki deluje dobro in ima dobro integracijo Git. Visual Studio Code potrebuje posodobitve in ponovni zagon vsaj enkrat na mesec, vendar med urejanjem redko deluje počasi. Na posnetku zaslona spodaj vidimo raziskovalec na levi, namestitev orodij Go spodaj desno in urejanje kode zgoraj desno.

Orodja Go omogočajo vtičnik vscode-go, ki ponuja številne funkcije urejanja in preverjanja kode. Sem spadajo seznami zaključkov (z uporabo gocode), pomoč pri podpisu (z uporabo gogetdoc ali godef plus godoc), delčki, kratke informacije (z uporabo gogetdoc ali godef plus godoc), pojdite na definicijo (z uporabo gogetdoc ali godef plus godoc), poiščite reference (z uporabo guru), oris datoteke (z uporabo go-orine), iskanje simbolov v delovnem prostoru (z uporabo go-simboli), preimenuj (z uporabo gorename), nadgradi-shrani (z uporabo pojdi graditi in pojdite na test), lint-on-save (z uporabo golint ali gometalinter), format (z uporabo goreturns ali goimports ali gofmt), ustvari enotno preskusno okostje (z uporabo gotests), dodajte uvoz (z uporabo gopkgs) in delno izvedeno odpravljanje napak (z uporabo poglobiti se).

To je veliko uporabnih funkcij, čeprav ne toliko, kot jih dobite v Gogland IDE. Screencast v datoteki vscode-go readme dobro prikaže, kako deluje večina funkcij.

Cloud9

Med tremi IDE-ji v oblaku, ki podpirajo Go, se trenutno zdi najbolj zanimiv Cloud9. Ima najbolj funkcionalen programski urejevalnik izmed treh in poleg Go podpira še približno 17 jezikov. Čeprav je dokončanje kode jezika Go označeno kot eksperimentalno, sem ugotovil, da je delovalo precej dobro in ni povzročalo veliko zamud pri tipkanju.

Urejevalnik Ace Cloud9 trenutno podpira poudarjanje sintakse za več kot 100 programskih jezikov. Zgornja številka 17 je za jezike, ki imajo tudi drugo podporo, na primer zagon kode, povezovanje, oris, dokončanje kode in odpravljanje napak.

V delovnih prostorih Cloud9 trenutno deluje Ubuntu 14.04 in Go 1.7.3. Namestitev programa Go lahko posodobite iz lupine Bash (glejte spodnji del posnetka zaslona) ter zaženete program Go in druge programe iz storitve Bash.

Kot smo videli, imate na voljo veliko možnosti programskega okolja za razvoj Go. Medtem ko sem izbral Goglanda kot najboljšega polno predstavljenega Go IDE, Visual Studio Code z vscode-go kot najboljši urejevalnik Go in Cloud9 kot najboljši IDE Go cloud zame, obstaja več kot 30 drugih možnosti. Glede na to, kako osebna je izbira okolja za razvoj programske opreme, poskusite nekaj in preverite, katera najbolje ustreza vašim potrebam in željam.

$config[zx-auto] not found$config[zx-overlay] not found