.NET → Реализация Code Action с помощью Roslyn
Roslyn Services API позволяют легко реализовывать расширения, которые находят и устраняют проблемы в коде прямо в Visual Studio. Roslyn Services API доступно как часть Roslyn CTP.
В этом посте мы реализуем расширение для Visual Studio, которое детектирует вызовы метода Count() у Enumerable, после чего результат проверяется на равенство больше нуля, например, someSequence.Count() > 0. Проблема, заключающаяся в коде, в том, что Count() должен пройтись по всей последовательности, прежде чем вернуть результат. Более правильным подходом в данном случае является вызов метода Enumerable.Any().
Чтобы исправить это, мы реализуем CodeIssueProvider, детектирующий проблему, и CodeAction, который заменяет условие на вызов Enumerable.Any(), как и требуется. Т.е. наш CodeAction изменит что-то типа someSequence.Count() > 0 на someSequence.Any().
В этом посте мы реализуем расширение для Visual Studio, которое детектирует вызовы метода Count() у Enumerable, после чего результат проверяется на равенство больше нуля, например, someSequence.Count() > 0. Проблема, заключающаяся в коде, в том, что Count() должен пройтись по всей последовательности, прежде чем вернуть результат. Более правильным подходом в данном случае является вызов метода Enumerable.Any().
Чтобы исправить это, мы реализуем CodeIssueProvider, детектирующий проблему, и CodeAction, который заменяет условие на вызов Enumerable.Any(), как и требуется. Т.е. наш CodeAction изменит что-то типа someSequence.Count() > 0 на someSequence.Any().
Веб-разработка → Komodo Edit: обновленный скрипт сборки deb-пакета
Доброго времени суток, не так давно я писал статью со скриптом для сборки deb-пакета для Komodo Edit.
В новой версии Komodo Edit 7.0 внесены некоторые изменения в именовании архива (откуда бралась нужная информация) и в расположении запускающего бинарника, поэтому пришлось немного переписать скрипт для сборки deb-пакета.
Под катом обновленный скрипт, который также совместим с версиями < 7.0
В новой версии Komodo Edit 7.0 внесены некоторые изменения в именовании архива (откуда бралась нужная информация) и в расположении запускающего бинарника, поэтому пришлось немного переписать скрипт для сборки deb-пакета.
Под катом обновленный скрипт, который также совместим с версиями < 7.0
Программирование → Ещё одна среда разработки. Объединение проектирования и программирования в один процесс из песочницы
Имея опыт программирования свыше 10 лет, я начинаю удивляться: «почему до сих пор не сделали удобную среду разработки для программистов?». Я пользовался многими средами и во всех них есть несколько недостатков. Они работают с текстом, т.к. ориентированы на язык программирования. В них неудобно проектировать. Система контроля версий текстовых исходников никуда не годится.
Я хочу это исправить. Я не ставлю своей целью сделать универсальную среду, но кое-что попытаюсь. Возможно я просто ленивый или не умею программировать. Возможно шаблоны STL, QT это то что мне нужно? Может просто начать программировать на функциональных языках? Если вы увидите, что моя идея — бред, и я иду в неправильном направлении, скажите мне об этом.
Я хочу это исправить. Я не ставлю своей целью сделать универсальную среду, но кое-что попытаюсь. Возможно я просто ленивый или не умею программировать. Возможно шаблоны STL, QT это то что мне нужно? Может просто начать программировать на функциональных языках? Если вы увидите, что моя идея — бред, и я иду в неправильном направлении, скажите мне об этом.
Веб-разработка → Выпущен новый релиз NetBeans IDE 7.1
Любители этой IDE наверняка заметили, что сроки указанные в roadmap на ее официальном сайте netbeans.org несколько разошлись с действительностью. Лично я с нетерпением ждал 14 декабря и потом каждый день проверял не изменилось ли чего. И вот вчера это состоялось — новый релиз доступен для широкой публики.
Ключевым новшествами NetBeans 7.1 является обеспечение полноценной поддержки разработки с использованием JavaFX 2.0, значительное расширение возможностей Swing GUI Builder, поддержка CSS3, новые инструменты для визуальной отладки интерфейса приложений на базе Swing и JavaFX, интеграция поддержки Git. Кроме того, в новой версии добавлены средства для интеграции с Oracle WebLogic Server 12c. Интерфейс NetBeans 7.1 полностью локализован для русскоязычных пользователей.
Ключевым новшествами NetBeans 7.1 является обеспечение полноценной поддержки разработки с использованием JavaFX 2.0, значительное расширение возможностей Swing GUI Builder, поддержка CSS3, новые инструменты для визуальной отладки интерфейса приложений на базе Swing и JavaFX, интеграция поддержки Git. Кроме того, в новой версии добавлены средства для интеграции с Oracle WebLogic Server 12c. Интерфейс NetBeans 7.1 полностью локализован для русскоязычных пользователей.
Python → Релиз PyCharm 2.0
Сегодня компания JetBrains представила релиз новой major версии PyCharm, интегрированной среды разработки для Python, Django и Google App Engine. Среди новых фич PyCharm 2.0 стоит отметить:
- Поддержку двух новых языков шаблонов, Jinja2 и Mako
- Поддержку Cython
- Интеграцию с coverage.py для анализа code coverage
- Поддержку CoffeeScript и встроенный отладчик для JavaScript
- Переработанный интерфейс основного окна приложения, улучшенную интеграцию с платформами Mac OS X и Linux
JAVA → IntelliJ IDEA 11

Как обычно в конце года, появилось обновление среды разработки на Java — IntelliJ IDEA 11.
Новая версия в первую очередь отличается абсолютно новым, более компактным пользовательским интерфейсом для всех поддерживаемых платформ.
Благодаря переписанной архитектуре редактора можно эффективно работать даже с очень большими файлами. Также ускорена индексация проектов и запуск IDE.
Много внимания уделено специфичной для поддерживаемых платформ функциональности, такой как, например, полноэкранный режим на Mac OS X, или символьные ссылки на Linux.
Естественно, добавлено и улучшено огромное количество других фич — таких как поддержка Play framework, последних версий Groovy (2.0) и Grails (2.0), новых технологий Spring: Spring Testing, Spring Integration, Spring Data (JPA) и пр. Добавлена возможность быстрого создания и конфигурации проектов/модулей на основе Gradle-проектов. Присутствует полная поддержка редактирования CoffeeScript, c анализом кода, автоформатированием и пр.
IntelliJ IDEA 11 доступна в двух версиях — коммерческая Ultimate и опен-сорсная/бесплатная Community Edition. IntelliJ IDEA Community Edition становится всё более популярной средой для разработки под Android. В версии 11 добавлена возможность автоматического предпросмотра layout-файлов пользовательского интерфейса, а также работа с последней версией Android SDK 4.0 (Ice Cream Sandwich).
Ознакомиться с более полным списком изменений в обеих версиях и скачать IntelliJ IDEA 11 можно на сайте jetbrains.com.
PHP → Вышел PhpStorm 3.0
Доступна для загрузки новая версия PhpStorm — среды разработки для PHP от компании JetBrains. Закачка идет быстро и нас здесь хорошо знают — так что буду краток.
Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:
Подробности и картинки
Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver
Работайте с удовольствием!
P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!
Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:
- Анализ кода и поиск дубликатов помогут вам найти потенциальные ошибки и код низкого качества, рефакторинг — безопасно улучшить его
- Диаграммы классов UML помогут охватить взглядом структуру проекта и семантическое представлений изменений — локальных или из VCS
- Просмотр результатов профилирования c помощью Xdebug и Zend Debugger
- Поддержка PhpUnit 3.6 и всех опций командной строки
- CoffeeScript
- Рекурсивная синхронизация папок и гибкая настройка исключений FTP/SFTP
- Microsoft TFS, граф ревизий для git
- Новый интерфейс для всех операционных систем
Подробности и картинки
Уже скоро: релиз WebStorm 3.0 — поддержка Node.JS, JSLint и JSTestDriver
Работайте с удовольствием!
P.S. Ошибки — в трекер, вопросы — в форум, работа над 3.0.1 уже идет!
Веб-разработка → Komodo Edit: сборка deb-пакета
Доброго времени суток, хабравчане.
Я уже довольно давно пользуюсь замечательным редактором Komodo Edit (в принципе, можно его отнести даже к IDE). Когда в 2007-2008 году стал использовать Debian в качестве десктопной ОС, то для разработки продолжил использование Komodo Edit, хотя иногда кидался к Eclipse, но как-то окончательно настроив Komodo Edit, успокоился, так как он меня полностью устраивает в качестве IDE для веб-разработки. Примерно в то же время написал bash-скрипт для сборки deb-пакета, так как дружу с пакетной системой Debian'а.
Данный скрипт также имеет help и может быть использован в Ubuntu и других deb-based дистрибутивах.
Я уже довольно давно пользуюсь замечательным редактором Komodo Edit (в принципе, можно его отнести даже к IDE). Когда в 2007-2008 году стал использовать Debian в качестве десктопной ОС, то для разработки продолжил использование Komodo Edit, хотя иногда кидался к Eclipse, но как-то окончательно настроив Komodo Edit, успокоился, так как он меня полностью устраивает в качестве IDE для веб-разработки. Примерно в то же время написал bash-скрипт для сборки deb-пакета, так как дружу с пакетной системой Debian'а.
Данный скрипт также имеет help и может быть использован в Ubuntu и других deb-based дистрибутивах.
Программирование → Быстрый старт – программируем на Go под Windows — настройка Environment
Вместо вступления
Если кто не знает, Go (www.golang.org) – компилируемый язык программирования, разрабатываемый несколькими парнями из Google. Как и все хочет быть «лучше чем C». Полностью open-source. Языку недавно исполнилось 2 года и в марте 2012 планируется первый major релиз. Меня язык заинтересовал своей простотой и необычным подходом к ООП и многопоточности. Захотелось попробовать. Но будучи виндузятником и разбалованный платформой .Net, C# и Visual Studio мне было трудно именно начать. Хотя на самом деле это оказалось совсем просто, и достаточно быстро я настроил себе удобный Environment, состоящий, по сути, из IDE с подобием IntelliSense. О том, как это сделать за 15 минут я и хотел бы рассказать.
Eclipse → Настройка Eclipse 3.7.1 (Indigo) для WEB разработки из песочницы
Хабра сообществу уже предоставляли на обзор IDE для WEB-разработчика — Eclipse, с плагином PDT.
Но я вижу по некоторым статистическим отчетам и по своим коллегам, что большинство PHP девелоперов предпочитают NetBeans.
Вот уже третий раз за последние несколько лет устанавливаю NetBeans, каждый раз свежую версию, настраиваю «под себя» и снова возвращаюсь на Eclipse PDT. При этом я не просто тестирую что есть и чего нету, а работаю над реальными проектами и выполняю реальные задачи в этой среде.
Этим постом я не пытаюсь убедить читателя переходить на Eclipse — в принципе, не важно какую IDE (а может вообще блокнот) использует разработчик, если ему удобно и свою работу он выполняет качественно и в срок. Но мне любопытно что в NetBeans так подкупает разработчиков и почему я не могу ощутить всех достоинств и мощи этой IDE.
Недавно я обновил Eclipse до версии 3.7.1 (Indigo), поставил используемые плагины и настроил среду для удобной работы. По завершении у меня остались записи, руководствуясь которыми желающие поработать в этой IDE и новички смогут быстрее найти, установить и настроить все необходимое чтобы приступить непосредственно к WEB-разработке.
Но я вижу по некоторым статистическим отчетам и по своим коллегам, что большинство PHP девелоперов предпочитают NetBeans.
Вот уже третий раз за последние несколько лет устанавливаю NetBeans, каждый раз свежую версию, настраиваю «под себя» и снова возвращаюсь на Eclipse PDT. При этом я не просто тестирую что есть и чего нету, а работаю над реальными проектами и выполняю реальные задачи в этой среде.
Этим постом я не пытаюсь убедить читателя переходить на Eclipse — в принципе, не важно какую IDE (а может вообще блокнот) использует разработчик, если ему удобно и свою работу он выполняет качественно и в срок. Но мне любопытно что в NetBeans так подкупает разработчиков и почему я не могу ощутить всех достоинств и мощи этой IDE.
Недавно я обновил Eclipse до версии 3.7.1 (Indigo), поставил используемые плагины и настроил среду для удобной работы. По завершении у меня остались записи, руководствуясь которыми желающие поработать в этой IDE и новички смогут быстрее найти, установить и настроить все необходимое чтобы приступить непосредственно к WEB-разработке.