Pull to refresh
  • by relevance
  • by date
  • by rating

JetBrains WebIDE — четвертая публичная сборка (#470)

PHP *
Мы продолжаем нашу борьбу за идеальное IDE для PHP ^) Анонс предыдущей сборки на хабре подарил нам огромное количество информации и указал основные направляния для совершенствования. В этот раз мы сосредоточились на выведении типов, (авто)дополнении и производительности. Под «выведением типов» подразумевается определение типов переменных, выражений и функции на основе анализа кода (а не PHPDOC @аннотаций)

В этой сборке мы добавили:
— автоматическое выведение типов возвращаемых значений функций на основе анализа операторов return
— автоматическое определение фактических свойств класса и их типов путем анализа кода конструктора (см. скриншоты)
анализ функций
анализ конструктора
— автоопределение типов глобальных переменных без аннонаций
— полную поддержку аннотаций var и global
— автовызов дополнения после $ и ->
— дополние внутри PHPDOC @тегов (частично), $переменных (из следующей декларации) и видимых типов
— сокрытие __magic() методы при первом вызове (если есть другие члены класса)
— ограничили дополение внутри catch() подклассами Exception

Производительность улучшли, настолько насколько это возможно в экспериментальной версии. По мере приближения к релизу ей будет уделяться основное внимание.

Скачать Анонс Подробный список изменений

Приглашаем всех пробовать и продолжать дискуссию :)

UPD: в этом билде был найден серьезный баг — дополнение часто не срабатывает для классов не из текущего файла :((( уже исправлено — будет доступно на следующей неделе.
Total votes 71: ↑63 and ↓8 +55
Views 1.3K
Comments 197

JetBrains WebIDE — публичная сборка #500

PHP *
Квест «идеальное IDE для PHP» продолжается :) За прошедшую с предыдущей сборки неделю стали доступны две наиболее востребованые фичи — PHPUnit и FTP, ну и конечно мы постарались исправить как можно больше ошибок.

IDE
— начальная версия поддержки удаленных хостов — пока что только FTP upload. (Планируется: открытие удаленного проекта, автосинхронизация, SFTP/SSL/всякие cloud storage). Находится в меню Settings — Deploy&Run.
— Новые удобные закладки (F11)

PHP
— начальная версия поддержки PHPUnit (пока только локальный запуск)
— добавлено выведение типов для переменной в «foreach(...)», элемента массива «array[...]» и тернарного оператора "?:"
— добавлены поиск использований (Ctrl-Alt-F7) и переименование (Shift-F6) для глобальных переменных
— исправлены поиск использований и переименование для статических членов класса
— исправлены различные ошибки форматирования кода и комментариев

Загрузка Анонс

FTP PHPUnit
Total votes 51: ↑41 and ↓10 +31
Views 1.1K
Comments 117

JetBrains WebIDE — публичная сборка #701 / немного о ZendCon'09 / кое что о неочевидных возможностях

PHP *
И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.



Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 1.2K
Comments 200

JetBrains PhpStorm (AKA WebIDE) — публичная сборка 94.335

PHP *
В этой сборке вас ждут:

Новое имя. Два варианта Web IDE получили свои официальные названия: JetBrains WebStorm и JetBrains PhpStorm. Брендинг еще не закончен так что вы увидите знакомые белые сплэши и иконки WI в самых разных местах. Цель разработки остается прежней — идеальный инструмент для PHP/JS разработчиков и веб-дизайнеров.

Полностью настраиваемый PHP formatter – эта фича получила наибольшее количество голосов в трекере.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 3.2K
Comments 108

Разработчики IE высказались против Google Dart

Website development *
Прошло полтора месяца с момента официальной презентации нового языка программирования Google Dart, который позволит создавать быстрые и высокопроизводительные веб-приложения. Он также позиционируется в качестве замены/альтернативы JavaScript, якобы страдающего от «фундаментальных изъянов».

Для развития Google Dart очень важно, чтобы во все браузеры была встроена поддержка трансляции из Dart в JavaScript, а в будущем Dart был реализован в браузере как основной нативный клиентский язык. Понятно, что с Chrome проблем не будет. Но вот разработчики других браузеров пока не спешат поддержать революционную инициативу Google, а группа разработки Internet Explorer высказалась категорически против нового языка программирования. По их мнению, JavaScript вполне может эволюционировать для создания больших масштабируемых веб-приложений.
Читать дальше →
Total votes 89: ↑75 and ↓14 +61
Views 2.4K
Comments 250

Tern — умное редактирование JavaScript с выводом типов

Website development *JavaScript *
Recovery mode
Разработчик замечательного in-browser-редактора CodeMirror Marijn Haverbeke написал движок вывода типов Tern для JavaScript, предназначенный для интеграции с редакторами кода. Tern производит анализ исходных текстов на лету по мере их изменения, используя для этого алгоритм (pdf), применяемый в движке Mozilla SpiderMonkey.

Исходные тексты Tern пока не открыты, но автор обещает их открыть в случае успешного краудфандинга, в случае же очень успешного краудфандинга обещается даже создание плагинов для двух редакторов по выбору общественности. При этом исходные тексты на странице с демонстрацией не обфусцированы, так что посмотреть на них из любопытства ничего не мешает.
Total votes 16: ↑15 and ↓1 +14
Views 7.6K
Comments 14

Var и val в Java?

Java *
Translation
От переводчика: автор этой заметки — Stephen Colebourne, автор библиотеки Joda Time и Java Time API.


Следует ли добавить вывод типов локальных переменных в Java? Как раз сейчас команда разработчиков языка Java задалась этим вопросом.

Вывод типов локальных переменных


JEP-286 предлагает добавить вывод типов локальных переменных, используя новое псевдоключевое слово (интерпретируемое как «зарезервированное наименование типа»):

Явное указание типа локальных переменных зачастую не является необходимым. Разрешив разработчикам опускать его, мы хотим упростить разработку на Java, уменьшив необходимое количество формальностей, но при этом не жертвуя статической типизацией.
Читать дальше →
Total votes 30: ↑22 and ↓8 +14
Views 31K
Comments 85

Заменить Object на var: что может пойти не так?

Programming *Java *

Недавно я столкнулся с ситуацией, что замена Object на var в программе на Java 10 приводит к исключению в процессе выполнения. Мне стало интересно, много ли разных способов добиться такого эффекта, и я обратился с этим вопросом к сообществу:



Оказалось, что добиться эффекта можно разными способами. Хотя все они несильно сложные, но на примере такой задачки интересно вспомнить о разных тонкостях языка. Давайте посмотрим, какие удалось найти способы.

Total votes 44: ↑43 and ↓1 +42
Views 9.7K
Comments 17

Typescript: Объединение типов в глубину

TypeScript *
Translation

Пошаговое руководство о том, как в TypeScript написать такой generic-тип, который рекурсивно объединяет произвольные вложенные key-value структуры данных. Это может оказаться несколько более сложной задачей, чем вы думаете.

Подробнее
Total votes 13: ↑13 and ↓0 +13
Views 7.1K
Comments 28