Наверное, вы не станете возражать, что по сравнению с программой Блокнот и командной строкой использование редактора TextPad – шаг в правильном направлении. Однако TextPad (пока что) не предлагает возможности IntelliSense для программного кода C#, графических средств разработки, шаблонов проектов и средств работы с базами данных. Чтобы представить такие возможности, рассмотрим следующий инструмент .NET-разработкш SharpDevelop.
Компоновка .NET-приложений с помощью SharpDevelop
SharpDevelop является интегрированной средой разработки с открытым исходным кодом и богатыми возможностями, которые вы можете использовать для создания компоновочных блоков .NET на основе C#, VB .NET, Managed Extensions для C++ или CIL. Кроме того, что эта среда разработки совершенно бесплатна, следует отметить то, что она целиком создана на языке C#. Причем вы можете либо загрузить и скомпилировать необходимые файлы *.cs самостоятельно, либо использовать готовую программу setup.exe, которая установит SharpDevelop на вашей машине. Оба дистрибутива можно загрузить со страниц http:// www.icsharpcode.net/OpenSource/SD/Download.
После установки SharpDevelop выбор меню File->New->Combine позволит указать вид (и язык .NET) проекта, который вы хотите создать. В терминах SharpDevelop
Рис. 2.10. Диалоговое окно создания проекта в SharpDevelop
Замечание. Приложение SharpDevelop версии 1.0 настроена на использование компилятора C# 1.1. Чтобы использовать новый возможности языка C# 2005 и пространства имён .NET Framework 2.0, выберите Project->Project options из меню и укажите новую версию компилятора на странице настроек Runtime/Compiler (Среда выполнения/компилятор).
Возможности SharpDevelop
Среда разработки SharpDevelop предлагает разнообразные возможности повышения производительности труда программиста, и во многих отношениях эта среда разработки столь же богата возможностями, как и Visual Studio .NET 2003 (но не настолько, как Visual Studio 2005). Вот список основных преимуществ SharpDevelop:
• поддержка компиляторов C# от Microsoft и Mono;
• возможности IntelliSense и расширения программного кода;
• наличие диалогового окна Add Reference (Добавление ссылки) для ссылок на внешние компоновочные блоки, включая компоновочные блоки, установленные в GAG (Global Assembly Cache – глобальный кэш компоновочных блоков);
• наличие инструментов визуального проектирования Windows Forms;
• различные окна (в SharpDevelop они называются scouts – разведчики) для обзора структуры проекта и его составляющих:
• интегрированная утилита браузера объектов – Assembly Scout (Разведчик компоновочных блоков);
• утилиты для работы с базами данных;
• утилита конвертирования программного кода C# в VB .NET (и наоборот):
• интеграция с NUnit (утилита тестирования .NET-модулей) и NAnt (утилита компоновки .NET):
• интеграция с документацией .NET Framework SDK.
Впечатляюще для бесплатной IDE, не так ли? В этой главе мы не собираемся обсуждать каждый из указанных пунктов подробно, но давайте рассмотрим наиболее интересные из них. Если вас интересуют подробности, то заметим, что SharpDevelop предлагает очень подробную документацию, доступную при выборе Help->Help Topics из меню.
Окна проектов и классов
Создав новый комбинат, вы можете использовать окно Projects для просмотра файлов, ссылок и ресурсов соответcтвующих проектов (рис. 2
Рис. 2.11. Окно проектов
Чтобы в текущем проекте сослаться на внешний компоновочный блок, в окне Projects щелкните правой кнопкой мыши на пиктограмме References (Ссылки) и из появившегося контекстного меню выберите Add Reference (Добавить ссылку). После этого на вкладке GAC или .NET Assembly Browser (Обзор компоновочных блоков .NET) вы сможете выбрать компоновочный блок, размещенный, соответственно, в GAC или в другом месте (рис. 2.12).
Рис. 2.12. Диалоговое окно добавления ссылок в SharpDevelop
Окно Classes обеспечивает объектно-ориентированный взгляд на комбинат, отображая пространства имен, типы и члены типов, определенные в рамках проекта (рис. 2.13).
Рис. 2.13. Окно классов
Двойной щелчок на любом элементе открывает соответствующий файл, помещая курсор мыши на определение элемента.
Обзор компоновочных блоков
Утилита Assembly Scout [Разведчик компоновочных блоков), доступная из меню View, предлагает обзор компоновочных блоков, на которые имеются ссылки в проекте. Это средство предлагает информацию в двух панелях, Левая панель предлагает дерево просмотра, позволяющее "войти" внутрь компоновочного блока, чтобы увидеть пространства имен и соответствующие типы (рис. 2.14).
Рис. 2.14. Просмотр компоновочных блоков в окне Assembly Scout