Комментарии 45
Для меня это запуск нужного теста, отображение покрытия прямо в коде, навигация по директивам, компонентам и фильтрам из шаблона (это чисто для ajs проектов)
- 4000+ файлов в проекте;
- многие из них по 2-4к строк;
- многие из ошибок это не просто форматирование, которое исправляется нажатием хоткеев, а сложные штуки, над которыми надо медитировать...
- фиксить сразу всё — значит, потерять напрочь историю авторства фрагментов кода.
В общем, бывают сложные случаи. Опять же — чтобы фиксить ворнинги, надо видеть ворнинги. А при зависшем намертво линтинге это не очень просто делать.
А поддержка многих языков включает в себя пошаговую отладку? Или речь просто о подсветке синтаксиса?
вся мощь продуктов JetBrains (при условии хорошей поддержки экосистемы) — "контекстный интеллект". простейший пример — подсветка ошибок и автодополнение, которые в случае VSCode и SublimeText в основном подсказывают текстовые совпадения и базовые ошибки в синтаксисе, в то время как IntelliJ (и его производные) подсказывают наиболее подходящие варианты дополнения в данном контексте и предлагают возможности для рефакторинга на лету. не уверен, что одними плагинами можно достичь подобного уровня "осведомленности" редактора...
возможно устаревшее мнение (последние несколько лет работаю преимущественно с IntelliJ), но по крайней мере раньше было именно так и в WebStorm в том числе.
В vscode от языка зависит. Для JavaScript/TypeScript и ошибки подсвечиваются, и автодополнение хорошее, и всякие Go to definition. А, например, для руби уже похуже поддержка. В общем надо конкретный язык смотреть. И при помощи плагинов можно действительно много реализовать.
Вопрос по поводу JetBrains. Что если я захотел подключить какой-нибудь custom-ный plugin к babel? Например поддержку |>
или что-нибудь ещё более новое/своё. Не получится такого, что, скажем нужно пару лет подождать поддержки decorator
-ов, for await *
, |>
, ::
, чего-нибудь ещё, потому что мне половину кода мажет как ошибку, линтер сходит с ума, автокомплит умер, и работать невозможно.
^ не троллинг, я не пользовался продуктами JetBrains и мне правда интересно. В ST3 мне достаточно написать линтер для eslint (или взять готовый), и подправить подсветку синтаксиса (если она сломалась). И то и другое идёт отдельно от редактора, и можно обновлять хоть каждый день. Например сделать пулреквест в репозиторий автора плагина.
Webstorm (и другие продукты JetBrains соответственно) поддерживает все последние нововведения Javascript, включая еще не утвержденные proposals, например декораторы, или приватные поля через #.
for await и :: тоже поддерживаются, |> — нет.
Найти какое-то подробное описание с полным списком не получилось, документация про это очень скудная.
Мы стараемся поддерживать proposals на этапе 3. Некоторые proposals добавляем раньше, если есть спрос благодаря хорошему Babel-плагину. Поддержку предложений на стадии 1 стараемся не делать — слишком уж часто меняется синтаксис.
Страницы с полным списком поддержанных proposals нет, но можно следить за задачами с тегом ES7 (знаем, что не очень правильное название тега, но так уж сложилось) на нашем трекере.
Делать плагины для поддержки нестандартного JS-cинтаксиса у нас и правда непросто, но мы готовы помогать советом.
с другой стороны не скажу что в мире IntelliJ (и производных) все гладко и единорожки с радугами — поддержка той же scala в intellij отвратительна. а множество плагинов либо безнадежно заброшены авторами, либо работают из рук вон плохо. хотя, наверное, то же самое можно сказать про комьюнити-плагины для любого инструмента =)
Апдейты выходят каждую неделю, всегда последние версии плагинов. Легко самому подправить какой-нибудь плагин. Все на JS
foo = (ctx: context) => {...}, то vscode сам дописывал в самом верху такое:
import {context} from 'koa'.
Ну и плагин для ноды показался мне умнее в плане автодополнения, чем webstorm.
Но опять же. Оговорюсь, что я особо не копался в настройках webstorm.
Так же не помешают Beautify (чтобы приятнее было смотреть на чужой код).
Code Spell Checker — Помогает избегать глупых ошибок в названиях переменных, классов, методов и т.п.
Добавлю ещё отличные плагины:
- Color Highlight — показывает цвет цвета прямо в редакторе
- EditorConfig — для поддержки одноименного формата
- PlantUML — диаграммы прямо в редакторе
- Script Commands — если лень писать свои плагины, можно цеплять абсолютно любые собственные скрипты к редактору
Главное, что нет необходимости ставить 3 IDE, если время от времени нужно править код на Java/JavaScript/ObjectiveC/C++.
Когда есть index.ts, и хочется что то импортнуть из соседнего файла, то автоимпорт автоматически прописывает import {myFunction} from '.'
а нужно чтоб было import {myFunction} from './myFunction'
а то как то уже поддостало бороться с циклическими импортами.
это кроссплатформенный редактор с открытым исходным кодом
А можно таки ссылку на исходный код самого редактора? Или, хотя бы встроенных расширений? Пруф линк для неверующих так сказать.
У меня Андроид студия столько же жрет, и никаких расширений ставить не пришлось:) Если мы говорим про экономию памяти — однозначно vim. Или Geany, он память не жрет и довольно много из коробки умеет.
Мне Chrome хватает))
ИМХО
P.s я не использую Chrome в качестве редактора кода, хотя у них реализован функционал для редактирования файлов.
ATOM:300МБ, много плагинов, бесплатный.
Sublime: 30МБ, мало плагинов, условно бесплатный для некоммерческого использования.
VS Code: 3ГБ(в конкретно случае, а так средний показатель 300-500МБ), много плагинов, бесплатный.
Отсюда выбор Atom & VS Code идет чисто от потребности конкретного юзера.
А вот Sublime выберут те кому очень важна ОЗУ и пишут на популярных технологиях.
Топ VSCode расширений, которые ускорят вашу разработку на JavaScript