Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Передісторія

Якщо ви не любите довгі міркування, то переходите до наступної частини статті. Тут я просторікує про те, як можуть розвиватися події в житті.

Ти коли-небудь помічав, як швидко летить час? Коли ти був дитиною, і навіть школярем, (11 клас не береться до уваги, так як там вже починаєш звикати з думкою, що все йде до того, що скоро все почнеться по новій) навряд чи думав про час, про те, як цей час можна провести з користю і інші подібні речі. Наступною сходинкою становлення особистості як професіонала, в якійсь мірі і якійсь області, є студентська пора. Під час навчання у вищому навчальному закладі ти вже починаєш розуміти, що час - це ресурс, причому невоспроизводимость. Час не можна повернути, повернути назад і витрачати його на якісь дрібниці, яких можна уникнути.

Якщо спробувати спроектувати цей потік думок на нашу з вами область, то виходить, що все в самому початку шляху не думають про те, що якісь речі можна робити набагато, набагато швидше! У міру того, як ти розвиваєшся в якійсь області і твої думки, дії, вміння набирають певний рівень - волею-неволею замислюєшся про витрачений час.

Проходить деякий час, і ти починаєш цікавитися ще більшою кількістю інструментів. Деякими з них ти починаєш користуватися, за іншими починаєш стежити і навіть брати участь у їх розвитку. А час все йде і йде.

Наприклад, ти починаєш помічати, що він не так добре працює з автодоповнення властивостей, підказки його не такі хороші, а ще бракує автоматичної перевірки коду на валідність або якісь особисті правила. Насамперед ти вирушаєш на пошуки плагінів, які можуть допомогти тобі впоратися з цими недоліками, тобто усунути їх. Ти встановив ще десяток плагінів (образно), але краще від цього не стало. Автодоповнення досі працює дивно.

Автодоповнення коду працює, перевірка коду ще краще, ніж та, що я робив за допомогою плагінів. Ох, навіть перевірка на існування змінних в Less організована. Ух, ніфіга собі, тут навіть є автоматичних пошук домішок в файлах і виведення їх параметрів при використанні. І це лише мала частина того, що тебе дивує на цей момент. Починаєш задаватися питаннями: Ох, де ж ця IDE була раніше? Чому я її не використав весь цей час?

На цьому твої пошуки закінчуються. Ти щасливий, адже твій новий інструмент куди краще, ніж раніше.

Чому WebStorm?

Чим же так він тобі сподобався?

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

До речі, з автодоповнення JS у ST3 якісь конфлікти. Ну ніяк не пропонувалися мені змінні для підстановки. Вірніше сказати, вони пропонувалися, але коли вже було написано десь 80% назви змінної. Тут же все чудово працює з першої ж букви.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

А ще я отримав автодоповнення змінних в залежності від контексту. Тобто, якщо я працюю з домішкою, то змінні мені будуть пропонуватися, в першу чергу, з її аргументів. Це сверхкрутимі і зручно.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Крім цього, автодоповнення відмінно працює з класами і домішками. Це ще один плюс в скарбничку, так як домішок в проекті може бути куди більше, ніж 10, 20, 50 і навіть 100 штук. А ще на скріншоті видно, що прямо в цьому ж віконці відображаються очікувані аргументи для домішки.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Чому я так багато часу приділяю плюсів, пов'язаних з автодоповнення? - Це дико економить час, якщо проект вже переріс ту психологічну позначку, коли ви пам'ятаєте всі назви змінних, домішок і класів для розширення ( : Extend (.)).

Зрозуміло, можна і не запам'ятовувати назви змінних, якщо застосовувати якусь логіку їх назв, тобто конструювати змінні, в залежності від передбачуваного контексту їх використання. Наприклад, якщо це змінна, необхідна для всього проекту, то слід конструювати її назву наступним чином:

Не буду розпинатися з цього приводу далі, так як я планую написати на цю тему окрему статтю, в якій буде розказано, як називати змінні в Less так, щоб не потрібно було їх запам'ятовувати.

Перевірка на помилки і налагодження коду

Тепер можна писати Less код навіть без компіляції в CSS, адже всі помилки будуть видні відразу ж, в зручній формі і на цьому ж місці. На жаль, Prepros іноді творить чудеса і не явно вказує на помилки при компіляції Less в CSS, і замість того, щоб вказати рядок, де існує проблема, він просто кидає мені назву змінної. Доводилося користуватися пошуком або компілювати після кожного класу, щоб економити час на пошук місця помилки.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Зрозуміло, можна використовувати Grunt або Gulp і їм подібні. В цьому випадку, цей плюс вам не знайомий, так як ці системи збирання (вірніше їх плагіни) відмінно справляються із зазначенням помилки і її дислокації в проекті.

Ще одним плюсом буде відмінна система налагодження і тестування коду, про яку написано на офіційному сайті виробника.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Якщо ви маєте якийсь внутрішній стандарт з оформлення шапок у файлів, то в WebStorm є шаблони створення файлів. На жаль, вони злегка не логічні при виклику, хоча це суто моя особиста думка. Я хвилин п'ять шукав, де ж шаблон Less файлу, який я відредагував, а тут бац, і він лежить в stylesheet. Хоча, можна, напевно, було здогадатися :)

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

А ще відсутня пошук по шаблонах при створенні через вікно проекту, хоча він присутній, якщо створювати файл через меню file> New. Цікавеньке справи, проте :)

Цікавою функцією буде лістинг завдань в проекті. Досить-таки зручно для великих проектів, коли є якісь спірні моменти в коді або їх потрібно дописати (виправити) в майбутньому.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

До слова, ви теж помітили, що у jQuery зі сховищ є TODO? - тепер я розумію чому він так багато важить :)

Мені цього вистачило, щоб зробити свій вибір в сторону цього продукту.

Які труднощі виникли при переході?

Є маленька проблема, яка властива всім IDE - вони гальмують. Моторошно гальмують. У випадку з WebStorm така проблема також є, але її можна трохи придушити

Для того, щоб хоч якось позбутися від повільності, варто почати використовувати 64-бітну версію і злегка пошаманити з настройками віртуальної середовища в WebStorm64.exe.vmoptions або WebStorm.exe.vmoptions. Параметри там суто особистісного характеру і залежать від конфігурації вашого комп'ютера. Якщо ви хоч раз настроювали сервер Minecraft, то для вас це буде зовсім просто, інакше скористайтеся цим посиланням.

Наведу приклад з відкритим файлом бібліотеки jQuery. Звичайно, довелося почекати близько п'яти секунд, але це дрібниці.

Розповідь про те, чому я від улюбленого sublime text пішов, та на webstorm перейшов

Якщо ви ще не здогадалися, то WebStorm написаний на Java. Однак, ніяких сильно ненажерливих ситуацій я ще не зустрічав. При роботі з порівняно великими Less (вони у мене жорстко розбиті) і невеликими JS файлами, я отримав максимум 80Мб. Цілком прийнятний результат - мене все влаштовує.

На жаль, перераховувати і розписувати всі плюси для мене безглуздо - треба пробувати самому. Адже для кожного мінуси і плюси будуть різними, то є особистими. Комусь подобається одне, іншому ще щось і так до нескінченності.

  • Нормальна система автокомпліта
  • Відмінна підсвічування коду
  • Відмінна система підказок (аргументи домішок, підтримувані браузери і т.д.)
  • Добре працююча перевірка коду (існування змінних, помилки і т.д.)
  • Підтримка всього і відразу
  • Проста налагодження і тестування коду
  • Структура файлу (показуються всі класи в короткій формі)
  • гнучкість налаштувань
  • Модулі (не можу без сортування властивостей)
  • Гнучка система знижок
  • Активна розробка та підтримка
  • злегка гальмує
  • Трохи заплутані настройки (після ST це пекло якийсь)
  • Неочевидне для мене використання шаблонів файлів і відсутність пошуку по ним при створенні
  • Отримання знижки студентам (нижче детальніше)

Ах, так, для всіх продуктів цієї компанії є 30-ти денний пробний період з повним функціоналом.

Для студентів є 100% знижка. Як тільки приїде моя картка ISIC, або я отримаю пошту в домені свого університету, відразу ж спробую отримати ліцензійний ключ. На жаль, отримати пошту в домені тяжко, а от якби студентський можна було сфотографувати, як у DreamSpark, то було б здорово. Але ситуацію з фотками студак вони описали в своїй статті на Хабре.

Не знаю точної дати додавання можливості, але тепер ліцензію можна отримати по скані студентського квитка, використовуючи для цього спеціальну форму.

Дякую всім за увагу, хорошого коду і відмінних інструментів вам!

Ділимося на оплату хостингу або кави.
Чим частіше п'ю каву, тим частіше пишу статті.