Wat is die volgende beste ding vir kodering? Die kode redakteur, natuurlik!
Kode-redakteurs is die tweede belangrikste rede vir die programmering van vlamoorloë (die eerste een is kode-opmaak).
Vir sommige is Vim die enigste verstandige redakteur wat ooit geskep is, en vir ander is alles wat nie pas by die Inception-agtige spirituele kopspinnende wêreld van Emacs slegs geskik vir bespotting nie. As u swak aandag soek, moet u net na 'n programmeringsgemeenskap gaan en 'n draad begin soos "Waarom dink ek X (kies enige gewilde kode-redakteur) suig / is die beste," gryp 'n bietjie bier en ontspan.
Argumente, teenargumente en beledigings sal die hele nag in en buite die bespreking vloei, en dit sal baie maande duur voordat die gif in die draad sal afkoel..
Die vraag is: hoekom?
Natuurlik, mense slaag daarin om 'n groot ding uit alles te maak, maar ek dink kode-redakteurs is veral van toepassing op programmeerders. 'N Tipiese programmeerder spandeer byna al hul tyd (meer as 98%, as ek sou waag) aan die gekose kode-redakteur. Hulle ken die redakteur: hulle sterk punte, swakhede, grense, eienaardighede en verborge edelstene.
Niks is meer frustrerend as om met die redakteur te sukkel as u kode skryf nie (dink aan hoe irriterend dit is as u 'n lang en dringende e-pos op 'n nuwe sleutelbord moet afskiet!). Kode-redakteurs verminder geestelike wrywing en laat jou toe om meer produktief te wees, daarom is hulle so belangrik en kry soveel aandag.
Dus, wat is die beste kode redakteur?
Ek sal eerlikwaar nie eers waag om daarheen te gaan nie! �� ��
As u egter besig is met webontwikkeling, is daar 'n alternatief waarop ek wil nadink – aanlyn-kode-redakteurs!
In 'n neutedop is dit redakteurs wat geheel en al op 'n eksterne bediener woon en toeganklik is via die blaaier.
Klink vreemd, reg?
Dit het ek ook gevoel toe ek hulle 3-4 jaar gelede raakgeloop het. Waarom in die hel moet iemand alles aan 'n dom leser wil oorhandig??
Kan dit selfs met 'n inheemse geïnstalleerde kode-redakteur meeding?
Dit blyk dat die antwoord in die meeste gevalle, en veral vir webontwikkeling, ja is. Terwyl ek aanlynredakteurs nie as my primêre medium omhels het nie, vind ek dit steeds meer en meer in spesifieke scenario's.
Laat ons eers stilstaan ​​en nadink oor wanneer aanlyn-kode-redakteurs sinvol kan wees.
0.1 Nul opstelling
0.4 Handhawing van dissipline
Ek weet nie van jou nie, maar om my gunsteling redakteur op te stel na 'n nuwe stelsel, is nie iets waarna ek uitsien nie. Inproppe, temas, lettertipes, kortpaaie, brokkies, instellings. . . Daar is 'n eindelose lys van dinge wat gebalanseer moet word voordat die hele saak bruikbaar word. Dit is maklik om iets oor die hoof te sien, net om later irriterend te raak as u werkstroom onderbreek word.
Daarenteen het niks met 'n aanlynredakteur te doen sodra die eerste opstelling verby is nie. Amptelike builds, updates, nightly builds, ondersteunde platforms, stelselargitektuur, FTP-sync, CI / CD-pyplyne – niks daarvan maak nie saak solank u 'n blaaier het!
Dikwels moet u met ander ontwikkelaars saamwerk wanneer u probleme uitwerk of iets fouteer.
Die tradisionele kode-redakteur is nie hiervoor gebou nie – daar is geen ruimte vir gelyktydige kode-redigering, kommentaar of uitlig nie, en dit is uitdagend om ondersteuning daarvoor by te voeg.
Nou is dit die gegewe dat geen projek vandag sonder weergawebeheer is nie, wat beteken dat daar te alle tye 'n kopie van die kode op die bewaarplek bestaan. Dit gesê, daar is tye wanneer weergawebeheer nie voldoende is nie:
U vergeet om pasgemaakte kommissies te druk, en u skootrekenaar steek aan die brand.
U het ander belangrike lêers en datadumps waarmee u kode in wisselwerking is, hoewel dit nie deel uitmaak van die regstreekse toepassing nie. Wat gebeur met hulle as u skootrekenaar aan die brand slaan?
(Oukei, dit lyk of ek obsessief is oor notaboeke wat aan die brand slaan, maar jy kry die punt, reg ?!)
Handhawing van dissipline
Dit kan net so betoog word in die hof van ontwikkelaarsregte (as so iets bestaan), maar die waarheid van die saak is dat ontwikkelaars selde hul grille vir die algemene voordeel opoffer.
Byvoorbeeld, 'n hardebaard Sublime Text-entoesias sal ooit enige van die uitstekende redakteurs van JetBrains omhels en sal elke geleentheid vind om te wys op sy geheue-honger aard en stadiger uitvoering.
Dieselfde geld vir oortjies teenoor spasies (of selfs twee-spasie-oortjies teenoor vier-spasie-oortjies) – jy is naïef as jy dink dat die programmeerders in jou span nie horings sal sluit nie.
In sulke gevalle is 'n aanlynredakteur 'n seën – u besluit die instellings vir projekte (selfs hoe die kode geformateer moet word), en weier eenvoudig om werk te aanvaar totdat dit aan al die standaarde voldoen. Moeilik vir die individu, miskien, maar wonderlik vir die projek!
Ek is nou besig met die gebruik van sake, dus laat ons kyk na watter opsie ons het as dit kom by aanlynkode-redakteurs, veral vir webontwikkeling.
terwyl JSFiddle kan nie 'n volwaardige teksredakteur vervang nie, maar dit doen 'n goeie werk om eenmalige frontend-skrifte te hanteer.
Dit is so gewild dat Q&'N Webwerf soos StackOverflow ondersteun reeds die inbedding van JSFiddle-skakels direk op hul platform.
Om dinge vinnig aan die gang te kry, bied JSFiddle aan die begin 'n paar ketelplate aan; wat beteken dat as u 'n demo wil kry van: Reageer, begin, al wat u moet doen is om op die betrokke knoppie te klik en die kode te begin skryf. Sodra u op Save slaan, word die "vroetjie" gestoor, kry u 'n permanente URL (kyk na hierdie sluwe viool wat ek geskep het: https://jsfiddle.net/tuqd76c4/ en let op dat u u wysigings kan aanbring en druk Save om 'n nuwe weergawe van hierdie URL).
Dit is wat JSFiddle 'n lewensvatbare platform maak vir ontwikkeling op die internet:
Gratis om te gebruik (geen verborge fooi of freemium-funksies nie). JSFiddle ondersteun homself deur advertensies (ten minste vanaf skryf), en u kan 'n Adobe-advertensie links onder op die skermkiekie hierbo sien..
Kode-samewerkingsfunksies – ideaal om konsepte saam te bou, onderhoude, ens.
Meervoudige uitlegte, lettergroottes, ligte / donker temas, ens.
Kode-opmaak (opruiming), komende ondersteuning vir linters (CSS en JS), en meer.
En nou, snik, snik vir die slegte dinge:
JSFiddle is 'n suiwer redakteur. Daar is geen manier om u gunsteling backend-taal te kodeer en uit te voer nie.
Daar is geen konsep van lêers en gidse hier nie (of oplaai, vir die saak). Al wat u het, is 'n enkele ruimte vir kode, ongeag hoeveel daarvan daar is.
JSFiddle kan nie gebruik word om kode op u bediener te host nie. Die kode moet op JSFiddle wees en is heeltyd publiek.
Daar is geen manier om 'n CI / CD-pyplyn te bou, Git, ens. Te gebruik nie.
Dit gesê, JSFiddle het 'n lieflike plek en skyn wanneer jy 'n bewys-van-konsep moet opdis en op die lig van die lig moet saamwerk. Dit is en sal 'n belangrike identiteit onder aanlynredakteurs bly.
CodeSandbox kan beskou word as 'n baie kragtiger en volledige aanpak van JSFiddle. Getrou aan sy naam, CodeSandbox bied 'n volledige kode-redakteur-ervaring en 'n sandbox-omgewing vir front-end-ontwikkeling.
CodeSandbox is 'n regte kragbron en soet, soet produk. As ek probeer om al die voordele daarvan op te stel, is daar niks met my papier nie, maar hier is 'n paar moordenaarsfunksies:
Ondersteuning per uur: Ja, u kan bykans enige pakket wat op npm beskikbaar is, byvoeg.
Lêers, gidse, modules: U kan u kode in veelvuldige lêers verdeel, beelde byvoeg / verwyder uit die openbare lêergids, en modules bou / invoer soos u goeddink. Die werkvloei weerspieël dié van 'n moderne module-bundelaar, en u hoef dus (byna) niks op te stel nie.
Ondersteuning vir TypeScript, herlaai, GitHub-uitvoer, statiese lêerhosting, ens.
Dit is gebou op Monaco-redakteur, dieselfde dier wat die gunsteling dryf VSCode redakteur. Dit bring kragtige funksies soos 'Gaan na', 'Soek verwysings' en die nodige herbediening op u vingers!
Ondersteuning vir brokkies vir Emmet
Geïntegreerde DevTools, voering, foutoverlegsels, toetsing van raamwerke (Jest), sleutelbindings, en meer.
Kragtige kli om plaaslike projekte direk in CodeSandbox in te voer.
Alhoewel die gratis weergawe van CodeSandbox nie privaat kode ondersteun nie, kan u daardie funksie kry (en die grootte van die algehele limiet verhoog) deur hulle te help met Patreon vir so min as $ 5 per maand (betaal wat u wil, tot $ 50 per maand).
'N Probleem by die meeste kode-redakteurs op hierdie lys (ten minste tot dusver) is dat hulle verwag dat u die kode te alle tye op hul bedieners moet hou, of dat u gereeld kode via die opdragreël moet sinkroniseer.
Nie so met nie CodeAnywhere.
Op sy sterkste het CodeAnywhere twee funksies wat vir my uitstaan:
Voorgeboude houerbeelde vir 72+ programmeertale en raamwerke. Dit beteken dat u 'n nuwe ontwikkelingsomgewing binne die redakteur kan voorsien! Natuurlik word die kode outomaties in die nuutgeskepte houer aangebied, en lêers word direk van daar af bedien.
Koppel aan enigiets. Ja, letterlik enigiets. U is nie verplig om u kode op CodeAnywhere se bedieners te stoor nie. Of u kode op FTP, lêer-deelplatforms soos Dropbox, Amazon S3 of op gevorderde weergawe-platforms soos GitHub woon, u kan CodeAnywhere maklik instel om van daardie bron af te lees en te skryf deur slegs die kode-editor te gebruik. . . Wel, kode redigering. ��
Nog een ding wat ek wil uitwys: as u nie gemaklik is met Git as dit gaan om geskiedenis en verskille te besigtig nie, kan CodeAnywhere 'n sug van verligting voel. Die redakteur gebruik sy diff-stelsel vir die vergelyking van lêers, waardeur u twee lêers oor enige twee hersienings kan vergelyk ('n hersiening word gemaak elke keer as u 'n lêer stoor).
Daar is egter 'n effense vangs met hersienings – met die gratis weergawe kan u slegs een hersiening onderhou, terwyl die kleinste betaalde plan hoogstens 20 hersienings toelaat. Oor die algemeen is dit nie 'n probleem nie, aangesien u selde verder as die laaste 20ste hersiening wil kyk, maar aangesien die meeste programmeerders die gewoonte het om 'n paar keer per minuut te slaan, kan dit pynlik word.
Alles gesê en gedoen, CodeAnywhere is 'n goeie, aangename aanbod vir diegene wat na die Wolk wil gaan en daar wil bly. �� Aangesien sy bevoegdhede verder strek as die frontkode, word dit na my mening sterk aanbeveel!
As u meestal voorop is en nie van die VSCode-koppelvlak kan wegbeweeg nie, StackBlitz is net vir jou geskep.
Sien u niks besonders nie? Ek het ook nie voordat ek 'n bietjie afrol en op die hoekknop klik nie. boom!
Raai wat, dit is nie doelbewus geskep om soos VSCode te lyk nie – dit is gebou op die VSCode-redakteur! Soveel dat u uitbreidings kan installeer, deur die gidse kan soek en lêers kan organiseer op die manier wat u van 'n gewone VSCode-instansie sou verwag..
Maar wag, daar is nog meer!
U het miskien al of nie opgemerk dat:
Alle toepassings wat op StackBlitz geskep word, word ook outomaties op hul bedieners ontplooi! Dus, hierdie Angular speelgoed-app wat ek pas gemaak het, word outomaties aangebied op https://angular-yvyi2j.stackblitz.io/. Die URL werk waarskynlik nog steeds (laai egter stadig, soos u sou verwag as dit gratis aangebied word)!
U kan die projek vurk en deel. Terwyl u deel, kry u fyner beheer oor wat ander kan doen.
U kan aan 'n GitHub-bewaarplek koppel en ook die kode direk daarvandaan laat trek / stoot. Of u kan die projek eenvoudig as 'n zip-lêer op die goeie manier aflaai.
Hier is die lys met amptelike funksies wat deur StackBlitz aangebied word:
Inheemse ondersteuning vir Firebase (dit is iets wat ek nie persoonlik gebruik nie, maar hey, dit is 'n seën vir diegene wat nie in die donker duide van die agterkant wil duik nie)
Intellisense, projek soek
Herlaai gereeld terwyl u tik
Voer npm-pakkette in
Redigeer vanlyn as dit nie gekoppel is nie!
StackBlitz is vol (pragtige) verrassings as dit kom by die wegneem van hindernisse van webontwikkeling en -ontplooiing. Die inbedding van VSCode op u webwerf is nie meer die drome nie!
Cloud9 was waarskynlik die eerste IDE-gebaseerde blaaier wat ernstige funksies aangebied het en die idee van die hoofstroom van blaaier-as-redakteur aangeneem het. Geen wonder dat Amazon dit later, en vandag, verkry het nie, Cloud9 is deel van die AWS-aanbiedinge.
As u selfs van 'n AWS-platform af verbonde is (of belangstel), is Cloud9 die plek waar u soeke na 'n perfekte (okay, amper-perfekte) redakteur eindig. Kom ons kyk waarom:
Daar is geen ekstra koste vir die gebruik van Cloud9 nie. U kan Cloud9 koppel aan 'n bestaande / nuwe AWS-rekenaarinstansie, en u betaal slegs vir daardie instansie. Dit is ook moontlik om via SSH aan 'n derdepartybediener te koppel – teen 'n ekstra koste! ��
Eersteklas ondersteuning vir AWS Serverless-toepassings (ontfouting, ens.)
Direkte toegang tot terminale toegang tot AWS van binne die redakteur (eerlik, 'n ordentlike in-redakteur, tabblad-terminale is wat ek nog steeds mis in VSCode)
Meer as 40 programmeertale word ondersteun (Go, C ++, Ruby, Node, Python, PHP, Java … neem u keuse)
Die samewerkingsfunksies in Cloud9 is ook wenslik, waardeur resensies / onderhoude naadloos gevoer kan word.
'N Ander moordenaarfunksie is 'n video-stylweergawe van die veranderinge aan 'n lêer, wat die oorsigproses van vreugde maak:
As u van AWS gebruik maak, moet u nie wag nie en net Cloud9 gryp. En as u nog nie op die wolk is nie, maar dit oorweeg om 'n skuif te maak, omhels AWS en integreer Cloud9 in u werkstroom. U kan ook nie 'n beter besluit neem nie!
CodeEnvy is 'n kragtige wolkredakteur wat gebruik maak van Docker-houers om u vooraf-gekonfigureerde en geïsoleerde ontwikkelingsomgewings te laat loop. Dit is gebou op die open source Eclipse Che-wolk IDE en bied 'n groot hoeveelheid skaalbaarheid en DevOps-opsies.
Vanaf die skrywe is CodeEnvy deur RedHat aangeskaf (wat amusant deur Oracle verkry is!).
Gitpod is 'n verfrissende weergawe van wolkode-redakteurs (of IDE's, as u wil) wat daarop gemik is om u kode altyd getoets en op datum te hou. Met ander woorde, dit is diep geïntegreer met GitHub, en elke keer as u kode byvoeg, voer dit u toets- en CI / CD-pyplyne uit om seker te maak dat die kode altyd 100% gesond is..
Dit is die moeite werd om na te gaan of u van die VSCode-ervaring hou en iets wil hê wat alle belangrike agterkant- / voorkant-tale en -raamwerke ondersteun (Django, Rails, Revel, noem maar op).
As u 'n harde waaier is en 'n sagteware-argitek vir die kies van sagteware, sal die Theia IDE sal u skeiding van bekommernisse kielie. Dit is 'n TypeScript-gekodeerde (vyf punte vir styl dadelik!) -Kode, wat 'n aparte voorkant en agterkant het. Die voorkant loop in 'n blaaier, terwyl die agterkant oral kan wees – plaaslike masjien of die wolk!
Maar dit is nie al nie; die front-end kan bestuur word as 'n elektroniese app met 'n volledig funksionele, geïsoleerde blaaieromgewing, wat jou die voorkoms en gevoel van 'n inheemse tafelrekenaar-app gee, sou jy daarna verlang..
Alhoewel hul webwerf nie so duidelik sê nie, kodeerder is 'n VSCode-omgewing wat in 'n bediener saamgevoeg word wat plaaslik of in die wolk bestuur kan word. Die aanbevole konfigurasie is om die IDE as 'n bediener in die wolk te laat loop en plaaslik toegang daartoe via die blaaier. Daar is voorafgeboude Docker-beelde vir instellings met geen probleme, en 'n ondernemingsplan moet u ondersteuning benodig of verskillende behoeftes benodig.
Dit dek min of meer al die IDE's en kode-redakteurs wat daar is vanaf die skrywe. Ek het twee soorte aanbiedinge in hierdie lys uitgelaat: dié wat bloot op onderhoude gefokus is en nie volwaardige omgewings het nie (behalwe ons geliefde klassieke JSFiddle, natuurlik), en diegene wat blykbaar nie iets bied nie. aansienlik en het weinig meer as 'n slanke tuisblad gehad.