UEStudio: новый UltraEdit. Ну просто ультра!
Когда-то я уже рассказывал вам на страницах "Компьютерных вестей" о различных текстовых редакторах, которые могут пригодиться администраторам, программистам и просто продвинутым пользователям. Напомню, что там рассматривались только бесплатные "блокноты", однако на самом деле коммерческим представителям этого класса программ тоже есть что показать пользователю. Поэтому сейчас я хотел бы рассказать об одном очень известном и качественном текстовом редакторе под названием UltraEdit, или, если точнее, UEStudio '06.
Найти дистрибутив программы можно на её официальном сайте, то есть по адресу www.ultraedit.com. Объём загрузки будет составлять около пятнадцати с половиной мегабайт. Главное, не спутать UEStudio с другими продуктами, представленными на сайте.
Главное отличие UEStudio от большинства блокнотов - возможность работы не с отдельными файлами, а с целыми проектами. Эта возможность больше всего пригодится именно программистам. Фактически, UEStudio - это настоящая интегрированная среда разработки, и подтверждение тому мы с вами увидим дальше. Типов проектов в списке шаблонов много, и среди них есть довольно экзотичные вроде проектов для Open Watcom C++, Pacific C или Microsoft Quick C. При желании можно добавить свои шаблоны. В рамках проекта можно редактировать разные типы файлов - исходные коды программ, файлы ресурсов и т.д. Причём для C++ отдельно h-файлы, а отдельно cpp, как и должно быть. Есть возможность импортировать файлы формата Microsoft Visual Studio. Проекты можно собирать в группы, и есть даже встроенный менеджер проектов. Все эти инструменты, конечно, уступают аналогам из профессиональных сред разработки, но, в целом, могут быть весьма и весьма полезны.
Естественно, прямо из UEStudio можно всё это и компилировать, и отлаживать. Только надо указать внешние компилятор и отладчик. Учитывая тот факт, что "дружить" среда разработки умеет с большим количеством разных компиляторов, думаю, не найдётся такого программиста, который бы не смог свой любимый компилятор к ней пристроить. То же касается и отладчиков - если он присутствует, с его помощью можно выполнять все стандартные отладочные процедуры. В плане компиляции полезная возможность - пакетная сборка проектов и автоматизированная генерация make-файлов.
Что касается самого редактора кода... Он достаточно стандартен на общем фоне, за исключением небольших, но приятных особенностей. Есть подсветка синтаксиса и сворачивание (фолдинг) кода, закладки и прочие составляющие джентльменского набора приличного текстового редактора для разработчиков. А вот среди интересных особенностей - поддержка Unicode, поиск ближайших открывающей и закрывающей скобок (не круглых, а фигурных, то есть указывающих логику программы), подсчёт количества слов в тексте, выведение всех функций в проекте в виде одного большого списка. Удобные и мощные настройки визуальных параметров редактора, а также специальный режим редактирования текстовых колонок. То есть текст выделяется в виде произвольных прямоугольных областей, с которыми потом можно делать всё, что душе угодно - то есть копировать, вставлять, выравнивать по разному краю этого выделенного блока. В некоторых случаях этот режим редактирования гораздо удобнее, чем стандартный. Ко всему прочему, редактор поддерживает работу в режиме HEX-редактора, то есть, помимо текста, в нём можно редактировать и бинарные данные. А про текстовый режим добавлю, что есть специальная поддержка редактирования HTML-документов в виде кнопок быстрого добавления тегов... Хотя с HTML всё равно удобнее работать в визуальных редакторах.
UEStudio, как и любая нормальная среда разработки, содержит в себе проводник по коду - то есть по содержащимся в коде классам, переменным, функциям или, в случае HTML, по тегам. Также в среду встроен клиент для системы контроля версий (в качестве оной может выступать CVS или SVN). Для работы с обычными текстами, которые программистам тоже приходится иногда набирать, есть проверка орфографии (правда, только для английского языка).
Интересно реализована в UEStudio поддержка макросов. Она присутствует там как бы сразу в двух ипостасях. С одной стороны, это традиционные макросы, которые были давно в UltraEdit'е. С другой стороны, это макросы на JavaScript'е, которые по мощи своей приближаются к макросам из Microsoft Office. Традиционными макросами удобнее пользоваться тому, кто хочет записать в виде макроса простую последовательность действий, не прибегая к специальным скриптовым языкам. Зато макрос на JavaScript поможет решить нетривиальные задачи, которые нередко возникают в процессе разработки программного обеспечения.
Вот такой интересный редактор. Даже, пожалуй, полноценная среда разработки. Жаль только, что коммерческая, а не бесплатная. Правда, стоит UEStudio дешевле, чем большая часть коммерческих сред разработки, но при этом следует учесть, что никаких средств, кроме редактора программного кода, она не предоставляет.
DLL Export Viewer
Сейчас я расскажу ещё об одной интересной утилите, которая зачастую может быть нужна разработчикам программ для ОС Windows. Как известно, в этой операционной системе принято крупные проекты делить на отдельные исполняемые файлы, часть из которых представляет собой библиотеки, компонуемые к приложению динамически - DLL. Таких библиотек очень много, часть из них являются системными, часть - прикладными. Несовместимость разных версий библиотек и их обилие уже давно стали головной болью программистов и притчей во языцех. Поэтому утилиты, позволяющие разобраться в хаосе динамических библиотек, всегда имеют шанс кому-нибудь пригодиться.
Итак, программа называется DLL Export Viewer. Думаю, что из названия вполне ясно, что её основная задача - показ экспортируемых различными библиотеками функций. Скачать её можно по адресу www.nirsoft.net/utils/dll_export_viewer.html (размер - 41,3 Кб), там же можно найти русскоязычную локализацию.
При первом же запуске DLL Export Viewer предложит вам выбрать, какие именно функции показать: все функции всех загруженных на данный момент библиотек (это для любознательных), все функции определённой библиотеки или нескольких библиотек сразу (полезно в случае сравнения разных версий одной DLL'ки), или всех функций из библиотек, присоединённых к определённому процессу, запущенному на данный момент в системе (бывает нужно при отладке). В списке показывается название функции, если оно, конечно, вообще у неё есть, её адрес, а также полное имя библиотеки. Кроме показа функций, программа предоставляет ряд дополнительных возможностей. Например, поиск информации о функции в интернете при помощи Google. Что интересно, эта функциональность утилиты вовсе не лишена смысла: ткнув наугад в функцию, я тут же нашёл информацию о ней (правда, как оказалось, функция эта относилась к запущенному браузеру Mozilla, так что присутствие информации о ней на сайте разработчиков браузера отнюдь не удивительно). Помимо поиска в интернете, программа позволяет сохранить список функций в файл формата HTML.
В общем, такая вот нехитрая, но довольно полезная во многих случаях отладки программа.
Resource Hacker
Когда-то я уже вскользь упоминал этот инструмент для работы с ресурсами исполняемых файлов Windows (как видите, сегодня мы говорим про эту платформу). Но сейчас я хочу остановиться на Resource Hacker'е немного подробнее.
Найти эту замечательную утилиту можно в интернете по адресу www.angusj.com/resourcehacker. Пусть вас не смущает, что последняя версия выпущена уже достаточно давно - с тех пор исполняемые файлы для Windows ничуть не поменялись в своей структуре, и их ресурсы, в общем-то, тоже.
Что умеет делать Resource Hacker? Много чего. Он умеет просматривать ресурсы, редактировать их, удалять, извлекать из EXE или DLL, или, наоборот, внедрять их туда. Понадобиться это может в случаях, когда нужно поменять один ресурс вместо того, чтобы пересобирать целиком весь исполняемый файл. Также Resource Hacker очень полезен в тех случаях, когда нужно сделать локализацию программы (хотя локализацию лучше всё же реализовывать с помощью внешних текстовых файлов).
Редактировать можно любые текстовые ресурсы - для этого в программу встроены текстовый редактор и компилятор Resource Script'а, на котором пишется основная часть ресурсов в текстовом виде. Однако некоторые ресурсы - например, диалоги - таким манером редактировать не слишком удобно. Поэтому в Resource Hacker'е присутствует и встроенный визуальный редактор диалогов - качественный и удобный, ничуть не хуже того, который присутствует в Microsoft Visual Studio. Любой ресурс (как текстовый, так и двоичный - картинку, иконку, курсор или какой-либо нестандартного типа) можно сохранить во внешний файл или заменить ресурсом из какого-либо внешнего файла. Также загруженный снаружи ресурс можно просто добавить, не заменяя уже присутствующих. Бинарные ресурсы можно просматривать и редактировать в шестнадцатеричном (HEX) режиме. Естественно, все ресурсы можно переименовывать и удалять... Впрочем, кажется, я об этом уже упоминал.
Конечно, Resource Hacker не имеет многих вещей, присутствующих в коммерческих редакторах ресурсов - например, встроенного графического редактора. Но, как правило, эти редакторы всё равно значительно хуже специализированных графических редакторов для битмаповых картинок или иконок с курсорами, так что, на самом деле бесплатный Resource Hacker ничуть не хуже коммерческих редакторов ресурсов. Даже, пожалуй, лучше многих за счёт своей простоты и надёжности. Так что, как говорится, не проходите мимо!
Вот с такими утилитами, полезными для разработчиков софта, я хотел вас познакомить. Если на примете есть свои полезные программы - пишите, не стесняйтесь, на форуме газеты или по адресу [email protected].
Вадим СТАНКЕВИЧ
Горячие темы