![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Exception |
|
||||||||||||||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
7 ноября мелкие наконец-то выпустили Visual Studio 2005.
После покупки я малость разочаровался: он не хотел ставиться. Но (спасибо arilou), оказалось, что необходимо скопировать инсталляшку на винт, а потом уже ставить... Итак, первым, что я увидел, была новая Start Page. Теперь на ней можно увидеть последние новости Visual Studio. А можно и свой RSS-Feed поставить... Как пожелаете ![]() Интерфейс изменился по сравнению с первой бетой; насчет второй не знаю - не юзал. Ну да не в нём суть. Итак... начнём по порядку. В Visual Studio 2005 появилась такая интересная штука, как IntelliSense Code Snippets. Сейчас поясню. Допустим, нам нужно использовать код доступа к БД, который вам ну очень лень набирать ![]() ![]() Кстати, теперь настройки проекта видны в виде иконки 'My Project' в Solution Explorer'е. Впрочем, это косметика)) Ещё M$ довольно обширно рекламировала новую фичу Вижл Студио - "Exception Assistant". Мол, помогает устранять ошибки. Ну я конечно его попробовал. Как это выглядит, видно на скриншоте. Примитивные ошибки он устраняет довольно прилично. Короче, это из нововведений типа "без него хорошо, а с ним ещё лучше" ![]() Ну и пара особенных вкусностей, о которых не хотелось говорить в суе ![]() Помните времена VB6? Запустил прогу... вдруг, во время Step замечаем, что случайно недописали одну строчку... или написали лишнюю... Смело ставим исполнение на паузу и правим код. Нажимаем Run - и никакой перекомпиляции! Прога исполняется с изменениями! К чему же я это? Ах, да. Visual Studio 2005 тоже поддерживает эту возможность (зовущуюся Edit-And-Continue). Причем ещё в большем объёме: можно перетащить стрелочку, указывающую текущую строку в любое место кода, и он будет исполняться оттуда! Кайф ![]() И напоследок о самой среде. В ней появилась возможность, которой так не хватало в 2003. UML... Меня охватил неописуемый восторг, когда я, щёлкнув правой по моему нэймспэйсу в Class View, увидел строчку Class Diagram. Это просто чудо (нет-нет, мелкие мне за рекламу не платят ![]() Кстати, чуть не забыл упомянуть ещё об одной фиче. Называется она "Object Test Bench". Честно говоря, нашёл я её не сразу. Видимо, мелкие хотят, чтобы люди любили окошко Class View, хотя мало кто им пользуется - не очень-то это удобно. Но теперь его юзать придётся ![]() Кстати, дебаггинг в VS 2005 тоже стал удобнее. Теперь, если задержать курсор над переменной, появится деревце, в котором описаны его члены (не нужно лазать в Autos). В общем, видно на скриншоте. Также появились визуализаторы - Text, XML и DataSet Visualizer. Теперь стринговые, XML-евые и датасетовые значения можно просматривать в более удобном виде. Если нажать кнопочку с лупой (напротив самого свойства/поля), появляется нужный визуализатор. Примеры текстового и DataSet'ового есть на скриншоте. Насчёт проектов: почему-то в New Project нету проекта ASP.NET Application. Зато появилась новая кнопочка "New Web Site...". Теперь все ASP.NET - проекты лежат там (см. скриншот). Сказать честно, когда я глянул в HTML-код, генерируемый VS 2005, я был приятно удивлён: он полностью соответствовал стандарту XHTML, в отличие от VS 2003. Есть ещё несколько "косметических" изменений: например, теперь все using aka Imports не засоряют код страницы, а объявляются в web.config. Появилось достаточно много новых контролов для ASP.NET. Причём тулбокс теперь составлен тоже ввиде дерева (как в BDS). Добавились контролы типа Login (см. скриншот), SiteMapPath (потипа Форум прогеров > .NET > общие вопросы по .NET и C#), ImageMap, Localize, и многие другие. Кстати, в design-time около контролов появляются окошки типа Control Tasks, позволяющие настроить вид и поведение компонента. Также появилась новая тулза "ASP.NET Web Application Administration Tool". Ставится вместе с ASP.NET 2.0. Я ещё не очень с ней разобрался, но, видимо, она служит для упрощённого управления файлом web.config. Так.. вроде по ASP.NET это всё. Теперь по Windows Application. Захотелось опробовать Windows-приложения: авось чего нового. Захожу в код формы... а там... ![]()
Меня хватил шок. Где Windows Forms Designer Generated Code??? К счастью, его я обнаружил в соседнем файле *.designer.cs. Теперь codebehind есть и для форм. Похвально, зачастую всякие InitializeComponent() мне очень мешали. Кстати, теперь можно добавлять референсы на exe-файлы. Лично мне этого очень не хватало. Что ж... Конечно, сперва я глянул на тулбокс. Конечно, появились новые контролы. Начнём с пользовательского интерфейса. Появилась поддержка красивых меню - компоненты MenuStrip и ContextMenuStrip. Не совсем понял значение слова Strip, ну да ладно))). Выглядят они красиво (см. скриншот). Кстати, в меню можно засунуть текстбокс и комбобокс. Наонец-то все контролы становятся по умолчанию XP-шными. И код для EnableVisualStyles пишется автоматически. Для любителей работать с БД появился новый контрол DataGridView. Впринципе, он похож на DataGrid, но является более расширяемым и настраиваемым. Короче, он удобнее. Кстати, вместе с другими Strip'ами ( ![]() Насчёт Splitter'а: работа с ним была не слишком удобной, так что появился компонент SplitContainer - две панели, разделённые сплиттером. Само смешное, что мне стоило больших трудов удалить его с формы без вмешательства в её код. Оказалось, чтобы его удалить, нужно щёлкнуть именно на самом сплиттере, а потом уже жать <Del>. Ещё появился довольно интересный элемент TableLayoutPanel. В нём элементы группируются как в HTML-таблице. Всё это мне напоминает Layout'ы из Жавы. Как обычно, см. скриншот ![]() Ну и закоренелым любителям HTML: FlowLayoutPanel. Думаю, тут нечего объяснять. См. скриншот. Ещё есть контрол MaskedTextBox, которого почему-то не было в 1.1, WebBrowser и RichTextBox. Тут уж точно всё понятно. Кстати, они являются лишь оболочками над COM, так что тут нету ничего нового. И чуть не забыл про ещё один Strip - ToolStrip. Как вы наверное догадались, это - XP-шный тулбар. Ничего так ![]() Появились "новые" контролы - BackgroundWorker, DataSet (!), FileSystemWatcher и куча других. Знакомо, а? Это - контролы для тех, кому лень в коде объявить лишнюю переменную.. Впрочем, код не мусорится лишними обявлениями... Решайте сами, будете ли вы их юзать. Я думаю так: если какой-нибудь FileSystemWatcher используется одной процедурой, объявлять его надо в коде, а если многими - ставить компонент. Но принципиальной разницы не вижу никакой. Ещё появилось новое окошко - Document Outline (см. скриншот). В нём видны контролы, остроенные в виде иерархического дерева. Позволяет быстренько удалить заﭺﻁלּвший контрол, который почему-то не выделяется (а такое частенько бывает(). Чуть не забыл про ещё один контрол: ToolStripContainer. Почему-то я не понял, как его юзать, но зачем он - понятно из названия. Про контролы вроде всё... Кстати, появились новые "шаблоны" форм, вылезающие в Add Item... - LoginForm, Dialog, AboutBox, MdiParent и SplashScreen. Все они видны на скриншотах. Насчёт нововведений в самом дотнете... Появились дженерики. Для тех, кто не знает, что это, скажу, что это - управляемый аналог template'ов из Си-Пи-Пи. Причём MC++ умеет работать и с родными шаблонами и с дженериками. Теперь предпочтительно использовать пространство имён System.Collections.Generic. Причём IntelliSense "чует" тип дженерика и показывает его (см. скриншот). Однако, в C# он почему-то не обнаруживает ошибок до компиляции (в отличие от VB). Выглядит это так:
Теперь множество классов построено на дженериках, так что придётся переучиваться ![]() Причём очень интересно, что можно объявлять свой класс-дженерик и ограничивать типы объектов, которые ему можно передать:
Теперь вот такой код не скомпилируется:
Кстати, благодаря дженерикам появился замечательный класс Nullable. Чем-то он напоминает WeakReference. Объявив ссылочный объект как Nullable, вы сможете присваивать ему значение Nothing (вместо всяких дебилистических DBNull). Объявление выглядит это так:
Теперь у x свойство HasValue устанавливается в значение False. Это нужно, например, чтобы отличить нулевое значение от его отсутствия ![]() Кстати, в C# вышеприведённое объявление можно записать так:
Вот так-то. Заметил новое пространство имён - System.Media. В нём лежат классы SoundPlayer и другие, с ним связанные. Думаю, их нах... то есть назначение (клавишей промахнулся ![]() И несколько "приятностей" для программистов VB.NET. Наконец-то VB.NET выровнялся по возможностям с шарпаком! Встречайте: Перегрузка Операторов и XML-Комментирование Кода! [Бурные овации] А если серьёзно, то теперь и VB.NET умеет ЭТО.
Кайф, да? И это не всё:
XML-комменты обозначаются тремя апострофами. Ну и My Namespace - тоже "специально для VB". В любом месте кода вы можете обратиться к фиктивному пространству имён My (оно составляется из разных пространств имён, правда я не понял, когда - в рантайме, что ли...). В нём содержатся классы для удобной работы с файлами, системныим настройками, мышью, клавой, да много с чем... Вот вроде бы всё, о чём я хотел бы рассказать. Если вы нашли что-либо интересное, о чём я не упомянул или какую-либо мою ошибку - милости просим, постите сюда ![]() Успехов! Run-time Error Архив со скриншотами |
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Exception |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Кстати (фанатам C++):
Теперь страшный зверь Managed Extensions For C++ переименовался в C++/CLI и стал гораздо более прирученным и домашним. Сравните код (пример из MSDN): Managed Extensions Syntax
C++/CLI Syntax
Чуете разницу? Так что, Чип, переходи к дотнетчикам ![]() P.S. Забыл написать, что теперь getter и setter могут иметь разные области видимости! Типа такого:
Это сообщение отредактировал(а) Run-time error - 2.12.2005, 17:12 |
||||||||
|
|||||||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Почитал. Интересно. Однако удивлен, что Студия не умела этого раньше. Многими из этих фич Java IDE обладают уже давно.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Так оттуда и тырили ![]() И из BDS |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
А что это? -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Borland Developer Studio aka Delphi 2005 ![]() Но вот скорость его с VS не сравнится ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
[ОФФТОП]
если уж и тырить - так надо было тырить из Eclipse -- чудесная вещь... чего только стоят IntelliSence-тултипы с suggestions, превращающиеся в memo-поля по нажатию F2, и всего остального не перечесть, студии ещё расти и расти до этого... [/ОФФТОП] -------------------- ![]() |
|||
|
||||
Aurus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 14.8.2005 Где: Новосибирск Репутация: нет Всего: 0 |
Я может совсем "дурацкий" вопрос задам, но уж помогите новичку.
Я учился прогать в Borland C++ Version 3, потом и за ПХП брался - кароче везде есть хорошая подсветка синтаксиса. Сейчас VS 2005 поставил: весь код обычный черный шрифт ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
ЭТО КАК??? Ты видно текстовый файл в нём редактируешь ![]() |
|||
|
||||
Aurus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 14.8.2005 Где: Новосибирск Репутация: нет Всего: 0 |
можно как то регулировать подсветку синксиса или нет?
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
А чем она тебя не устраивает? Изменить ее можно через Options, но включена она всегда. Покажи скриншот, где у тебя не подсвечивается
|
|||
|
||||
Aurus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 14.8.2005 Где: Новосибирск Репутация: нет Всего: 0 |
Run-time error, с подсветкой разобрался. спсб.
теперь вот вопрос: установил VS 2005,а с ней установился ещё MS SQL Server 2005. Вот я не пойму - он урезанный какой-то или как? В меню пуск такое содержимое: Microsoft SQL Server 2005->Configuration Tools-> SQL Server Configuration Manager SQL Server Error and Usage Reporting SQL Server Surface Area Configuration Нет никакого SQL Query Analyzer и пр... |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Express Edition. Действительно, никакого Query Analizer я не нашел.. Ну да и не нужен мне 2005-й пока. А будет нужен -- лотки в метро рулят
Это сообщение отредактировал(а) Run-time error - 20.12.2005, 18:50 |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Есть МФС?
Не изменилось ли к лучшему? ![]() Че смеетесь!? А вдруг... ![]() -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Aurus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 14.8.2005 Где: Новосибирск Репутация: нет Всего: 0 |
т.е. MS SQL Server 2005 Express Edition можно смело удалять и ставить 2000.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |