Bedste teksteditor? Atom vs Sublime vs Visual Studio Code vs Vim

Med så mange programmeringstekstredaktører derude i dag, bliver den tilsyneladende enkle opgave at vælge en pludselig skræmmende og overvældende.

Mens der ikke findes et ligetil svar på ”hvad er den bedste teksteditor for udviklere?” -Spørgsmålet, i dette indlæg vil jeg dele med dig en side om side-sammenligning mellem fire af de mest populære derude: Atom, Sublime, Visual Studio-kode og Vim.

Efter at have læst listen over fordele og ulemper, håber jeg, at du har nok information til at træffe et valg, der bedst passer til dine behov.

Ansvarsfraskrivelse: Som med enhver sammenligning er nogle af disse synspunkter subjektive og er hovedsageligt baseret på mine personlige præferencer. Jeg er en der skriver til internettet (JS, CSS, HTML osv.) Ved hjælp af Sublime til Mac, så mit perspektiv er lidt skævt mod det, jeg er vant til. Når det er sagt, har jeg forsøgt at være så objektiv som muligt.

Atom

  • URL: https://atom.io/
  • Omkostninger: Gratis (MIT-licens)
  • Udvikler: GitHub
  • Platformer: OSX, Windows, Linux

Atom beskrives som:

En redigerbar tekstredskab til det 21. århundrede

Atom er en relativ begivenhed i verden af ​​tekstredaktører, men den har fået enormt momentum, siden det først blev frigivet i 2014. Lad os starte med at gennemgå dens vigtigste funktioner:

pakker

Evnen til at føje yderligere funktioner til en redigering er meget vigtig, og dette er et område, som Atom skinner ud over. Pakkeadministratoren er som standard installeret og for at gøre tingene endnu bedre, hostes alle pakker på Github.

På dette tidspunkt havde de en række 6.454 pakker og temaer tilgængelige! Pakker er så grundlæggende for Atom, at kernefunktioner som Tree View og Settings View er simpelthen forinstalleret pakker.

Redigering og arbejdsgang

Generelt er alt i Atom temmelig glat. Største smertepunkt? Find ud af, hvilke ekstra pakker der skal installeres, når man starter fra bunden.

For eksempel kan jeg lide minimap for at hjælpe mig visuelt med at springe til dele af en fil. Jeg havde også brug for at konfigurere en vis autofuldførelse ved hjælp af Autocomplete +. Jeg er en der ofte arbejder på et par filer samtidig, så muligheden for at konfigurere redigering af delt rude er et must. Det er en funktion, Atom understøtter pænt.

En anden dejlig funktion ved Atom, som jeg har fundet mangler i Sublime, er support / træk-fil / mappe i trævisningen. Jeg er så vant til at ikke have det i Sublime, at det at være i stand til at skifte ting rundt er en rigtig godbid!

Endelig er git-integrationen stor ... den er alligevel lavet af GitHub!

Tilpasning

Evnen til at tilpasse en editor til at matche din udviklingsstrøm og stil er afgørende. Personligt er jeg altid nødt til at aktivere ting som ”trim whitespaces on save”, “save on lost focus of file”, som begge er lette at konfigurere og tilsidesætte i Atom.

Atom har en fantastisk dokumentside om, hvordan man endda tilsidesætter stilarterne (Atom er skrevet i ren HTML / CSS oven på krom) - http://flight-manual.atom.io/using-atom/sections/basic-customization/

Alt i alt elsker jeg, hvordan konfigurerbart Atom er - muligheden for at tilsidesætte indstillingerne pr. Filtype er stor! For eksempel er forskellige indrykk for JS vs CSS vs HTML meget enkel med Atom.

Ydeevne

Hvis der er en knogle at vælge med Atom, er det til tider, det føles langsomt. Undertiden har åbning af en fil eller skift mellem faner nok af forsinkelse til at føle sig smertefuld (især når du er i fuld gang med udviklingshandlingen). Da jeg prøvede Atom, da det først blev frigivet, var ydelsen et problem. Det er bestemt blevet bedre siden, men frustrationen er der stadig.

Dom

Atom er et godt værktøj, især for dem der let ønsker at tilpasse deres redaktør og ud over hvad andre leverer. Som webudvikler giver friheden til at finpudse, tilføje og udvide din editor en utrolig følelse af magt. Jeg elsker også dets dokumenter. Atom Flight Manual giver et godt udgangspunkt for nye brugere.

Den største ulempe for mig ville stadig være performanceproblemerne, men for en gratis redaktør skinner Atom lyst!

Sublime

  • URL: https://www.sublimetext.com/
  • Omkostninger: $ 70 licensgebyr med gratis prøveperiode
  • Udvikler: Jon Skinner, tidligere Google Engineer
  • Platformer: OSX, Windows, Linux

Sublime blev frigivet tilbage i 2007, så det havde næsten et årti at modne. I henhold til Stackoverflows 2016-udviklerundersøgelse er det det 3. mest populære udviklingsmiljø.

V3 Beta er dens seneste version, og selvom den har været i beta i lang tid nu, skal du ikke lade det bekymre dig. Produktet er faktisk meget stabilt.

pakker

Enhver Sublime bruger vil fortælle dig, at den første pakke, de installerer, er Sublime Package Control-plugin. Jeg tror, ​​at vi alle i hemmelighed håber, at Sublime 3 tilføjer dette som standard, men for nu skal du blot gå til installationssiden på deres websted og kopiere nogle uforståelige Python og ... Presto! Du kan nu nemt installere en hvilken som helst pakke inden for Sublime.

Ligesom Atom har Sublime en masse pakker og temaer! For mig er det væsentlige:

  • SideBarEnhancements: uden dette understøttes ikke omdøbning / flytning / duplikering af filer.
  • SublimeLinter: At tilføje linters til forskellige sprog
  • GitGutter - Viser git-status på venstre side ved siden af ​​linienumre.

Der er også meget mere at vælge imellem. I det hele taget er Sublimes pakkesupport meget god, det er bare en skam, at du er nødt til at hoppe gennem den ene bøjle i starten for endda at komme i gang med det.

Redigering og arbejdsgang

For mig er brugen af ​​projekter kritisk, når jeg arbejder i Sublime - det hjælper mig med at holde fokus på de relevante filer til det, jeg har brug for. At være i stand til at søge efter en fil og på tværs af filer er hurtigt og nemt. Jeg har ofte været nødt til at udføre søgninger på tværs af hundreder af filer for at finde et kodestykke, og Sublimes hastighed har aldrig svigtet mig.

Som med Atom - kommer den virkelige strøm, når du har installeret nogle nøgleplugins. At få den rigtige syntaksbelysning, JSON-formater, linters osv. Tager nogen tid, men når de først er installeret og konfigureret, behøver de ikke at blive rørt igen.

En ulempe, jeg har fundet, er, at der ikke er nogen anstændig Git-plugin, der lader mig gøre fine diff og sceneskift. Jeg har kun tillid til at bruge SourceTree til det. Jeg er sikker på, at andre vil kunne rette mig, hvis der er et anstændigt plugin, der kan hjælpe.

Tilpasning

Igen, Sublime ligner meget Atom. Kraften til at kontrollere aspekter som "gemme på mistet fokus", "trim whitespace" og mere er tilgængelig. Konfigurationsfilerne er enkle JSON, og der er en hel række skjulte indstillinger, der venter på, at du kan lege med.

Ydeevne

Her er hvor Sublime overgår Atom - åbning, lukning, søgning osv. Er meget glat og hurtig. Det eneste problem, jeg nogensinde har været konfronteret med, er fra plugins, der fungerer dårligt, men selv da får du en advarsel, når et plugin ser ud til at tage for lang tid.

Dom

Som jeg nævnte i starten, er jeg en lang tid Sublime bruger, så mine meninger her vil sandsynligvis være lidt partiske, men generelt er Sublime en fleksibel og hurtig editor. Der er en grund til, at det stadig er top 3-udviklingsmiljø i 2016.

Visual Studio-kode

  • URL: https://code.visualstudio.com/
  • Omkostninger: Gratis
  • Udvikler: Microsoft
  • Platformer: OSX, Windows, Linux

Visual Studio Code (VSCode) er en relativ nybegynder i verden for tekstredaktører. Det blev først frigivet sidste år (april 2015), men det har allerede været ved at samle en masse trækkraft. Microsoft har gjort et stort stykke arbejde med at skabe en kraftfuld og fleksibel cross-platform editor, der vekker en masse interesse fra udviklere.

pakker

Som med vores andre redaktører har VSCode et pænt plugin (extensions) økosystem. Udvidelsesstyringen er indbygget, og der er allerede flere tusinder til rådighed! Som med Atom, er nogle installeret som standard.

Du skal bruge lidt tid på at plukke ud plugins, der er bedst til din arbejdsgang. En af mine foretrukne (og hvad der gør mig begejstret for VSCode) er Debugger til Chrome. Det giver dig mulighed for at indstille breakpoints og debug JS fra VSCode.

Det samme kan også gøres med Node.js - indstilling af breakpoints i VSCode og gennemgå, mens node processen kører i en terminal.

Redigering og arbejdsgang

Selvom VSCode er bygget på lignende måde som Atom ved hjælp af Electron, Node og HTML / CSS, er det faktisk meget hurtigere uden reelle forsinkelser.

Jeg brugte en uge ved at bruge redaktøren, og generelt var jeg temmelig tilfreds. Det havde en meget velkendt følelse af Sublime og Atom. Debugging-funktionen nævnt ovenfor var en godbid. Jeg opsatte også noget af IntelliSense-typeshovedafslutningen, som (skønt det var smertefuldt at konfigurere oprindeligt) begyndte at vise dets fordele på en dag eller deromkring. Jeg kunne allerede whiz gennem at skrive et funktionsnavn uden at skulle huske argumenterne (eller deres typer for den sags skyld).

Som en ekstra bonus er Git-integrationen meget praktisk. Ikke så magtfuld som hvad jeg får ved hjælp af SourceTree, men til almindelige operationer som forpligtelser og diffe, viste det sig at være perfekt og fremskynde min udviklingstid.

Tilpasning

Ligesom de to foregående redaktører er de forventede tilpasningsfunktioner der - al den nødvendige indpakning, indrykkning, tema, sprogindstillinger osv.

Ydeevne

Som nævnt tidligere, selvom VSCode (som Atom) er bygget på Node.js, Electron, HTML og CSS, føles det bestemt hurtigt (i modsætning til Atom). Jeg oplevede ingen forsinkelser, når jeg åbnede / skiftede filer. Søgningen var også hurtig. Jeg tror, ​​en af ​​forskellene mellem Atom og VSCode er, at UI Editor er bygget på Monaco (fra Visual Studio Online), hvilket muligvis er forklaringen på præstationsforskellen. Under alle omstændigheder er præstationen bestemt på niveau med Sublime.

Dom

Generelt var jeg meget imponeret over VSCode, til det punkt, at jeg har overvejet at flytte til det mere permanent. Jeg har stadig ikke taget det skridt for at dykke fuldt ud, men jeg tror, ​​det ville være et dejligt ferieprojekt at konfigurere det til at opfylde lignende standarder, som jeg er vant til i Sublime. Efter det tror jeg, at jeg virkelig kunne holde mig til det i længere tid. Git-integrationen og in-editor debugger er gode funktioner, som jeg har kæmpet med i Sublime, men arbejdede næsten øjeblikkeligt i VSCode.

Vim

  • URL: http://www.vim.org/
  • Omkostninger: Gratis GPL-kompatibel licens
  • Udvikler: Bram Moolenaar
  • Platformer: OSX, Windows, Linux

Jeg føler, at alle udviklere på et tidspunkt skulle gennemgå en “passage of passions” og bruge Vi eller Vim til et projekt. Evnen til at redigere eller se en fil på en ekstern server gennem en terminal er en enorm produktiv og vigtig opgave. Jeg har set mange udviklere hoppe gennem alle mulige bøjler ved hjælp af SFTP eller krølle og uploade filer.

Jeg ved dog også, at den rene omtale af Vim bringer ryster for nogle og endda retfærdig forargelse over for andre. Havde jeg udeladt det, ville jeg frygte en alvorlig smackdown fra Vim-strømbrugerne;) I al ærlighed for dem, der har brugt tid på at mestre det, er det et utroligt produktivt miljø!

pakker

På over 14.000 pakker har Vim en til alt! Træforskere, syntaksmarkører, tema, Git-integration osv. Det er alt sammen i flere versioner. Vim er utroligt fleksibel og kraftfuld. Som med alle andre redaktører, der er nævnt ovenfor, kræver det dog noget insider-viden og anbefalinger for at kende de bedste plugins, der skal installeres.

Personligt har jeg fundet at gå ud af de mest populære plugins på http://vimawulous.com/ som udgangspunkt.

Redigering og arbejdsgang

For det første, for dem, der ikke er bekendt med Vim, er det i det væsentlige en kommandolinjeadministrator. Derfor er det ikke en app, du dobbeltklikker på og bruger en mus til at bevæge dig rundt i. Kontrol med åbning, lukning, redigering, gemning er alle tastaturgenveje.

Da jeg var på college var vi tvunget til kun at arbejde i Vi i et helt modul. Når du er tvunget til at gøre sådan noget, begynder de almindelige tastaturkommandoer at blive anden karakter. Hvis du virkelig ønsker at blive Vim-bruger, kræver det reelt engagement, men jeg lover, at du vil føle dig som et absolut geni ved udgangen af ​​det!

I al ærlighed er grunden til, at jeg arbejder i Vim, mindre effektiv, fordi jeg ikke kender nok til tastaturgenveje. Jeg kan redigere enkeltfiler, søge, udskifte osv. Let, men når jeg arbejder på tværs af flere filer, begynder jeg at miste sporet. Så for mig er Vim lidt for meget.

Tilpasning

Vim er utroligt tilpasselig. Hvis du søger efter .vimrc, finder du mange eksempler på forudkonfigurerede Vim-konfigurationsfiler. Kort sagt, alt er stort set muligt i Vim.

Ydeevne

Den eneste blokerende ydelse i Vim er brugeren… med andre ord dig! Det er så rått og så hurtigt som det kunne være, men ydelsen er, hvor hurtigt du kan indtaste dine kommandoer og bevæge dig rundt! Hvis du er en Vim-strømbruger, går det lynet hurtigt!

Dom

Vim er så rå af en redaktør, som du kan få. Det kan være et utroligt hurtigt, effektivt udviklingsmiljø, hvis du kan have tålmodighed til at lære kommandoerne. Der er et fantastisk online spil http://vim-adventures.com/ som hjælper med at lære de grundlæggende kommandoer, som at bevæge sig rundt i filer ved hjælp af h, j, k og l taster.

Endelig dom

Alle ovenstående redaktører har deres fordele og ulemper. Personligt vil jeg sige, at du i din udviklerkarriere skulle give hver enkelt af dem et skud i mindst en uge for at se selv, hvad der fungerer, og hvad der ikke fungerer for dig. Jeg håber, at opsummering af de fire mest populære tekstredaktører vil give et godt udgangspunkt, når man overvejer at ændre en redaktør.

Hvad gik vi glip af? Og hvad er din yndlingsredaktør? Fortæl os det i kommentarerne herunder.

Denne artikel blev oprindeligt offentliggjort på Codementor af Matt Goldspink.