Pull to refresh

Comments 97

UFO just landed and posted this here
Поьзуюсь только решарпером, но уже не представляю жизни без этого плагина.
Сейчас стоит найт билд четверки, жду релиза.

Про Smart Paster даже не слышал, посмотрю сейчас что это вообще такое.
Вообще встает. Но последняя стабильная версия (3.1) не поддерживает C# 3.0 (и VB 8 соответственно). Следующая версия (4.0), которая будет поддерживать все, сейчас в разработке - недавно вышла в статус беты.
Глючит она у меня что-то..
Подождем релиза.
Я тоже не представлял, пока не выдали баааальшой проект с кучей индийского кода. Решарпер просто жутко вешал систему, пришлось удалить и разбираться с вижлой. И что оказалось - большинство функций решарпера есть и в вижле, пускай не в такой красивой обертке, но есть. Переназначив кучу шорткатов, получаем почти-решарпер на основе вижлы. Нет пары функций, зато громадный (я не шучу) прирост скорости работы IDE. Кому интересно, я у себя в блоге писал эти шорткаты, рекомендую:
http://isuhinin.blogspot.com/2008/03/vis…
http://isuhinin.blogspot.com/2008/03/vis…

На английском, не обессудьте :)
Да, в основном они и идут
тогда да, с Web-проектами R# 3.0 безбожно тормозил. В 4-ке все на _порядки_ быстрее.
Возможно :) В любом случае, попробовать родной функционал вижлы 2008 стоит, т.к. там есть фичи, которых нету в решарпере.
R# совершенно не отменяет какую-то функциональность VS, и нигде практически не дублирует, а предоставляет набор сервисов, которые делают жизнь... даже не прекрасной, а просто хотя бы нормальной.
Ну я не говорю, что R# отменяет что-либо. Я говорю, что есть некоторые фичи vs, которые немногие знают.

И, между делом, проект, из-за которого я отказался от R# был написан на WinForms :). R# безбожно тормозил на файлах по 3000 строк (повторюсь, код индусский).
Демон с подсветкой можно отключить, тогда на больших и плоских файлах вытка не будет, но останется вся вкусность Find, GoTo, рефакторинги, Context Actions. Впрочем, странно что он у вас тормозил, на больших файлах он долго думает пока делает раскраску, но работу не тормозит.
Все перечисленные вкусности в той или иной степени есть и у самой вижлы и отключать ничего не надо :).

А тормоза, я так понял, были из-за компиляции на лету, любое изменение в коде и он перекомпилировывал весь файл. А он, как я уже говорил, большой.
У VS нет нормального FindUsages (ну, это ладно еще) и нет вообще Goto Symbol, рефакторинги - в зачатке, работы с ошибочным кодом (то что есть счастье TDD-шника и не только) - нет даже в проекте. Понятно, что IDE - это текстовый редактор, и более ничего и не нужно, но мы ж говорим о продуктивности.
Goto definition есть, FindUsages тот же, просто не дает возможности сортировки. Что имеется в виду под работой с ошибочным кодом? Рефакторинги редко нужны другие, кроме переименования, выделения интерфейса/метода.

Если рассматривать продуктивность как скорость разработки, то конкретно у меня ситуация такая: я отказываюсь от функционала решарпера для того, чтобы за время, которое я экономлю при его отсутствии, написать то же самое руками :) Получается быстрее.

З.Ы. Если 4й решарпер будет быстрее - с удовольствием перейду обратно - от некоторых фич сложно отказаться.
Goto definition - это навигация на декоарацию текущего символа под кареткой. Я же имею в виду переход на любой класс/метод по имени - очень часто нужно и совершенно необходимо для больших проектов.

Быстрее ли руками - это надо честно мерить. (а "плохой" код изживать)

Рефакторинги может опять же нужны редко, но когда нужны, то приходится без них убиваться.

Ошибочный код. Начнем с частой оперции импорта namespace - в большом проекте это уже проблема. Create something from usage - экономит массу времени (мечта TDD-шника) и сил (хотя бы даже на навигуацию и на набивание болванок). Вообще, концепция QuickFix в R# позволяет легко делать из неработающего кода работающий - вместо того, чтобы много (особенно с навигацией картеки) бить руками.
Да, такой GTD нужен :(

Когда каждые секунд 30 работы решарпер перекомпилировывает файл - руками абсолютно точно быстрее.

А что вы используете кроме того, что я перечислял выше?

Импорт неймспейса - есть функция в vs2005 и выше. Ctrl + .
Create smth from usage - и такое есть, vs2005 и выше.

Так что ваша фраза "работы с ошибочным кодом (то что есть счастье TDD-шника и не только) - нет даже в проекте" мягко говоря, ошибочна. И импорт неймспейса родной быстрее, чем в R# (субъективно :))
Решарпер анализирует код в фоне и постоянно и инкрементно. Редко на каких файлах это приводит к реальным тормозам. У меня в проекте таких единицы (и все автогенеренные).

TDD: вы попробуйте полный набор R# функциональности, там очень много удобных контекстных штук, которых в студии нет (кстати, студийный Create From Usage так и не смог найти/запустить - поделитесь ссылкой на хелп или еще что-то) - в общем тут надо конкретно разбирать (в R# около 20 этих create что-то)

Имопрт неймспейса на самом деле нетривиальная операция, а быстрее - это за гранью человеческой реакции, мне кажется.

Еще я использую в R#: Code Structure View, анализатор кода и аннотации(possible null reference exceptions, etc.), Go To By Name, Generate implements/constructors/ets, QuickFixes and ContextActions при создании нового кода (инициализация из параметров конустукций и проч.), Convert lambda <-> anonymous method и прочие полезные контекстные штуки, но их легко не вспомнить. Stack Trace Explorer - мега штука. Юнит-тесты, рефакторинги, highlight usages. Code completion - в трех вариантах (сокращает количество нажимаемых клавиш в разы и позволяет понимать, что в точке кода происходит)
Create from usage (если правильно друг друга понимаем) - пишем метод с параметрами, как только поставлены скобки можно нажать Ctrl + . и будет опция сгенерить такой метод. До полной функциональности решарпера не дотягивает, но лично для меня это самая используемая фича.

Анализатор кода в вижле 2008 однозначно мощнее. По сути - интегрированный FxCop - отличная штука. Имплементацию интерфейса-заглушку генерит все тот же Ctrl + . , Convert lambda <-> anonymous method - еще не встречал, я 4го видел очень ранний билд. Stack Trace Explorer - не юзал :(. Юнит тесты в 2008й отлично сделаны.

Code completion - мне лично хватает базового, хотя очень редко, согласен, нужно посмотреть дополнение с соответствующим типом.
Студийный create from usage работает только для элементарных типов, и соответственно не может выводить типы параметров (к тому же тормозит).

На самом деле разговор приобретает странное направление. Понятно, что VS2008 хорошая среда, и что ее достаточно для большинства применений.

R# же призван повышать производительность, что у успехом и делает. Естественно, за это приходится расплачитваться циклами CPU, но это малая плата. Ибо даже если что-то и тормозит, то один Got To By Name сэкономит столько времени, что окупятся все затраты.

R# - это как кухонный комбайн: можно и без него, но с ним как-то быстрее, и удобнее и даже безопаснее (хотя и надо мыть, но кто ж мешает купить посудомоечную машину в виде хорошего процессора и памяти)
Угу, залетело куда-то не туда :) Завершаемся.

З.Ы. Ссылки гляньте в любом случае, там есть приятные вещи, которых в R# нету (пока?), вроде инкрементального поиска, навигации и т.д.
Спасибо за ссылки!
Очень полезные шорткаты для себя нашел. :)
А чем он лучше ReSharperа, не знаете?
это все круто, но что из вышеперечисленного работает в экспресс версиях? =)
Решарпер не работает :( А это, по-моему, самый крутой из адд-онов к студии.
да по-моему ни один из плагинов не работает в экспрессе... а это очень и очень плохо =(
Ну дык а чего вы хотели? Первая доза - бесплатно, а если хотите каких аддонов или там документации - деньга давай.
Собственно тут вот всё подробно описано. Plugin'ы не должны работать в Visual Studio Express. Никакие. А если что-то вдруг заработает, то "это не ваша заслуга, а наша недоработка"...
да я понял +) Вы почти ту же ссылку дали комментом ниже =)
Тот ответ я сам только сейчас увидел. Хабр, как обычно, его съел - но через какое-то время (переварив?) отдал...
Ага, они еще в свое время судились с Jamie за то, что TestDriven.NET работает в Express-версии.
Ничего, разумеется. Некоторые пользователи сдуру включают поддержку Visual Studio Express в свои аддоны, после чего их сильно бьют (вообще странно что вы об этом ничего не слышали), после чего поддержка обрубка из продукта убирается.
да я не особо и программист. так - когда нужда заставит +) поэтому и не слышал ничего
спасибо за ссылку - просвятили вы меня =)
А в чем проблема? Разве это незаконно? Точнее почему бы им просто в странах кроме США его не распространять?
При чём тут США? SDK, позволяющий разрабатывать эти plugin'ы запрещает это делать в своей лицензии, сам Visual Studio Express - тоже. Я посмотрю на их потуги объяснить в суде как они разрабатывают свои plugin'ы без использования Visual Studio :-)
Недавно скачал Microsoft SourceAnalysis. Описание и ссылку тут можно посмотреть
http://www.pnasoft.com/archive/2008/05/2…
суть в том, что эта тулза позволяет оценивать по некоторым правилам соглашений о написания кода весь написанный C# код.
Это уже извращение, по-моему. :)
Не, этот совет также входит в некоторые (если не ошибаюсь, RSDN) соглашения по оформлению исходного кода :)
А еще ваши собственные using MyCompany.MyCode; нужно отбивать от всяких using System; одной строкой.
Зато решает сразу все (хи!) проблемы. А тяжело? 4Gb, Core2Duo 3GHZ и все будет летать. + 64битную Висту, чтобы с памятью не было проблем, впрочем есть патч для 32-битных операционок.
а код он сам ещё не пишет? :) а то устал уже
будет писать - уволят ведь!
Эта возможность есть vs2008 по умолчанию, нажмите на юзингах правой кнопкой
рад за неё. а пока в 2003-2005 - аддон :)
CopySourceAsHtml (CSAH)
копирует из студии код и форматирует в html. Полезно для блоггеров. Действительно бесплатный http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/
Это конечно хорошо, но то, что этот аддон выдает на Хабре не пройдет. :)
рульная штука, и не только для блоггеров. мне помогает внутрикомпанейские презентации готовить, в офис прекрасно вставляет
<a "href=http://www.microsoft.com/downloads/details.aspx?familyid=3389F7E4-0E55-4A4D-BC74-4AEABB17997B&displaylang=en" target="_blank">FXCop - не является аддоном в прямом смысле, позволяет пропускать сборки через правила (правила можно создавать свои). Чем-то напоминает code analysis в студии. Очень мощная и хорошая штука.

Решарпер - всем хорош, но тормозит даже при небольших количествах проектов жутко.
Могу посоветовать Вам отключить в сеттингах Color identifiers.
Особой пользы от этого нет, а создает основную нагрузку.
И еще, для комфортной роботы решарперу нужно немало памяти. Если ему их предовставить - все отлично, никаких тормозов.
Например, у меня для огромного солюшна (около ста проектов) нужно 3 гига чтобы все быстро работало.. При двух тормозил..
Цвета это полезно:) А вот работающий в фоне solution-wide code analysis у решарпера тормозит при открытии проекта. Это пожалуй его единственный большой минус
R# в этом (что SWEA тормозит) честно признается, но будем надеяться что в 4-ке будет быстрее.
А как ему отвести побольше памяти?
небольших - это сколько (в штуках и строках кода или килобайтах)?
Небольших - дома пишу маленький проект, порядка 10к строк ~ 5 проектов.
На работе ~117 тысяч строк и 20 проектов. Открывается и там и там медленно. Компьютеры по харь-кам эквивалентны.
к указанному набору лично для себя добавил CoolCommands за некоторые довольно удобные фичи...
раньше еще были установлены PowerToys и WebReports8, но из-за чего сейчас вспомнить сложно :") на данный момент они не установлены, видимо их функции не так востребованы мной как раньше

кстати, может подскажете какой-нибудь удобный addIn для сравнения двух файлов не выходя из студии? :D
вспомнил... diff tool есть в WebReports8, но он мне не понравился ... альтернативы в розыске :")
Уважаемые специалисты VS!
В виду того что вышла достаточно недавно новая VS Express, хотелось бы узнать, можно ли:

* Настроить ее так что бы она понимала PHP?
+ * Объекты, классы, вложенность классов?
+ * Debugging?

* Javascript?
+ * Prototype.js || jQuery || ExtJS методы, классы

* Html + Smarty?

* Те же вопросы, + "и безплатно?"

Работаю в Eclipse. Вроде бы всем доволен, но WinAPI это WinAPI.
Так, кажется я немного неправильно задал свой вопрос.

Есть:
Microsoft Visual Web Developer 2008 Express Edition
Чем ЕГО надо снабдить, что бы он понимал PHP, JavaScript, b фреймворки на перечисленных языках?

Такое вообще возможно? Или лучше не задумываться и сидеть спокойно на Eclipse?
Для PHP есть VS.PHP, но я ним ни пользовался. И он платный 100 у.е.
Больше ничего для этих нужд "серьезновыглядящего" не нашел..
Не совсем понял, зачем вам студия с поддержкой php. Взгляните на Phalanger, если вам требуется компилятор php для дотнета.

Что касается второй части вопроса, то поддержка JS-библиотек добавлена в VS 2008 SP1 (и в экспресс версии тоже), который сейчас на стадии общедоступной беты.
Да, + VisualSVN, ибо кто ж живет сейчас без SVN!
Так он без TortoiseSVN не работает вроде. А если есть черепашка то все остальное только лишние сущности. Imho конечно.
Как минимум:
1) Solution Reload
2) QuickDiff
3) Кнопки близко - не надо никуда переключаться
4) Иконки статуса
5) Многократный rename
6) Отслеживание удалений, переименований, созданий - всех операций на дереве проектов

TortoiseSVN - это все таки мучение
Мы пользуемся вот этими фичами для Студии:
- fxCop
- TestDriven.NET
- VisualSVN
- Resharper (используется, к сожалению, только маленькая часть)
- MS Source Analysis
- GhostDoc

и кроме нее в процессе разработки, связанном с программированием в проекте:
- NUnit
- mbUnit
- RhinoMocks
- TypeMock
- NCover
- NAnt
- CruiseControl.NET
- Subversion
Спасибо за Smart Paster - сам уже почти собрался писать :)
Можно еще глянуть на интересные и бесплатные полезняшки DPack .
Обитают тут: http://www.usysware.com/dpack/
Кто-нибудь знает addon к VS2008, чтобы можно было строить UML диаграммы по исходникам или отдельное приложение для reverse engeniring?
Првый клик на проекте -> View Class Diagram.
Про полноценный UML не знаю, но диаграммы классов вполне нормальные.
а в 2008 это можно делать уже не только для с#?
Пока 2008–ю не пробовал
Аддон, позволящий извлекать строки в ресурсы, довольно удобно для рефакторинга - Resource Refactoring Tool.
А также не совсем аддон и не совсем для студии, но для меня просто незаменимый - ILMerge, позволяющий объединять несколько сборок в одну.
http://www.viemu.com - эмулятор лучшего редактора всех времен и народов для студии. уж совсем не знал, что и делать без этого плагина. доходило до того, что писал код в виме, а компилировал в студии - неконсистентно было, одним словом
Еще удобный плагин PInvoke.net, но не все юзают, хотя и не часто это нужно.
Хмм.. неужели никто не знает про CodeRush от devexpress.com
Помоему с ним разработка в Visual Studio становится в разы приятнее
Так как я в свое время первым попробовал CodeRush, то вопрос должен звучать так: «Чем ReSharper лучше?». Но важных функций, которые есть у ReSharper и нет у CodeRush, я не нашел.
Тем более мне очень нравится графическая составляющая КодеРаша. То есть подсветка блоков кода, боковые вертикальные линии и мнооого чего другого =)

...и летающие стрелочки

из важных функций: нет анализа кода и, соответственно, работы с некорректным кодом, каким код является большую часть времени.
Вот попробовал..
Отвлекает он меня только своей графикой и некоторые кнопки блокирует...
да, согласен там графики слишком. Особенно стрелочки летающие, но всё же настраивается =)
Попробуйте ReSharper - будет приятнее в разы разов.
Ну как говорится: "На вкус и цвет ..."
Странно, что никто не написал о профайлерах (или я пропустил?)
Сейчас использую ANTS Profiler - позволяет профайлить производительность как Win, так и Web-приложения, достаточно удобный.. Жаль триал период 14 дней.


Freeware-аналоги (по юзабилити и возможностям) может быть кто-то встречал?
Sign up to leave a comment.

Articles