Ohjelmointi

Parhaat Go-kielen IDE: t ja toimittajat

Google's Go -kieli, alias Golang, valittiin äskettäin Tioben ohjelmointikieleksi vuonna 2016 sen perusteella, että sen suosio kasvoi nopeasti vuoden aikana, yli kaksinkertainen kakkonen Dart ja Perl. Tioben kielihakemisto perustuu "ammattitaitoisten insinöörien lukumäärään kaikkialla maailmassa, kursseihin ja kolmansien osapuolten toimittajiin", joka käyttää useiden hakukoneiden tuloksia.

Suuri suosion kasvu tuo mukanaan lisääntyneen kiinnostuksen ohjelmointikielen kehitystyökaluihin. Koska Go-kieli on jaettu avoimen lähdekoodin muodossa, jossa on kääntäjiä, työkaluja ja kirjastoja, ohjelmoijille jää jäljelle Go-tietoiset muokkausympäristöt, joko suorat toimittajat tai integroidut kehitysympäristöt (IDE: t), isännöi paikallisesti tai pilvi.

Tässä artikkelissa olen yrittänyt tarkastella kaikkia saatavilla olevia Go-tietoisia muokkausympäristöjä ja nollata niitä, jotka näyttävät kannattavilta. Aloitin virallisella luettelolla IDE: t ja laajennukset Go: lle ja voitin luettelon noin 35 kohdetta niiden joukkoihin, jotka saattavat ansaita kokeilun. Aloitan nopean yhteenvedon hyödyllisistä tuotteista, jotka löysin kussakin luokassa, ja lopetan tarkkaan suosikkini.

Huomaa, että Go-kielen kehitys perustuu tyypillisesti GOPATH-muuttujaan, joka on asetettu Go-kehityksen työtilan juureksi. Tämä voi olla ongelma GUI-sovelluksille, kuten muokkaajille, jotka eivät aina kunnioita ympäristöasetuksia.

Go-kielityökaluja on yli tusina, jotka voit asentaa hakemistoihin GOPATH-kansion alla Mene hakemaan komento, kun Go itse on asennettu. Monet arvostamistani toimittajista käyttävät yhtä tai useampaa näistä työkaluista.

Go IDE: t

Goia tukevia IDE: itä on yllättävän paljon. "Tuen" merkitys vaihtelee kuitenkin. Neljä IDE: tä erottui minusta: Gogland, Eclipse with goclipse, LiteIDE ja Komodo IDE.

JetBrainsin Gogland tarjoaa huippuluokan älykkäitä täydennyksiä, tarkastuksia ja pikakorjauksia, yksinkertaisen korjauksen, nopean navigoinnin, nopeat ponnahdusikkunat, joitain hyvin perustavanlaatuisia koodeja, rekursiivisen puhelutunnistuksen, lauseketyypin ponnahdusikkunat, poistumiskohdan korostuksen, käytön löytämisen, koodin muotoilun, semanttinen korostus ja parametrivihjeet sen editorissa. Kyllä, siinä on paljon toimintoja nuoren kielen muokkaamiseen. Muita Goglandin ominaisuuksia ovat integroitu virheenkorjaus, kattavuusanalyysi, testikäyttö, valikko Go-työkalujen suorittamiseen ja jotkut ei-Go-kohtaiset toiminnot, jotka ovat samanlaisia ​​kuin muissa JetBrains-tuotteissa, kuten IntelliJ IDEA. Gogland voi hallita useita GOPATH-asetuksia sen sijaan, että luotettaisiin yksinomaan järjestelmän GOPATH-ympäristöön.

Gogland on tällä hetkellä saatavana ilmaiseksi varhaisen pääsyn tuotteena. Loppujen lopuksi se hinnoitellaan todennäköisesti muiden JetBrains-tuotteiden tapaan. Oletettavasti se on saatavana vuositilauksella joko itse tai nipussa muiden JetBrains-työkalujen kanssa, alennuksilla tutkijoille ja avoimen lähdekoodin avustajille.

Hieman alhaisemmalla monimutkaisuudella Eclipse goclipse -toiminnolla tarjoaa syntaksin korostuksen, automaattisen sisennyksen ja hahmontamisen editorissaan, kaikki muiden Eclipse-kielimoduulien, kuten Java, hengessä. Integraatioihin kuuluu virheenkorjaus GDB: n kanssa, määrittelyhaku guru- ja godef Go -työkaluilla ja automaattinen täydennys gocode-työkalulla. Eclipse ja goclipse-laajennus ovat ilmaisia ​​ja avoimen lähdekoodin.

LiteIDE käyttää pakettiselainta, luokkanäkymää ja jäsennystä, asiakirjaselainta, koodinavigointia, sovellusten löytämistä ja koodin korjaamista editorissaan. Integraatioissa on gocode-tuki, GOPATH API -indeksi, virheenkorjaus GDB: n kanssa ja Go-leikkikenttä. LiteIDE on ilmainen ja avoimen lähdekoodin.

Komodo IDE tukee Go-syntaksintarkistusta (nukkausta) ja korostusta, syntaksiväritystä, koodin taittamista ja muita tuottavuutta parantavia ominaisuuksia. Komodo tukee myös Go-kooditietoja täydennyksillä, puheluvihjeillä, hahmotelmilla ja määritelmällä. Refactoring sisältää muuttujien ja luokan jäsenten uudelleennimeämisen ja menetelmän purkamisen. Komodo tukee Go-yksikön testausta, koodien yhteistyötä, versionhallintaa, interaktiivisia kuoria ja koodin profilointia. Komodon suurin mainetta koskeva väite on, että se tukee kaikkia tärkeimpiä avoimen lähdekoodin kieliä, mukaan lukien Python, Node.js, Ruby, Go, Perl ja Tcl.

Komodo IDE on kaupallinen tuote. Komodo Editor, jolla on osa IDE: n ominaisuuksista, on ilmainen.

Siirry toimittajiin

Vaikka IDE voi tarjota kaikki toiminnot, joita haluat kehittää koodia, IDE: t voivat usein tuntua "raskailta". Toisin sanoen, niiden käynnistyminen voi kestää kauan, käyttää paljon muistia ja joskus tuntea olevansa reagoimattomia kirjoittaessasi koodia, koska he tekevät liikaa taustalla. Koodieditorit voivat joskus olla suositeltavia etenkin lyhyiden istuntojen yhteydessä, kunhan sinun ei tarvitse häiritä tarvetta vaihtaa erilliseen komentorivin kuori-ikkunaan kääntämistä varten.

Laajennukset voivat joskus lisätä IDE: n kaltaisia ​​ominaisuuksia koodieditoriin. Se on yleensä hyvä, kunhan laajennusten ajan tasalla pitäminen ja taustalla olevien laajennusten jatkuvien yleiskustannukset eivät hidasta muokkausta.

Atom, suluet ja Visual Studio Code ovat kolme toimittajaa, jotka erottuvat minulle työstä Go-kielellä. Kaikki ovat ilmaisia ​​ja avoimen lähdekoodin. Siitä huolimatta BBEdit, Emacs, Notepad ++, Sublime Text, TextMate ja Vim integroituvat Go-kielen laajennuksiin ja kaikilla on kannattajansa. Emacs, Notepad ++ ja Vim ovat ilmaisia ​​ja avoimen lähdekoodin. BBEdit on kaupallinen, mutta sen pikkuveli TextWrangler on ilmainen.

GitHubin Atom-toimittaja toimittaa kieli-paketin, joka tukee Go-kielioppia ja katkelmia. Go-lisäpaketit tuovat enemmän toimintoja. Esimerkiksi go-plus integroituu useisiin tavallisiin Go-työkaluihin (automaattiseen täydennykseen, muotoiluun, nukkaamiseen, testaamiseen) tarjotakseen IDE-tyyppisen ympäristön, ja go-debug integroituu delve-virheenkorjaimeen.

Adoben Brackets-editorissa on useita yhteisölaajennuksia Go-tuelle. Näihin kuuluu Go-IDE, joka käyttää gocode automaattiseen täydennykseen; Go-Syntax, joka käyttää CodeMirroria syntaksin korostamiseen; ja parannettu Go Formatter, joka käyttää gofmt alustaa koodi ja goimports hallita tuontia.

Visual Studio Code tukee Go-syntaksikorostusta laatikosta. Lisäominaisuudet tarjoaa vscode-go -laajennus, joka integroituu yli kymmenen Go-vakiotyökalun kanssa. Jos sinulla ei ole GOPATH-asetusta, laajennus pyytää sinua asettamaan sen heti, kun yrität muokata Go-kielitiedostoa. voit asettaa sen projektille ja / tai järjestelmäympäristölle. Jos sinulla ei ole Go-työkaluja asennettuna, laajennus pyytää asentamaan ne GOPATH: n määrittelemiin vakiopaikkoihin.

Pilvipohjaiset Go IDE: t

Pilvipohjaiset IDE: t ovat suhteellisen uusi innovaatio ohjelmistokehitystilassa. Heillä on kaksi luontaista etua: Ne eivät vaadi muita paikallisia asetuksia kuin yhteensopivan selaimen, ja ne saattaa salli useiden kehittäjien muokkaus, jos se on suunniteltu sitä varten. Haittapuolena on, että pilvipohjaiset IDE: t kärsivät usein viiveestä, mikä voi ajaa kehittäjiä mutkikkaasti ja häiritä "virtausta", joka antaa koodereiden olla tuottavimpia. Kolme pilvipohjaista IDE: tä tukee tällä hetkellä Go-kieltä: Cloud9, CodeEnv ja Wide.

Cloud9 on monikielinen pilvipohjainen IDE, joka tukee Go out of the box -toimintoa. Se on yhteydessä GitHub-, Bitbucket- ja Google Cloud Platform -tietovarastoihin, ja sillä on työtiloja, joita voit jakaa ja kloonata. Koodieditorin, jolla on laaja ominaisuusjoukko ja online-tiedostojärjestelmä, lisäksi siinä on MySQL ja muut tietokannat, pääte- ja välittömät ikkunat sekä mukautettavat näppäimistösidokset, ja Vim, Emacs ja Sublime Text -moodit toimitetaan vakiona. Go: n automaattinen täydennys ja virheenkorjaus ovat edelleen kokeellisia, mutta syntaksin korostus, ajon paneeli, ääriviivat ja nukkaus ovat täysin tuettuja.

CodeEnv on myös monikielinen pilvipohjainen IDE. Yksityisissä ympäristöissä on Go-perusympäristökuva sekä julkinen Go-ympäristökuva. Jokainen ympäristö koostuu tiedostojärjestelmästä, yksinkertaisesta koodieditorista syntaksikorostuksella ja pääteikkunasta. Peruskuvaa on tällä hetkellä kahdeksan ja taustakuvan kuusi vaihtoehtoa.

Wide on verkkopohjainen IDE joukkueille, joka on kirjoitettu Go-ohjelmointikielelle ja sitä varten. Se käyttää CodeMirror-pohjaista teemaohjelmointieditoria, jossa on gocode-avustettu syntaksikorostus, automaattinen täydennys, koodin muotoilu ja reaaliaikainen yhteistyö. Wide mainitsee LiteIDE: n riippuvuutena.

Gogland

JetBrains Gogland, joka on tällä hetkellä varhaisessa esikatselutilassa, näyttää olevan täydellisin saatavilla oleva Go IDE, vaikka sitä ei ole vielä julkaistu kaupallisesti. Sen integroitu virheenkorjaus, kattavuusanalyysi ja testikäyttö edistävät pitkälti sitä, että se erotetaan tehtaan toimittajista, joissa on muutama työkaluintegraatio.

Alla olevassa kuvakaappauksessa, jossa käytän Goglandia tutkiakseen joitain Go-kieliprojektin lähdekoodeja, näet useita Goglandin muokkausominaisuuksia, mukaan lukien projektipuu, tarkastusvihje (hehkulamppu), poistumiskohdan korostus ja nopea selaus oikealla oleva navigointipalkki (koodiruutu, jossa rivinumerot ovat epäkunnossa). Lisää kuvakaappauksia siitä, mitä Gogland voi tehdä, viittaan JetBrainsin ominaisuuksien oppaaseen.

Gogland käyttää samaa JetBrains-laajennusekosysteemiä kuin IntelliJ IDEA ja WebStorm, ja se sisältää jo monia asiaankuuluvia ominaisuuksia, jotka on peritty näistä tuotteista. Voit esimerkiksi käyttää Goglandia HTML- ja käyttöliittymäkielien ja -kehysten kanssa työskentelyyn, aivan kuten WebStorm. Gogland antaa sinun työskennellä myös SQL-tietokantojen, kuten IntelliJ IDEA ja DataGrip, kanssa. Jos haluat yhdistää Node.js-tuen Go-koodaukseesi tai tarvitset Subversion-tuen Git-integraation lisäksi, lisäosien lisääminen on nopea asia.

Visual Studio -koodi

Visual Studio Code vscode-go -laajennuksella on mukava Go-editori, joka toimii hyvin ja jolla on hyvä Git-integraatio. Visual Studio Code tarvitsee päivityksiä ja uudelleenkäynnistyksen vähintään kuukausittain, mutta se tuntuu harvoin muokkauksen aikana. Alla olevassa kuvakaappauksessa näet vasemmalla olevan tutkimusmatkailijan, Go Tools -asennuksen oikeassa alakulmassa ja koodin muokkauksen oikeassa yläkulmassa.

Go-työkalut mahdollistavat vscode-go -laajennuksen, joka tarjoaa monia muokkaus- ja koodintarkistusominaisuuksia. Näihin kuuluvat täydennysluettelot (käyttäen gocode), allekirjoitusapu (käyttäen gogetdoc tai godef plus godoc), katkelmat, nopeat tiedot (käyttäen gogetdoc tai godef plus godoc), siirry määritelmään (käyttäen gogetdoc tai godef plus godoc), etsi viitteet (käyttäen guru), tiedoston luonnos (käyttäen pääpiirteet), työtilan symbolihaku (käyttäen go-symbolit), nimeä uudelleen (käyttämällä gorename), build-on-save (käyttäen mene rakentamaan ja mene testiin), nukka säästää (käyttäen golint tai gometalinter), muoto (käyttäen goreturns tai goimports tai gofmt), luo yksikötestirunko (käyttäen gotests), lisää tuonti (käyttäen gopkgs) ja osittain toteutettu virheenkorjaus (käyttäen kaivaa).

Se on paljon hyödyllisiä toimintoja, vaikkakaan niin paljon kuin saat Gogland IDE: ssä. Vscode-go readme -tiedoston kuvaruutu näyttää hyvää työtä osoittamalla, miten suurin osa ominaisuuksista toimii.

Pilvi9

Kolmesta Goa tukevasta pilvi-IDE: stä mielenkiintoisin näyttää tällä hetkellä olevan Cloud9. Siinä on toimivin ohjelmointieditori kolmesta ja se tukee Go: n lisäksi noin 17 kieltä. Vaikka sen Go-kielikoodin valmistuminen on merkitty kokeelliseksi, huomasin sen toimivan melko hyvin eikä aiheuttanut paljon viiveiden kirjoittamisessa.

Cloud9: n Ace-editori tukee tällä hetkellä syntaksikorostusta yli 100 ohjelmointikielellä. Yllä oleva numero 17 on tarkoitettu kielille, joilla on myös muuta tukea, kuten koodin suorittaminen, nukkaus, hahmottelu, koodin viimeistely ja virheenkorjaus.

Cloud9-työtiloissa on tällä hetkellä Ubuntu 14.04 ja Go 1.7.3. Voit päivittää Go-asennuksesi Bash-kuoresta (katso kuvakaappauksen alaosaa) sekä suorittaa Go- ja muut ohjelmat Bashista.

Kuten olemme nähneet, sinulla on monia mahdollisia ohjelmointiympäristön valintoja Go-kehitykseen. Vaikka valitsin Goglandin parhaaksi täysimittaiseksi Go IDE: ksi, Visual Studio Code, jossa vscode-go oli paras Go-editori, ja Cloud9 parhaaksi Go-pilvi-IDE: ksi minulle, on olemassa yli 30 muuta mahdollisuutta. Ottaen huomioon kuinka henkilökohtainen ohjelmistokehitysympäristöjen valinta voi olla, sinun kannattaa kokeilla muutamia ja nähdä, mikä sopii parhaiten tarpeisiisi ja mieltymyksiisi.

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