Programmēšana

Labākie Go valodas IDE un redaktori

Google’s Go valoda, pazīstama arī kā Golang, nesen tika izvēlēta par Tiobe 2016. gada programmēšanas valodu, pamatojoties uz tās straujo popularitātes pieaugumu gada laikā, vairāk nekā divas reizes pārsniedzot otro vietu ieguvušo Dart un Perl. Tiobe valodas indekss ir balstīts uz “kvalificētu inženieru skaitu visā pasaulē, kursiem un trešo pušu piegādātājiem”, izmantojot vairāku meklētājprogrammu rezultātus.

Tik liels popularitātes pieaugums rada pastiprinātu interesi par programmēšanas valodas izstrādes rīkiem. Tā kā Go valoda tiek izplatīta atvērtā pirmkoda formā komplektā ar kompilatoriem, rīkiem un bibliotēkām, programmētājiem paliek pašiem atrast Go apzinošās rediģēšanas vides, neatkarīgi no tā, vai tie ir taisni redaktori vai integrētas izstrādes vides (IDE), mitinātas lokāli vai mākonis.

Šajā rakstā esmu mēģinājis aplūkot visas pieejamās Go -areness rediģēšanas vides un novērst tās, kuras šķiet derīgas. Es sāku ar oficiālo IDE un Go spraudņu sarakstu un ieguvu aptuveni 35 saraksta priekšmetus līdz tiem, kas varētu būt pelnījuši izmēģinājumu. Es sākšu ar ātru visu noderīgo produktu apkopojumu, ko atradu katrā kategorijā, un beigšu ar rūpīgu manu labāko izvēli.

Ņemiet vērā, ka Go valodas izstrāde parasti ir atkarīga no mainīgā GOPATH, kas iestatīts uz jūsu Go izstrādes darbvietas sakni. Tas var būt jautājums GUI lietojumprogrammām, piemēram, redaktoriem, kas ne vienmēr ievēro vides iestatījumus.

Ir vairāk nekā divpadsmit Go valodas rīku, kurus varat instalēt direktorijos zem mapes GOPATH ar iet saņemt komandu, tiklīdz pati Go ir instalēta. Daudzi redaktori, kurus es novērtēju, izmanto vienu vai vairākus no šiem rīkiem.

Iet IDE

Ir pārsteidzoši daudz IDE, kas atbalsta Go. Tomēr “atbalsta” nozīme ir atšķirīga. Man izcēlās četras IDE: Gogland, Eclipse ar goclipse, LiteIDE un Komodo IDE.

Augstākajā līmenī Gogland no JetBrains piedāvā viedus pabeigšanas darbus, pārbaudes un ātrus labojumus, vienkāršu atjaunošanu, ātru navigāciju, ātrus uznirstošos logus, dažus ļoti pamata koda ģenerēšanu, rekursīvu zvanu noteikšanu, izteiksmes veida uznirstošos logus, izejas punktu izcelšanu, lietošanas atrašanu, koda formatēšanu, semantiskā izcelšana un parametru ieteikumi tās redaktorā. Jā, tā ir daudz funkcionalitātes jaunās valodas rediģēšanai. Citas Gogland funkcijas ietver integrētu atkļūdotāju, pārklājuma analīzi, testa skriešanu, Go rīku palaišanas izvēlni un dažas ar Go nesaistītas funkcijas, kas ir līdzīgas tai, ko atradīsit citos JetBrains produktos, piemēram, IntelliJ IDEA. Gogland var pārvaldīt vairākus GOPATH iestatījumus, nevis paļauties tikai uz sistēmas GOPATH vidi.

Gogland pašlaik ir pieejams bez maksas kā agrīnas piekļuves produkts. Visticamāk, tā cena tiks noteikta pēc citiem JetBrains produktiem. Gaidiet, ka tas būs pieejams pēc gada abonēšanas vai nu pats, vai komplektā ar pārējiem JetBrains rīkiem, ar atlaidi akadēmiķiem un atvērtā koda līdzautoriem.

Nedaudz zemākā sarežģītības pakāpē Eclipse ar goclipse redaktorā nodrošina sintakses izcelšanu, automātisku atkāpi un izklāstu - visu citu Eclipse valodas moduļu, piemēram, Java, garā. Integrācijas ietver atkļūdošanu ar GDB, definīciju atrašanu ar guru un godef Go rīkiem un automātisko pabeigšanu ar gocode rīku. Eclipse un spraudnis goclipse ir bezmaksas un atvērta pirmkoda.

LiteIDE savā redaktorā sporto pakešu pārlūku, klases skatu un kontūru, dokumentu pārlūku, kodu navigāciju, lietojumu atrašanu un koda atjaunošanu. Integrācijas piedāvā gocode atbalstu, GOPATH API indeksu, atkļūdošanu ar GDB un Go rotaļu laukumu. LiteIDE ir bezmaksas un atvērts avots.

Komodo IDE atbalsta Go sintakses pārbaudi (savārstīšanu) un iezīmēšanu, sintakses krāsošanu, koda locīšanu un citas produktivitāti uzlabojošas funkcijas. Komodo atbalsta arī Go koda izlūkošanu ar papildinājumiem, zvanu padomiem, kontūrām un definīciju. Refaktorēšana ietver mainīgo un klases dalībnieku pārdēvēšanu un metožu iegūšanu. Komodo atbalsta Go vienības testēšanu, kodu sadarbību, versiju kontroli, interaktīvās čaulas un koda profilēšanu. Komodo galvenā slavas prasība ir tā, ka tā atbalsta visas galvenās atvērtā pirmkoda valodas, tostarp Python, Node.js, Ruby, Go, Perl un Tcl.

Komodo IDE ir komerciāls produkts. Komodo redaktors, kuram ir IDE iespēju apakškopa, ir bez maksas.

Iet uz redaktoriem

Lai gan IDE var nodrošināt visu nepieciešamo funkcionalitāti koda izstrādei, IDE bieži var justies “smags”. Citiem vārdiem sakot, var paiet ilgs laiks, līdz tie tiek palaisti, tiek patērēts daudz atmiņas, un, rakstot kodu, dažreiz viņi nereaģē, jo viņi fonā dara pārāk daudz. Kodu redaktori dažreiz var būt vēlamāki, īpaši īsām sesijām, ja vien jūs neuztraucat, ja kompilēšanai jāpārslēdzas uz atsevišķu komandrindas čaulas logu.

Spraudņi dažreiz kodu redaktoriem var pievienot IDE līdzīgas funkcijas. Tas parasti ir labi, ja vien periodiskā spraudņu atjaunināšana un spraudņu darbības fonā pastāvīgā pieskaitīšana nemazina rediģēšanu.

Atom, Kronšteini un Visual Studio Code ir trīs redaktori, kas man izcēlās ar darbu Go valodā. Visi ir bezmaksas un atvērtā koda. Neskatoties uz to, BBEdit, Emacs, Notepad ++, Sublime Text, TextMate un Vim visi integrējas ar Go valodas spraudņiem, un visiem ir savi atbalstītāji. Emacs, Notepad ++ un Vim ir bezmaksas un atvērts avots. BBEdit ir komerciāls, bet tā mazais brālis TextWrangler ir bez maksas.

Atom redaktors no GitHub piegādā valodu-go paketi, kas atbalsta Go gramatiku un fragmentus. Go papildu pakotnes nodrošina lielāku funkcionalitāti. Piemēram, go-plus integrējas ar daudziem standarta Go rīkiem (automātiskai pabeigšanai, formatēšanai, savārstīšanai, testēšanai), lai nodrošinātu IDE līdzīgu vidi, un go-debug integrējas ar delve atkļūdotāju.

Adobe kronšteinu redaktoram ir vairāki kopienas paplašinājumi Go atbalstam. Tie ietver Go-IDE, kas izmanto gocode par automātisko pabeigšanu; Go-Syntax, kas sintakses izcelšanai izmanto CodeMirror; un uzlabota Go formatēšana, kas izmanto gofmt formatēt kodu un goimports pārvaldīt importu.

Visual Studio kods atbalsta Go sintakses izcelšanu ārpus kastes. Papildu funkcijas nodrošina vscode-go spraudnis, kas integrējas ar vairāk nekā duci Go standarta rīku. Ja jums nav iestatīts GOPATH, spraudnis lūgs to iestatīt, tiklīdz mēģināt rediģēt Go valodas failu; to var iestatīt projektam un / vai sistēmas videi. Ja jums nav instalēti Go rīki, spraudnis lūgs tos instalēt standarta vietās, kā to nosaka jūsu GOPATH.

Mākoņa bāzes Go IDE

Uz mākoņiem balstītas IDE ir salīdzinoši nesen ieviests jauninājums programmatūras izstrādes telpā. Viņiem ir divas raksturīgas priekšrocības: tiem nav nepieciešama vietēja iestatīšana, izņemot saderīgu pārlūku, un viņi maijs atļaut rediģēt vairākiem izstrādātājiem, ja tas ir paredzēts. Negatīvie ir tas, ka mākoņdatošanas IDE bieži cieš no novēlošanās, kas var izraisīt izstrādātāju uzskatus un traucēt “plūsmai”, kas ļauj kodētājiem būt visproduktīvākajiem. Trīs mākoņa IDE pašlaik atbalsta Go valodu: Cloud9, CodeEnv un Wide.

Cloud9 ir daudzvalodu mākoņa IDE, kas atbalsta Go out of the box. Tas savienojas ar GitHub, Bitbucket un Google Cloud Platform krātuvēm, un tajā ir darbvietas, kuras varat koplietot un klonēt. Papildus kodu redaktoram ar plašu funkciju kopu un tiešsaistes failu sistēmu tam ir MySQL un citas datubāzes, termināla un tūlītējie logi un pielāgojami tastatūras stiprinājumi, kā arī Vim, Emacs un Sublime Text režīmi. Automātiskā pabeigšana un atkļūdošana Go joprojām ir eksperimentāla, taču sintakses izcelšana, palaišanas panelis, kontūras skats un savārstījums tiek pilnībā atbalstīti.

CodeEnv ir arī daudzvalodu mākoņa IDE. Ir Go bāzes vides attēls privātai videi, kā arī publisks Go vides attēls. Katra vide sastāv no failu sistēmas, vienkārša kodu redaktora ar sintakses izcelšanu un termināla loga. Pašlaik ir pieejamas astoņas bāzes attēla izvēles un sešas aizmugurējā attēla izvēles.

Wide ir tīmekļa IDE komandām, kas ir rakstīts Go programmēšanas valodā un Go. Tas izmanto uz CodeMirror balstītu programmēšanas redaktoru ar sintakses izcelšanu ar gocode palīdzību, automātisko pabeigšanu, koda formatēšanu un reāllaika sadarbību. Wide kā atkarību min LiteIDE.

Gogland

JetBrains Gogland, kas pašlaik ir agrīnā priekšskatījuma stāvoklī, šķiet vispilnīgākais pieejamais Go IDE, lai gan tas vēl nav izlaists komerciāli. Tās integrētais atkļūdotājs, pārklājuma analīze un testa darbība lielā mērā palīdz to atšķirt no redaktoriem, kuriem ir dažas rīku integrācijas.

Zemāk redzamajā ekrānuzņēmumā, kur es izmantoju Gogland, lai pārbaudītu dažus Go valodas projekta avota kodus, jūs varat redzēt vairākas Gogland rediģēšanas funkcijas, tostarp projekta koku, pārbaudes mājienu (spuldzi), izejas punktu izcelšanu un ātru pārlūkošanu, izmantojot labajā pusē esošā navigācijas josla (koda lodziņš ar rindas numuriem nav kārtībā). Lai iegūtu vairāk ekrānuzņēmumu, kuros parādīts, ko Gogland var darīt, jūs atsaucos uz JetBrains funkciju rokasgrāmatu.

Gogland izmanto to pašu JetBrains spraudņu ekosistēmu kā IntelliJ IDEA un WebStorm, un tajā jau ir iekļautas daudzas atbilstošas ​​funkcijas, kas mantotas no šiem produktiem. Piemēram, jūs varat izmantot Gogland darbam ar HTML un priekšgala valodām un ietvariem, tieši tāpat kā WebStorm. Gogland ļauj strādāt arī ar SQL datu bāzēm, piemēram, IntelliJ IDEA un DataGrip. Ja jums ir jāapvieno Node.js atbalsts ar Go kodējumu vai papildus Git integrācijai ir nepieciešams Subversion atbalsts, ātri jāpievieno spraudņi.

Visual Studio kods

Visual Studio kods ar vscode-go spraudni ir jauks Go redaktors, kas darbojas labi un ar labu Git integrāciju. Visual Studio kodam ir nepieciešami atjauninājumi un restartēšana vismaz reizi mēnesī, taču rediģēšanas laikā tas reti jūtas lēns. Zemāk redzamajā ekrānuzņēmumā kreisajā pusē redzam pārlūku, apakšējā labajā stūrī Go rīku instalēšana un augšējā labajā stūrī koda rediģēšana.

Rīki Go ļauj iespējot vscode-go spraudni, kas nodrošina daudzas rediģēšanas un koda pārbaudes funkcijas. Tie ietver pabeigšanas sarakstus (izmantojot gocode), paraksta palīdzība (izmantojot gogetdoc vai godef plus godoc), fragmenti, ātra informācija (izmantojot gogetdoc vai godef plus godoc), pārejiet pie definīcijas (izmantojot gogetdoc vai godef plus godoc), atrodiet atsauces (izmantojot guru), faila kontūra (izmantojot izklāsts), darbvietas simbolu meklēšana (izmantojot simboli), pārdēvēt (izmantojot gorename), build-on-save (izmantojot ej būvē un iet pārbaudi), savākt-ietaupīt (izmantojot golints vai gometalinter), formāts (izmantojot goreturns vai goimports vai gofmt), ģenerē vienības testu skeletu (izmantojot gotests), pievienojiet importu (izmantojot gopkgs) un daļēji ieviesta atkļūdošana (izmantojot iedziļināties).

Tas ir daudz noderīgas funkcionalitātes, lai gan ne tik daudz, cik jūs saņemat Gogland IDE. Faila vscode-go readme ekrāna apraide labi parāda, kā darbojas lielākā daļa funkciju.

9. mākonis

No trim mākoņa IDE, kas atbalsta Go, šobrīd visinteresantākais, šķiet, ir Cloud9. Tam ir visfunkcionālākais programmēšanas redaktors no trim un papildus Go tiek atbalstītas aptuveni 17 valodas. Lai gan tā Go valodas koda pabeigšana ir atzīmēta kā eksperimentāla, es atklāju, ka tas darbojas diezgan labi un nerada daudz aizkavēšanās ar rakstīšanu.

Cloud9 Ace redaktors pašlaik atbalsta sintakses izcelšanu vairāk nekā 100 programmēšanas valodās. Skaitlis 17 ir paredzēts valodām, kurām ir arī cits atbalsts, piemēram, koda palaišana, kodēšana, izklāsts, koda pabeigšana un atkļūdošana.

Cloud9 darbvietās pašlaik darbojas Ubuntu 14.04 un Go 1.7.3. Jūs varat atjaunināt Go instalāciju no Bash apvalka (skatiet ekrānuzņēmuma apakšdaļu), kā arī palaist Go un citas programmas no Bash.

Kā mēs redzējām, jums ir daudz iespēju izvēlēties Go programmas izstrādes programmēšanas vidi. Kamēr es izvēlējos Gogland kā labāko pilna Featured Go IDE, Visual Studio Code ar vscode-go kā labāko Go redaktoru un Cloud9 kā labāko Go cloud IDE prieks manis, ir vairāk nekā 30 citas iespējas. Ņemot vērā to, cik personiski var izvēlēties programmatūras izstrādes vidi, jums vajadzētu izmēģināt dažus un noskaidrot, kas vislabāk atbilst jūsu vajadzībām un vēlmēm.

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