Pull to refresh

Comments 13

Еще появилась поддержка arrow functions без скобок, если тело функции содержит только одно выражение.
То, что раньше нужно было писать так:

(singleParam) => { return expression; }


теперь можно так:

singleParam => expression
Мне кажется, это не стоит упоминания. Они стремятся быть суперсетом ES6, а это часть стандарта. Кстати, подробнее список изменений 1.5 можно посмотреть в roadmap, а все, что уже поддерживается в Kangax ES6.
Не, интересная штука. Это именно то, что важно для разработчиков. Я, например, это пропустил, когда читал roadmap. А штука сильно повышает читаемость кода.
Еще, если аргумент один, но у него указан тип, то таки, к сожалению, надо брать его в скобки.
Это было с самого начала.
Хм, возможно это у меня IntellijIDEA раньше не понимала такой синтаксис. Если да, прошу прощения, за то, что ввел в заблуждение.
ReSharper тоже, к сожалению, много чего не понимает. Но разработчикам тулзов проще/дешевле/интереснее писать свои велосипеды, чем использовать стандартные сервисы компилятора. :(
В ReSharper мы поддерживали синтаксис `() => e` (и конечно `() => { }`) с самого начала поддержки TypeScript, потому что он был в 1.0. Даже недокументированный синтаксис `function() => e` хотели уже поддержать, но его дропнули до релиза.

Разработчиком тулзов сложнее/дороже писать половину компилятора и справляться с расхождениями, но ни у кого не возникает почему-то мыслей, что компиляторы:

1)… не всегда обладают необходимым для IDE функционалом (зачем компилятору хранить в AST вайтспейс и комментарии? зачем компилятору уметь API для модификаций AST и их трансляции обратно в текст? Зачем компилятору уметь быстро искать использования членов типов в других файлах? Зачем компилятору уметь переименовывать эти использования?).
2)… написаны на каком-нибудь языке, на котором _НЕ НАПИСАН_ UI и ядро IDE. Это вообще никого не парит, я смотрю, будто от компилятора так мало информации надо и такой тривиальный протокол общения, что ничего не стоит сделать интероп. Ага ага
3)… во время своего развития просто удаляют какие-то ставшими obsolete ошибками или предупредлениями, а вот от IDE хотят работу с разными версиями языка и нам приходится мейнтейнить все предыдущие версии языка
4)… не всегда существует! Как писать поддержку JavaScript тогда, о какие «стандартные сервисы»?

Никто почему-то не видит плюсов того, что все поддержки языков в IDE написаны на одном языке с использованием очень похожих концепций, что IDE не зависят от breaking changes в API и релизных циклов компиляторов, что некоторые вещи можно сделать лучше чем они сделаны в компиляторах и так далее.

Я могу дальше продолжать, но пользователям все равно виднее, эх :)
Можете не повторяться, ваши доводы я уже читал, их понял, но конечный продукт из-за этого лучше не стал.

1. Roslyn это не спасло от вашего игнорирования.
2. Сервисы компилятора написаны на TS и как-то интегрируются со студией. А помните SCSS дополнение, подсвечивающее код с помощью Ruby компилятора?
3. Снепшоты — не самый плохой вариант.

А пользователям действительно виднее. Потому что сейчас поддержка TS (да даже JS) очень посредственная. Я уж не говорю про производительность, редактировать JS/CSS/XML/HTML/AS*X/TS на ноутбуке с включенным решарпером просто невозможно. На режим no implicit any, я так понял, вы окончательно забили и реализовывать не собираетесь. Вайтспейсы в AST вам не помогают не сжирать строки при любом рефакторинге типа introduce variable, extract method и др.

Вчера я переключил проект в TS 1.5 и посмотрел что получилось. Решарпер поставил новый рекорд плотности ложных ошибок! Ранее было примерно 1 ошибка на 500 строк (это если не использовать protected, который решарпер тоже не понимает — но спасибо за обещанный фикс в 9.2). Теперь у меня 17 ошибок на 212 строк! Потратил час времени, сделал вам 445645.
Как вы знаете, вчера вечером состоялся релиз Visual Studio 2015

А я даже и не знал:) На хабре еще вроде нет обзора фич новой Студии?
Я подозреваю, что XaocCPS уже пишет :). Даже не буду пытаться его опередить.
Sign up to leave a comment.

Articles