Visual Studio .NET отражает, вероятно, самый важный этап в эволюции графической среды разработки Microsoft со времени появления Visual Studio (VS) 1.0. Visual Studio .NET - не просто среда разработки с обновленным интерфейсом и несколькими новыми функциональными возможностями. Одного взгляда на Visual Studio .NET достаточно, чтобы понять: новый продукт радикально отличается от прежних версий VS. Изменения никак нельзя назвать поверхностными; усовершенствованный графический интерфейс - лишь верхушка айсберга. Благодаря внутренним изменениям инструмент можно использовать для проектирования приложений Microsoft .NET. Среди новшеств - поддержка языков C# и Visual C++ (VC++), радикальные усовершенствования Visual Basic (VB), воплощенные в языке Visual Basic .NET, встроенные функции для новой модели программирования (XML Web Services) и новая встроенная инфраструктура классов .NET.

Microsoft выпустила четыре версии Visual Studio .NET:

  • Visual Studio .NET Enterprise Ar-chitect (VSEA);
  • Visual Studio .NET Enterprise De-veloper (VSED);
  • Visual Studio .NET Professional;
  • Visual Studio .NET Academic.

VSEA - надмножество всех остальных версий. Все версии используют одну базовую среду разработки; пригодны для работы с C#, Visual Basic .NET и C++; позволяют строить Web-службы и генерировать приложения для карманных устройств. Помимо базовых функций разработки VSEA обеспечивает централизованное управление группой программистов. Архитектор проекта может назначать правила, политики и строить шаблоны для разработчиков. В состав VSEA входят экземпляр BizTalk Server Developer Edition и инструментарий планирования прикладных проектов на базе Unified Modeling Language (UML).

VSED - подмножество VSEA, но надмножество Visual Studio .NET Profes-sional. Помимо основных функций, реализованных в других версиях, в состав VSED входят версии Windows 2000 Server, SQL Server 2000, Commerce Server 2000, Host Integration Server 2000 и Exchange 2000 Server для разработчиков. Пользователи также получат инструменты Visual Source-Safe и Visual Database.

В Visual Studio .NET Professional и Visual Studio .NET Academic включены основные языки и инструментарий разработки Visual Studio .NET. Кроме того, версия Visual Studio .NET Academic дополнена специальными функциями, предназначенными для управления учебными курсами и подготовки студенческих приложений. В этой статье я предлагаю вниманию читателей обзор важнейших новшеств корпоративных версий Visual Studio .NET, а также дополнительных функций интеграции с базами данных, которые разработчики Microsoft предоставляют программистам .NET.

Возможности среды разработки

VS всегда была важнейшим инструментом программиста, и Visual Studio .NET не стала исключением. Продукт достиг нового уровня развития и специализации. Выпустив Visual Studio .NET, фирма Microsoft впервые представила общий интерфейс для всех сред разработки. Это решение по достоинству оценят программисты, которым раньше приходилось осваивать различные графические интерфейсы для каждого языка.

После запуска Visual Studio .NET пользователь видит страницу Start Page (см. Экран 1). По умолчанию в среде Visual Studio .NET предполагается, что соединение с Internet всегда активно; многие ссылки на странице Start Page указывают непосредственно на Web-узел Microsoft. При первом запуске Visual Studio .NET ссылки в разделе Get Started показывают последние проекты. Выбрав пункт What's New, можно увидеть новейшие загружаемые модули и исправления Visual Studio на сайте Microsoft. В разделе Online Community содержатся ссылки на список групп новостей Micro-soft.NET. По ссылке Headlines можно перейти к библиотеке технических статей о .NET на сайте Microsoft. Ссылка Search Online указывает на поисковую страницу Search службы Microsoft Developer Network (MSDN). В разделе Downloads хранятся ссылки на образцы исходных текстов, модули расширения и учебные пособия. Ссылка XML Web services указывает на список Web-служб, которые можно встроить в проектируемое приложение. Ссылка Web Hosting дает список Web-узлов, с помощью которых можно протестировать новую прикладную Web-службу. И, наконец, на странице My Profile (см. Экран 1) приведен список настраиваемых параметров среды разработки. С помощью My Profile можно выбрать стандартный режим Visual Studio .NET или варианты, более похожие на VB 6.0 или VC++.

Экран 1. Настройки среды разработки.

Открыв новый проект Visual Basic .NET Windows Application или начав новую форму, пользователь видит среду Visual Studio .NET (см. Экран 2). В Visual Studio .NET сохранены основные черты интерфейсов, знакомые по предыдущим версиям. Привычные элементы - это окно Code Editing с выделенными цветом ключевыми словами; окно Design, в котором можно визуально построить пользовательский интерфейс приложения, перенося мышью компоненты из окна Toolbox; знакомые окна Solution Explorer и Class View, отображающие иерархию файлов и классов в проекте. Object Browser показывает свойства и методы объектов, а в окне To Do хранится список задач, которые предстоит выполнить. Кроме того, среда разработки корпоративных версий Visual Studio .NET тесно интегрирована с новой версией Visual SourceSafe, системой управления версиями исходного текста, поставляемой вместе с Visual Studio .NET.

Экран 2. Экран Visual Studio .NET.

Несмотря на множество знакомых черт, в среде разработки Visual Studio .NET реализованы и новые возможности. Например, благодаря дочерним окнам с закладками значительно облегчается перемещение между открытыми окнами. В окне Code Editing появилась функция конспектирования, т. е. объединения многих строк исходного текста под одной строкой. Эта функция особенно полезна, если новый проект Visual Basic .NET должен быть похож на модули VB 6.0.

Экран 3. Окно приложения Server Explorer.

На Экране 3 показано еще одно новшество - окно Server Explorer. С помощью Server Explorer можно просматривать базы данных и Web-серверы, доступные из системы разработки. Можно даже переносить мышью таблицы и другие объекты баз данных, содержащие наборы результатов, из Server Explorer в окно Design; Visual Studio .NET автоматически генерирует весь программный код для связи с данными и отображает выбранные данные в сетке. Подробнее об использовании Server Explorer с SQL Server будет рассказано ниже.

В Visual Studio .NET сохранены все важнейшие функции, обеспечившие столь высокую эффективность прежних версий продукта, а благодаря многочисленным усовершенствованиям, среда разработки стала еще более эффективной и настраиваемой на конкретное применение. Во-первых, изменился внешний вид среды разработки. После понятной активации все доступные пункты раскрывающихся меню выделены голубым цветом. Специалисты Microsoft постарались более эффективно использовать поверхность экрана, автоматически скрывая окна. Например, окна Toolbox и Server Explorer по умолчанию фиксируются и прячутся слева в окне среды разработки. Скрытое окно можно вызвать на экран, проведя мышью над вертикальной линейкой заголовка, которая остается видимой, даже если окно спрятано. Если отвести мышь в сторону, то окно исчезает с экрана. Режимы окон среды разработки жестко не определены. Пользователю предоставляется возможность полного контроля над поведением окон; их можно сделать видимыми постоянно, скрытыми или плавающими.

Возможность настроить продукт на конкретное применение - еще одна важная особенность новой среды разработки Visual Studio .NET. Наиболее ярко она проявляется в новых функциях редактирования и отладки макрокоманд. С помощью макрокоманд можно настроить среду разработки на специализированное применение и автоматизировать часто повторяющиеся операции. Среда разработки Visual Studio .NET отлично приспособлена для использования сценариев и макрокоманд, с помощью которых можно выполнить любую интерактивную задачу. С макрокомандами Visual Studio .NET тесно связана функция изменения раскладки клавиатуры и назначения «горячих» клавиш для вызова макрокоманд. Пользователь может настроить среду разработки, дополнив ее модулями расширения для автоматизированных и часто повторяющихся задач. Эти модули представляют собой скомпилированные программы Visual Basic .NET, C# или C++, расширяющие функциональность среды разработки Visual Studio .NET.

Также с макрокомандами связано командное окно, для доступа к которому следует воспользоваться функцией View, Other Commands, Command Window. В командном окне можно непосредственно (в обход системного меню) выполнять команды среды разработки или изучать команды, поставив перед ними вопросительный знак. Как и при редактировании исходного текста, непосредственно в окне среды разработки функция Intellisense автоматически завершает ввод команды в командном окне. Эта функция значительно упрощает ввод исходного текста, так как среда разработки показывает правильный синтаксис и запрашивает необходимые параметры.

Помимо перечисленных усовершенствований в среде разработки есть несколько второстепенных, но полезных нововведений. Например, для вызова новой функции последовательного поиска нужно нажать клавиши Ctrl+I, а затем ввести текстовую строку. Курсор позиционируется на совпадающей текс-товой строке в окне редактирования исходного текста. По мере ввода дополнительных символов функция поиска переносит курсор в окне редактирования на первую строку, совпадающую с искомым значением. При нажатии комбинации клавиш Ctrl+Shift+I поиск повторяется с текущим поисковым значением. Как и в Microsoft Office XP, в Visual Studio .NET есть циклический буфер, содержащий 20 последних скопированных фрагментов. Программист может вставлять в исходный текст различные элементы из буфера. А новая функция выбора блоков позволяет выделять столбцы, используя мышь и клавишу Alt.

Изменения среды разработки коснулись не только возможностей редактирования. Добавлена функция динамической подсказки Dynamic Help. Для вызова Dynamic Help нужно поместить курсор над элементом в окне Code Editing и выбрать пункт Dynamic Help из меню Help. Ссылки на соответствующие разделы Help содержатся в перемещаемом диалоговом окне в нижнем правом углу окна разработки. Наряду с обычными оперативными синтаксическими подсказками имеются ссылки на образцы программ и документацию.

Под покровом среды разработки

Цель многочисленных усовершенствований - повысить эффективность работы с Visual Studio .NET, но самые важные изменения скрыты внутри среды разработки и относятся к фундаменту Visual Studio .NET, инфраструктуре .NET Framework.

.NET Framework предоставляет среду исполнения и набор классов, которые можно использовать для проектирования приложений. Ядро .NET Framework - среда исполнения Common Language Runtime (CLR), общая для всех языков .NET. Инфраструктура обеспечивает фундамент для приложений нескольких новых типов, в том числе WinForms, WebForms и Web Services. Как и следовало ожидать, WinForms используются в программах Windows, а WebForms - в приложениях Web; Web Services - компоненты для построения распределенных Web-приложений. Для проектирования программ новых типов используются различные пространства имен (namespaces - наборы классов) .NET Frame-work. В сущности, .NET Framework состоит из CLR и библиотек классов, используемых приложениями. На Рисунке 1 показан упрощенный вид инфраструктуры .NET Framework и ее связи с Visual Studio .NET.

Рисунок 1. Инфраструктура .NET Framework и ее связь с Visual Studio .NET.

Исходный текст приложений .NET можно подготовить с помощью Visual Studio .NET или любого другого текс-тового редактора. В терминологии Visual Studio .NET библиотеки исходных текстов называются решениями (solutions). Для доступа к ресурсам системы, сети, Web и баз данных приложения .NET дополняются ссылками на соответствующие пространства имен. Например, пространство имен Sys-tem.IO содержит классы для операций чтения и записи операционной системы; пространство имен System.Win-dows.Forms включает классы для создания и вывода на экран приложений Windows. Пространство имен Sys-tem.Web содержит классы для проектирования Web-приложений ASP.NET, а в пяти пространствах имен System.Data собраны классы для доступа к базам данных из программ ADO.NET.

Затем компилятор .NET Framework объединяет исходный текст программы и ссылки на классы .NET в объект, именуемый сборкой (assembly). Сборка представляет собой файл .exe или .dll, содержащий программный код на промежуточном языке (Intermediate Language, IL) и метаданные, указы-вающие на версию приложения и все используемые им компоненты. Поскольку в сборке есть метаданные, приложениям .NET не нужен реестр, чтобы обнаружить модули DLL и другие компоненты. Благодаря метаданным проблема «ада DLL» (DLL Hell) фактически решается, так как они содержат точную информацию о компонентах, использованных в сборке, в том числе их имена, версии и местоположение.

Когда пользователь или приложение формирует сборку, CLR выполняет синтаксический разбор, обнаруживая исполняемые компоненты. Затем CLR выбирает из сборки IL-код и преобразует его с помощью оперативного (JIT) компилятора в программный код, выполняемый операционной системой. CLR обеспечивает управление памятью и потоками, а также безопасность программ.

Наряду с .NET Framework компания Microsoft выпустила набор инструментальных средств для разработки программ (SDK) .NET Framework. В сущности, в .NET Framework SDK собраны языки и компиляторы .NET (Visual Basic .NET, Visual C# и VC++), а Visual Studio .NET предоставляет инструменты для создания программ с использованием этих языков.

Функции для работы с базами данных

Несмотря на столь пристальное внимание к .NET, разработчики Microsoft не забыли о программистах баз данных. Инструментарий интеграции с базами данных у Visual Studio .NET имеет целый ряд преимуществ по сравнению с любой из предыдущих версий VS. Благодаря новым инструментам управления, Visual Studio .NET стала самой эффективной платформой Microsoft для разработки приложений баз данных.

На Экране 3 показано первое окно для работы с базами данных, которое видит пользователь, - Server Explorer, пришедшее на смену Data Environ-ment. Систему SQL Server можно добавить в Server Explorer, щелкнув правой кнопкой мыши на Data Connections в окне Server Explorer и выбрав функцию Add Connection. Server Explorer располагает многими функциями управления базами данных, имеющимися в программе Enterprise Manager and Query Analyzer пакета SQL Server 2000. По щелчку правой кнопкой мыши на объекте базы данных на экране появляется меню, из которого можно перенести данные в сетку, запустить Table Designer, создать триггер, сгенерировать сценарий создания объекта, удалить объект или экспортировать данные в плоский файл. Функция Retrieve Data удивительно удобна для быстрого просмотра информации в таблице или представлении. На Экране 4 приведен пример функции выборки данных Visual Studio .NET.

Экран 4. Построение выборки данных в Visual Studio .NET.

Как и диаграммы Database Diagrams пакета Enterprise Manager, функция Database Designer среды Visual Studio .NET помогает визуализировать или создавать базу данных вместе с ее связями. Чтобы построить новую диаграмму базы данных, нужно щелкнуть правой кнопкой мыши на объекте Database Diagrams в Server Explorer и выбрать пункт New Diagram из всплывающего меню. При сохранении диаграммы Database Designer создает все представленные в ней объекты базы данных.

Еще одно новшество Visual Studio .NET - функция составления сценариев T-SQL, с помощью которой можно построить сценарий для создания целой базы данных или единственного объекта. Чтобы воспользоваться этим инструментом, необходимо установить клиентский инструментарий SQL Server на той же машине, на которой размещен Visual Studio .NET. Чтобы сгенерировать сценарий создания объекта базы данных, следует щелкнуть правой кнопкой мыши на данном объекте в окне Server Explorer, а затем выбрать пункт Generate Create Script из всплывающего меню.

Table Designer - еще одна функция управления SQL Server, реализованная в Server Explorer. В окне Table Designer, которое выглядит почти как Table Designer программы Enterprise Manager, можно построить новую таблицу или изменить схему существующей таблицы. Чтобы вызвать Table Designer, нужно щелкнуть правой кнопкой мыши на наборе Tables в окне Server Explorer и выбрать пункт New Table из всплывающего меню.

В Visual Studio .NET появился новый графический инструмент Query and View Designer, похожий на аналогичную функцию SQL Server. Чтобы создать запрос или представление данных с помощью Query and View Designer, нужно перенести таблицу в среду разработки, а затем определить ссылки, назначить критерии выбора и выделить столбцы. Для запуска Query and View Designer следует щелкнуть правой кнопкой мыши на наборе Views в окне Server Explorer и выбрать из всплывающего меню пункт New View.

Резонанс .NET

Visual Studio .NET - огромный эволюционный скачок продукта Visual Studio. Одна из основных целей Visual Studio .NET - упростить разработку Web-приложений, и авторы пакета превосходно справились с этой задачей. Благодаря функции WebForms строить Web-страницы ASP.NET стало почти так же просто, как проектировать обычные настольные приложения. Кроме того, эффективность настройки на конкретное применение и сценариев новой среды разработки значительно превосходит возможности старых версий Visual Studio.

Майкл Оти - старший технический редактор Windows 2000 Magazine и президент компании TECA. С ним можно связаться по адресу: mikeo@teca.com.