Поиск

Выбор редактора

Прежде чем начать писать приложение, надо выбрать редактор. В этом разделе я кратко расскажу о наиболее популярных редакторах и посоветую выбрать подходящий.

Notepad

Среди разработчиков первых приложений на С#, применявших .NET Framework SDK, самым популярным редактором был Microsoft Notepad. Когда я писал эту книгу, у меня были несколько иные причины пользоваться им, о которых скажу ниже. Однако вам я не советую Notepad, a почему — вы сейчас поймете.

  • Исходные файлы на С# должны иметь расширение .cs, и при сохранении файла у вас будут проблемы. Дело в том, что если в диалоговом окне Save As ввести имя файла с расширением, скажем, Test.cs, то файл запишется с именем test.cs.txt. Чтобы этого не происходило, нужно каждый раз в списке Туре устанавливать строку All Files.
  • В Notepad не показываются номера строк — это очень затрудняет поиск ошибки, о которой компилятор сообщает, указывая номер ошибочной строки.
  • Табуляторы в Notepad имеют фиксированную длину в восемь позиций, поэтому приложения посложнее "Hello, World" читаются с трудом.
  • Notepad не выполняет автоматического отступа на следующей строке после нажатия Enter. Поэтому придется вручную сдвигать текст на требуемое число позиций. Кажется, этих причин достаточно, чтобы отказаться от Notepad.

Visual Studio 6

В прошлом я разрабатывал приложения для Microsoft Windows на языке Microsoft Visual C++, так что выбор Microsoft Visual Studio 6 был для меня вполне естественен. Visual Studio — полноценный редактор, имеющий все средства для редактирования и сохранения С#-файлов.

Для программиста очень важно, если в редакторе имеется подсветка синтаксиса. Увы, Visual Studio старше С# на несколько лет, и чтобы приспособить подсветку синтаксиса для С#, в редакторе нужно кое-что "подкрутить". Сначала требуется внести изменения в реестр Windows. С помощью редактора реестра, скажем, Regedit.exe, найдите в нем параметр HKEY_CURRENT_USER\Software\Microsoft\DevStudio.0\Text Editor\Tabs/Language Settings\C/C++\FileExtensions. В нем вы увидите строку:

cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2

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

cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2;cs

Теперь при открытии файла с расширением .cs Visual Studio будет поддерживать этот тип файла.

Затем нужно сообщить Visual Studio, какие слова являются ключевыми в С#. Для этого создайте и поместите в одну папку с файлом msdev.exe текстовый ASCII-файл usertype.dat. В нем нужно перечислить ключевые слова, которые будут подсвечиваться, — по слову в каждой строке файла. Visual Studio прочитает этот файл при запуске — чтобы увидеть, как отразились на редакторе внесенные вами изменения, закройте Visual

Studio, если он был открыт, и запустите его заново. Файл usertype.dat с перечислением всех ключевых слов С# см. на прилагаемом к книге компакт-диске. Вот как будет выглядеть ваш С#-код после описанных действий (рис. 3-1):

Visual Studio.NET

Спору нет, только Visual Studio.NET может обеспечить полноценную работу в среде .NET. Помимо интегрированных в среду разработки инструментов и мастеров для создания С#-приложений, вы найдете там средства, повышающие производительность, вроде IntelliSense и Dynamic Help. IntelliSense автоматически отображает при вводе состав класса или пространства имен, избавляя вас от необходимости держать в памяти все члены каждого класса. IntelliSense показывает также все аргументы и их типы, когда сразу после имени метода вы вводите открывающую скобку. В Visual Studio 6 такое средство тоже есть, но в нем не поддерживаются типы и классы С#. Dynamic Help — новинка для Visual Studio. При наборе в редакторе своего кода вы увидите в отдельном окошке информацию о слове, вводимом в данный момент. Если, например, это ключевое слово namespace, в окне видны гиперссылки на разделы справочной системы, относящиеся к ключевому слову namespace.

Прочие редакторы

Не будем забывать, что есть и другие популярные редакторы, такие как CodeWright фирмы Starbase или Visual SlickEdit от MicroEdge. He вдаваясь в подробности, отмечу лишь, что для написания С#-приложения вы можете использовать любой из них.