войти зарегистрироваться

.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().

Веб-разработкаKomodo Edit: обновленный скрипт сборки deb-пакета

Доброго времени суток, не так давно я писал статью со скриптом для сборки deb-пакета для Komodo Edit.
В новой версии Komodo Edit 7.0 внесены некоторые изменения в именовании архива (откуда бралась нужная информация) и в расположении запускающего бинарника, поэтому пришлось немного переписать скрипт для сборки deb-пакета.

Под катом обновленный скрипт, который также совместим с версиями < 7.0

ПрограммированиеЕщё одна среда разработки. Объединение проектирования и программирования в один процесс из песочницы

Имея опыт программирования свыше 10 лет, я начинаю удивляться: «почему до сих пор не сделали удобную среду разработки для программистов?». Я пользовался многими средами и во всех них есть несколько недостатков. Они работают с текстом, т.к. ориентированы на язык программирования. В них неудобно проектировать. Система контроля версий текстовых исходников никуда не годится.

Я хочу это исправить. Я не ставлю своей целью сделать универсальную среду, но кое-что попытаюсь. Возможно я просто ленивый или не умею программировать. Возможно шаблоны 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 полностью локализован для русскоязычных пользователей.

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
Как и раньше, попробовать PyCharm можно бесплатно в течение 30 дней, а для open-source проектов есть возможность получить бесплатную лицензию. Скачивайте, пробуйте — будем рады вашему фидбэку.

JAVAIntelliJ 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. Закачка идет быстро и нас здесь хорошо знают — так что буду краток.

Сотни различных улучшений, более полуторы тысячи голосов пользователей добравшихся до трекера. Наиболее заметные новые функции и изменения:

  • Анализ кода и поиск дубликатов помогут вам найти потенциальные ошибки и код низкого качества, рефакторинг — безопасно улучшить его
  • Диаграммы классов 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 дистрибутивах.

ПрограммированиеБыстрый старт – программируем на 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-разработке.