ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2025

Просмотров: 3279

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

На прилагаемом компакт-диске находится демонстрационная программа Pri - orityQueueTextPad, показывающая, как настроить файлы в "проекте" для TextPad. Этот пример основан на программе PriorityQueue, которая рас­ сматривается в главе 15, "Обобщенное программирование".

Рис. 22.3. Редактор TextPad выглядит обманчиво просто

Поскольку редактор TextPad настолько универсален, его следует описать более под­ робно, отчасти как способ представить вам некоторые возможности платформы .NET, которые я не мог бы объяснить в другом месте. Это такие возможности, которые слож­ ные среды разработки наподобие Visual Studio и SharpDevelop имеют тенденцию скры­ вать, но о них стоит знать. Без этого невозможно стать профессионально подготовлен­ ным программистом.

Хотя редактор TextPad на рис. 22.3 выглядит довольно просто, его можно настроить для выполнения удивительного разнообразия полезных задач программирования. Далее приведен список только некоторых возможностей, которые вы обнаружите, познако­ мившись с программой поближе.

Работает со многими языками программирования: TextPad специально разра­ ботан как редактор исходных текстов программ и отлично работает почти с лю­ бым языком программирования; по крайней мере, он имеет встроенную поддерж­ ку для очень многих из них, включая С# и Visual Basic.

Имеет возможность сворачивания документов: в редакторе TextPad вы можете легко работать с множеством исходных файлов программ, как и в его более мощ­ ных собратьях.

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

Глава 22. С# по дешевке

535


рокоманд и многое другое. Блокнот на фоне TextPad— черепаха по сравнению с гепардом.

Обеспечивает хорошие встроенные средства управления файлами: они вклю­ чают в себя инструментарий для сравнения двух файлов, полезный в ряде ситуа­ ций отладки, и команду, которая открывает Windows Explorer в каталоге, содер­ жащем текущий файл.

Но самые главные возможности программы включают следующие действительно по­ лезные функции.

Вы можете настраивать классы документов. Например, можно настроить тип до­ кумента . CS языка С#, включая цвета синтаксиса, шрифт, опции печати и обра­ ботку табуляции для отступов. Каждый класс документа обрабатывается в редак­ торе по-своему. Это похоже на сервис, предоставляемый Visual Studio.

Как и SharpDevelop, редактор TextPad позволяет настраивать ваши собственные команды инструментов в меню Tools. Это предоставляет возможность установить команды для запуска компиляторов, отладчиков и других полезных инструментов непосредственно из редактора. Вы можете также установить команду для запуска своих скомпилированных программ.

Опции настройки инструментов

Prompt for Parameters (запрос параметров). Вашей программе необходимо по­ лучать параметры из командной строки? Это так, если вы планируете, что ваше консольное приложение будет запускаться из командной строки, и вы действи­ тельно используете параметр a r g s функции Main ( ) . Обычно лучше пропустить настройку этой опции.

Run Minimized (выполнять минимизированным). Выбирайте эту опцию, если ваша программа абсолютно никак не взаимодействует (в смысле ввода-вывода) с пользователем. У меня еще не было необходимости использовать эту функцию.

Save АН Documents First (сначала сохранять все документы). При выборе дан­ ной опции происходит сохранение любых документов, открытых вами в редакторе TextPad, перед запуском команды. Я всегда устанавливаю эту опцию.

Capture Output (перехват вывода). Выбор данной опции зависит от того, может ли выполнение команды приводить к сообщениям об ошибках и знаете ли вы пра­ вильный синтаксис "регулярных выражений" для перехвата ошибок. Далее будет описан этот правильный синтаксис.

Одна возможная причина для выбора этой опции возникает, когда, а) вы настраи­ ваете инструмент для фактического запуска своей успешно скомпилированной программы, и б) вы не предполагаете, что пользователь введет что-либо в команд­ ной строке во время выполнения программы. Если программа не является диало­ говой, вы можете при желании использовать эту опцию, чтобы направить поток вывода программы в окно Command Results редактора TextPad вместо окна ко­ мандной строки. Для команды Run следует предпочесть окно командной строки, так что можно не использовать опцию Capture Output.

536

Часть VII. Дополнительные главы


Но совсем другое дело команда Build, которая может (извините, будет!) возвра­ щать сообщения об ошибках. При знании синтаксиса волшебных регулярных вы­ ражений для языка С# вы можете выбрать опцию Capture Output для этих команд, но не для других.

Suppress Output Until Completed (запрет вывода до завершения). Данная опция запрещает вывод, пока программа не закончится. Я обычно оставляю эту опцию неотмеченной.

Sound Alert When Completed (подача звукового предупреждения при заверше­ нии). Если ваша программа долго выполняется (например, долго компилируется), и вы хотели бы в это время выполнять другую работу, эта опция предупредит вас звуковым сигналом о завершении программы.

Чего недостает редактору TextPad, так это удобных инструментов наподобие Solution Explorer, Class View, проектировщика форм и т. д. Вы можете предпочесть SharpDe­ velop, но даже в этом случае редактор TextPad удобен для быстрого редактирования про­ граммы или для универсальной замены Блокнота.

Как известно, существует множество других прекрасных редакторов программ, включая Vi, Fte, Emacs и Brief, большинство из которых предлагают даже больше возможностей (часто за деньги). Некоторые программисты даже кля­ нутся своим любимым редактором.

Из следующих разделов вы узнаете, как настроить редактор TextPad для компилиро­ вания, выполнения и отладки своих программ С#. Действия довольно сложные, но вы попутно получите большое количество интересной дополнительной информации.

Необходимо настроить две вещи в редакторе TextPad, прежде чем он сможет рабо­ тать с С#: класс документов . CS для языка С# и несколько связанных с С# команд в ме­

ню Tools.

Создание класса документов .CS для языка С#

Для создания нового класса документов языка С# в редакторе TextPad выполните следующие действия (которые не проиллюстрированы рисунком).

1.Выберите команду меню Configure^New Document Class.

2.В мастере Document Class Wizard введите C#, чтобы дать название классу,

изатем щелкните на кнопке Next.

3.Введите * . cs в качестве "члена класса". Щелкните на кнопке Next.

4.Установите флажок Enable Syntax Highlighting и затем из списка файлов

подцветки синтаксиса выберите c s h a r p . s y n . Щелкните на кнопке Next,

а затем — на кнопке Finish.

5.Выберите команду меню Configure^Preferences. В иерархическом списке слева выберите пункт Document Classes^Ctt. Справа отметьте желаемые опции для обработки файлов С#, как показано на рис. 22.4.

Я выбрал опции Maintain Indentation, Automatically Indent Blocks, Strip Trailing Spaces from Lines When Saving и Check Spelling of Comments. Все остальные

опции я оставил такими, какими они были по умолчанию.

Глава 22.

С# по дешевке

537


6.В иерархическом списке слева выберите подпункт Tabulation в пункте С#. Введите количество пробелов табуляции и число пробелов для отступа. За­ тем щелкните на кнопке Apply.

Я выбрал размер табуляции и отступа, равный двум для сохранения пространства при печати примеров программ в книге, но вы можете выбрать более удобные размеры. Я также выбрал опции Convert New Tabs to Spaces и Convert Existing Tabs to

Spaces When Saving Files. Некоторые программисты предпочитают табуляцию.

Рис. 22.4. Здесь в редакторе TextPad настраивается класс документов С#

7.Щелкните также слева на пункте Font и установите предпочитаемый шрифт для программы. Затем щелкните на кнопке Apply.

Я выбрал шрифт Lucida Console, обычный, размер 9 пунктов для экрана и принтера.

8.Находясь в диалоговом окне Preferences, просмотрите прочие настройки предпочтений и при желании измените что-либо.

Имейте в виду, что установки для индивидуальных классов документов отменяют общие настройки.

9.При выполнении восьмого шага установите еще одну опцию, которая при­

годится позже. В левой панели окна Preferences щелкните на пункте Editor (прямо под пунктами General и File). Справа отметьте последнее поле оп­

ции Use POSIX Regular Expression Syntax.

10.Наконец, когда вы закончите, щелкните на кнопке Apply и затем — на кнопке ОК.

Добавление собственных инструментов: Build С# Debug

Настройка команд меню Tools для компиляции, отладки и запуска программ С# включает в себя добавление в меню инструмента для каждого действия, изменение тек­ ста, который появляется в меню Tools, и дальнейшую настройку инструмента.

В качестве примера выполните следующие действия, чтобы добавить инструмент Build С# Debug для компиляции версии вашей программы, которая может выполняться в отладчике.

538

Часть VII. Дополнительные главы


1.Выберите команду меню Configured Preferences. В левой части диалогово­ го окна Preferences щелкните на пункте Tools.

2.В правой части выберите команду AdddProgram. В диалоговом окне Se­ lect a File перейдите к папке, в которой находится исполняемый файл (. ЕХЕ) инструмента.

Чтобы найти инструменты, рассматриваемые в этой главе, обратитесь к разделу "Получение бесплатных компонентов". Обратите внимание, что отладчик CLR находится в ином месте, чем большинство из них. Он описан в разделе "Запуск отладчика из SharpDevelop" этой главы.

3.Выберите требуемый инструмент — в данном случае Csc. ехе.

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

Между группами инструментов в меню можно разместить тонкую сплошную разделительную линию. Начните с нее при создании нового инструмента. Вы­ берите команду AddoMenu Separator (вместо Program). Для перемещения разделителя (или любого инструмента) используйте волнистые стрелки вверху списка инструментов.

4.Для изменения названия инструмента щелкните на нем дважды в списке справа — но немного медленнее, чем при двойном щелчке. Затем введите

текст, который появится в меню Tools для этой команды. По завершении ввода нажмите <Enter> и затем щелкните на кнопке Apply.

Для своей первой команды компилирования я ввел текст Build С# Debug.

5.Щелкните на новом инструменте, который вы добавили, в пункте Tools диалогового окна Preferences, чтобы появились дополнительные опции, как показано на рис. 22.5.

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

поле Command уже должно содержать путь к исполняемому файлу инструмента, в поле Parameters, возможно, содержится текст $ F i l e , а в поле Initial Folder — $ F i l e D i r . Для большинства команд это совершенно верно, но вы измените эти значения для нескольких первых инструментов, которые настраиваете.

6. В поле ввода Parameters введите следующее:

/ d e b u g / o u t : $ F i l e D i r \ b i n \ d e b u g \ P r o g r a m . е х е © r e f s . r s p * . c s

7. Установите флажки Save All Documents First и Capture Output. Затем

щелкните на кнопке Apply.

Оставьте другие флажки неотмеченными.

8. Выберите поле Regular Expression to Match Output и аккуратно введите

следующую строку, затем щелкните на кнопке Apply:

Л( [*.']+.св)\( ( [0-9]+) , ( [0-9]+)\)

Ниже будет кое-что пояснено из этого марсианского стихотворения.

Глава 22. С# по дешевке

539