Най-добрият текстов редактор? Atom срещу Sublime vs Visual Studio Code vs Vim

С толкова много редактори за програмиране на текстове днес там, на пръв поглед простата задача да избереш внезапно става обезсърчаваща и завладяваща.

Докато пряк отговор на въпроса „какъв е най-добрият текстов редактор за разработчици?“ Не съществува, в тази публикация ще споделя с вас едно до друго сравнение между четири от най-популярните от тях: Atom, Sublime, Visual Studio Code и Vim.

След като прочетох списъка на плюсовете и минусите, надявам се да имате достатъчно информация, за да направите избор, който най-добре отговаря на вашите нужди.

Отказ от отговорност: Както при всяко сравнение, някои от тези възгледи са субективни и се основават най-вече на моите лични предпочитания. Аз съм някой, който пише за мрежата (JS, CSS, HTML и т.н.), използвайки Sublime за Mac, така че моята перспектива е малко изкривена към това, което съм свикнал. Това каза, опитах се да бъда максимално обективен.

атом

  • URL адрес: https://atom.io/
  • Цена: безплатно (лиценз MIT)
  • Разработчик: GitHub
  • Платформи: OSX, Windows, Linux

Atom е описан като:

Хакен текстов редактор за 21 век

Atom е относително новодошъл в света на текстовите редактори, но придоби огромен темп, тъй като беше пуснат за първи път през 2014 г. Нека започнем с преглед на основните му характеристики:

Пакети

Възможността за добавяне на допълнителни функции към редакцията е много важна и това е област, в която Atom свети. Мениджърът на пакети е инсталиран по подразбиране и за да направи нещата още по-добри, всички пакети се хостват на Github.

По време на писането те разполагаха с огромни 6 522 пакета и теми! Пакетите са толкова основни за Atom, че основните функции като View Tree и View View са просто предварително инсталирани пакети.

Редактиране и работен поток

Като цяло всичко в Atom е доста гладко. Най-голямата точка на болка? Измисляне кои допълнителни пакети трябва да бъдат инсталирани, когато започнете от нулата.

Например, харесвам minimap, за да ми помогне визуално да прескачам части от файл. Също така трябваше да настроя някои автоматични довършвания с помощта на Autocomplete +. Аз съм човек, който често работи върху няколко файла едновременно, така че възможността за настройка на редактиране на разделен панел е задължителна. Това е функция, която Atom поддържа добре.

Друга приятна характеристика на Atom, която открих, че липсва в Sublime, е поддръжката за влачене / пускане на файл / папка в дървовидния изглед. Толкова съм свикнал да не го имам в Sublime, че да можеш да разменяш нещата е истинско лакомство!

И накрая, git интеграцията е страхотна ... тя е направена от GitHub в края на краищата!

персонализиране

Способността да персонализирате редактор, за да съответства на потока и стила ви на развитие е от съществено значение. Лично аз винаги трябва да разреша неща като „подстригване на бели пространства при запис“, „спестяване на изгубен фокус на файла“, като и двете са лесни за настройване и отмяна в Atom.

Atom има страхотна страница на документа за това как дори да отмени стиловете (Atom е написан в чист HTML / CSS отгоре на Chromium) - http://flight-manual.atom.io/using-atom/sections/basic-customization/

Като цяло обичам колко е конфигурируем Atom - способността да се отменят настройките на база тип файл е страхотна! Например, различно отстъпи за JS срещу CSS срещу HTML е много просто с Atom.

производителност

Ако има една кост, която може да се вземе с Atom, понякога е бавно. Понякога отварянето на файл или превключването между раздели е достатъчно изоставане, за да се почувствате болезнени (особено когато сте в разгара си в действие). Когато пробвах Atom, когато беше пуснат за първи път, изпълнението беше проблем. Това със сигурност се е подобрило оттогава, но фрустрацията все още е там.

присъда

Atom е чудесен инструмент, особено за тези, които искат лесно да персонализират редактора си и извън това, което другите предоставят. Като уеб разработчик, свободата да ощипвате, добавяте и разширявате вашия редактор дава невероятно усещане за сила. Обичам и нейните документи. Ръководството за полет Atom предоставя чудесна отправна точка за новите потребители.

Най-големият недостатък за мен все пак ще са проблемите с представянето, но за безплатен редактор Atom свети ярко!

възвишен

  • URL адрес: https://www.sublimetext.com/
  • Цена: 70 долара лицензионна такса с безплатна пробна версия
  • Разработчик: бивш инженер на Google Джон Скинър
  • Платформи: OSX, Windows, Linux

Sublime бе пуснат през 2007 г., така че е останало почти десетилетие. Според проучването на разработчиците на Stackoverflow за 2016 г. това е третата най-популярна среда за развитие.

V3 Beta е най-новата му версия и макар че вече е в бета версия, не позволявайте това да ви засяга. Продуктът всъщност е много стабилен.

Пакети

Всеки потребител на Sublime ще ви каже, че първият инсталиран пакет е плъгин Sublime Package Control. Мисля, че всички тайно се надяваме, че Sublime 3 ще добави това по подразбиране, но засега просто трябва да отидете на страницата за инсталиране на уебсайта им и да копирате някои неразбираеми Python и ... Presto! Вече можете лесно да инсталирате всеки пакет от Sublime.

Подобно на Atom, Sublime има много пакети и теми! За мен основните неща са:

  • SideBarEnhancements: без това преименуването / преместването / дублирането на файлове не се поддържа.
  • SublimeLinter: За да добавите линтери за различни езици
  • GitGutter - Показва състоянието на git от лявата страна до номера на реда.

Има и много повече за избор. Като цяло поддръжката на пакети на Sublime е много добра, просто е жалко, че трябва да прескочите този обръч в началото, за да започнете дори с него.

Редактиране и работен поток

За мен използването на проекти е от решаващо значение при работа в Sublime - това ми помага да оставам фокусиран върху съответните файлове за това, от което се нуждая. Да можеш да търсиш файл и във всички файлове е бързо и лесно. Често ми се налагаше да извършвам претърсвания в стотици файлове, за да намеря фрагмент от код и скоростта на Sublime никога не ме е изпускала.

Както при Atom - истинската мощност идва, след като инсталирате някои ключови плъгини. Получаването на правилното подчертаване на синтаксиса, JSON форматите, линтерите и т.н. отнема известно време, но след като те са инсталирани и настроени, няма нужда да се докосват отново.

Един недостатък, който открих, е, че няма приличен Git плъгин, който да ми позволява да правя хубави разлики и промени на сцената. Аз наистина вярвам, че използвам SourceTree за това. Сигурен съм, че другите ще могат да ме поправят, ако има приличен плъгин, който може да помогне.

персонализиране

Отново Sublime много прилича на Atom. Налице е възможността да контролирате аспекти като „спестяване на загубен фокус“, „подстригване на бялото пространство“ и други. Конфигурационните файлове са прости JSON и има цял набор от скрити настройки, които чакат да играете.

производителност

Ето къде Sublime превъзхожда Atom - отварянето, затварянето, търсенето и т.н. е много гладко и бързо. Единственият проблем, с който някога съм се сблъсквал с производителността, е лошото изпълнение на плъгини, но дори и тогава ще получите предупредително съобщение, когато приставката изглежда заема твърде дълго.

присъда

Както споменах в началото, дълго време съм потребител на Sublime, така че моите мнения тук вероятно са леко пристрастни, но като цяло Sublime е гъвкав и бърз редактор. Има причина, че все още прави топ 3 на средата за развитие през 2016 г.

Visual Studio Code

  • URL адрес: https://code.visualstudio.com/
  • Цена: безплатно
  • Разработчик: Microsoft
  • Платформи: OSX, Windows, Linux

Visual Studio Code (VSCode) е относително новодошъл в света на текстовите редактори. Той беше пуснат едва миналата година (април 2015 г.), но вече набира много сцепление. Microsoft свърши чудесна работа за създаването на мощен и гъвкав кросплатформен редактор, който предизвиква голям интерес от разработчиците.

Пакети

Както при другите ни редактори, VSCode има хубава приставка (разширения) екосистема. Управлението на разширенията е вградено и вече има няколко хиляди! Както при Atom, някои идват инсталирани по подразбиране.

Ще трябва да отделите известно време за избиране на приставки, които са най-подходящи за вашия работен процес. Един от любимите ми (и това, което ме вълнува от VSCode), е Debugger за Chrome. Тя ви позволява да задавате точки на прекъсване и отстраняване на грешки в JS от VSCode.

Същото може да се направи и с Node.js - задаване на точки на прекъсване във VSCode и преминаване през процеса на възел в терминал.

Редактиране и работен поток

Въпреки че VSCode е изграден по подобен начин на Atom, използвайки Electron, Node и HTML / CSS, той всъщност е много по-бърз без реални изоставания.

Прекарах една седмица в редактора и като цяло бях доста доволен. Имаше много познато усещане към Сублиме и Атом. Посочената по-горе функция за отстраняване на грешки беше почерпка. Също така настроих някои от завършванията на IntelliSense typeahead, които (макар и болезнено да се конфигурират първоначално) започнаха да показват предимствата си след ден или повече. Вече бих могъл да свикам чрез въвеждане на име на функция, без да се налага да помня аргументите (или техните видове за този въпрос).

Като допълнителен бонус интеграцията на Git е много удобна. Не толкова мощен, колкото това, което получавам с SourceTree, но за обикновени операции като комити и разлики, се оказа перфектен и ускори времето ми за развитие.

персонализиране

Подобно на предишните два редактора, очакваните функции за персонализиране са налице - всички необходими опаковки, отстъпи, тематизиране, езикови настройки и т.н.

производителност

Както споменахме по-рано, въпреки че VSCode (като Atom) е изграден на Node.js, Electron, HTML и CSS, той определено се чувства бързо (за разлика от Atom). Не изпитвах никакви изоставания при отваряне / смяна на файлове. Търсенето също беше бързо. Вярвам, че една от разликите между Atom и VSCode е, че редакторът на потребителския интерфейс е изграден на Монако (от Visual Studio Online), което може да бъде обяснението за разликата в производителността. Във всеки случай представянето определено е наравно с Sublime.

присъда

Като цяло бях много впечатлен от VSCode, до степен, че обмислях да се преместя по-постоянно. Все още не правя тази стъпка, за да се потопя напълно, но мисля, че би било хубаво празнично проектиране да го конфигурирате, за да отговаря на подобни стандарти, с които съм свикнал в Sublime. След това мисля, че наистина бих могъл да се придържам за това по-дълго. Интеграцията на Git и отстраняването на грешки в редактора са страхотни функции, с които се борех в Sublime, но работех почти веднага във VSCode.

Vim

  • URL адрес: http://www.vim.org/
  • Цена: Безплатен лиценз, съвместим с GPL
  • Разработчик: Bram Moolenaar
  • Платформи: OSX, Windows, Linux

Чувствам се, че всички разработчици трябва в даден момент да преминат през „ритуали за преминаване“ и да използват Vi или Vim за проект. Възможността за редактиране или преглед на файл на отдалечен сървър чрез терминал е изключително продуктивна и важна задача. Видях много разработчици да прескачат всякакви обръчи, използвайки SFTP, или да свиват, и да качват отново файлове.

Но също така признавам, че самото споменаване на Вим предизвиква треперене на някои и дори праведно възмущение на други. Ако го бях пропуснал, бих се страхувал от тежък отбив от потребителите на Vim захранването;) Честно казано за тези, които са отделили време да го овладеят, това е невероятно продуктивна среда!

Пакети

При над 14 000 пакета, Vim разполага с един за всичко! Изследователи на дървета, маркери на синтаксис, тематизиране, интеграция на Git и т.н. Всичко е там, в множество версии. Vim е невероятно гъвкав и мощен. Въпреки това, както при всички останали редактори, споменати по-горе, познаването на най-добрите плъгини за инсталиране изисква някои вътрешни познания и препоръки.

Лично аз открих излизането на най-популярните плъгини на http://vimawesome.com/ като начална точка.

Редактиране и работен поток

Първо, за тези, които не са запознати с Vim, това е по същество редактор на текст на командния ред. Следователно не е някакво приложение, което щракнете два пъти и използвате мишката, за да се придвижвате. Контролът на отваряне, затваряне, редактиране, записване са всички клавишни комбинации.

Когато бях в колеж, бяхме принудени да работим само във Vi за цял модул. След като сте принудени да направите нещо подобно, обикновените команди на клавиатурата започват да се превръщат във второ естество. Ако наистина искате да станете потребител на Vim, е необходим истински ангажимент, но обещавам, че до края на това ще се почувствате като абсолютен гений!

Честно казано, причината за работа във Vim е по-малко ефективна, защото не познавам достатъчно клавишните комбинации. Мога да редактирам единични файлове, търсене, замяна и т.н. с лекота, но когато работя в няколко файла, започвам да губя следи. Така че за мен Вим е малко прекалено много.

персонализиране

Vim е невероятно адаптивен. Ако търсите в Google за .vimrc, ще намерите много примери за предварително конфигурирани конфигурационни файлове на Vim. Накратко, във Vim всичко е много възможно.

производителност

Единственият блокиращ производител във Vim е потребителят ... с други думи вие! Това е толкова сурово и възможно най-бързо, но ефективността е колко бързо можете да въведете командите си и да се движите! Ако сте потребител на Vim захранване, той пламва бързо!

присъда

Vim е толкова суров за редактор, колкото можете да получите. Това може да бъде невероятно бърза, ефективна среда за разработка, ако имате търпение да научите командите. Има страхотна онлайн игра http://vim-adventures.com/, която помага да научите основните команди, като например да се движите из файлове с помощта на клавиши h, j, k и l.

Окончателна присъда

Всички горепосочени редактори имат своите плюсове и минуси. Лично аз бих казал, че в кариерата на вашия разработчик трябва да дадете на всеки от тях снимка поне седмица, за да видите сами какво работи и кое не работи за вас. Надявам се, че обобщаването на тези четири най-популярни текстови редактори ще бъде добра отправна точка при обмислянето на промяна на редактора.

Какво пропуснахме? И кой е любимият ти редактор? Уведомете ни в коментарите по-долу.

Тази статия първоначално е публикувана на Codementor от Matt Goldspink.