Текстовые редакторы для программистов — средства программирования

Что такое текстовый редактор?

Текстовый редактор используется для редактирования текстовых файлов. Текстовые редакторы отличаются от текстовых процессоров, таких как Microsoft Word или WordPerfect, тем, что они не добавляют в документы дополнительную информацию о  форматировании. Вы могли бы написать статью в Word, так как он содержит инструменты для изменения шрифтов, полей и макета, но он по умолчанию вставляет информацию о форматировании и разметке непосредственно в файл, что будет путать компилятор. Если открыть файл формата .doc в текстовом редакторе, вы увидите, что большая часть файла — это коды форматирования. Текстовые редакторы, однако, не добавляют коды форматирования, что помогает легче скомпилировать код.

Почему я должен использовать текстовый редактор?

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

Подсветка синтаксиса

Подсветка синтаксиса является очень полезной функцией. Она заключается в том, что редактор будет выделять определенные слова, или типы, или синтаксис, характерные для языка. Например, если у вас включена подсветка C++, редактор может сделать все ключевые слова C++ зелеными. Так гораздо легче следовать потоку вашей программы. Вот другой пример: редактор может отображать весь текст в кавычках светло-голубым. Таким образом, если вы забыли поставить открывающие или закрывающие кавычки, вы быстро это поймете из-за цвета текста на экране. Текстовый редактор также может указать на неправильное употребление  квадратной или круглой скобки, выделяя их красным цветом; если у вас есть закрывающая скобка, но нет открывающей, цвет подскажет вам, что вы сделали где-то синтаксическую ошибку.

 Гибкость

Откуда редактор знает какие слова выделять? Хороший вопрос. Редактор знает, на каком языке вы программируете. Либо вы можете сами указать язык, либо он может, как Vim, определить это по расширению файла. Если вы работаете с файлом с именем code.cc, он увидит .cc и будет знать,что надо использовать правила C++, но если вы работаете с одним из code.html, он будет применять правила HTML. Некоторые редакторы знают сотни языков, начиная от банальных (C, Java, Perl) до по-настоящему сложных (TADS, ABAQUS). Это означает, что вы можете использовать один и тот же редактор для программирования практически в любом языке и по-прежнему пользоваться теми же функциями и набором команд, к которым вы привыкли.

 Автоматические отступы

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

// поиск минимального элемента в матрице
const int search_min(int **const array, const int kol_tasks,const int type_model)
{
 int min;
 for (int i = 0; i < kol_tasks; i++)
 {
  for (int j = 0; j < type_model; j++)
  {
   if ( array[i][j] != -1 )
   {
	min = array[i][j];
	i = kol_tasks;
	j = type_model;
   }
  }
 }
 for (int i = 0; i < kol_tasks; i++)
 {
  for (int j = 0; j < type_model; j++)
  {
   if ( array[i][j] < min && array[i][j] != -1 )
   {
	min = array[i][j];
   }
  }
 }
 return min;
}

или кодом, который выглядит следующим образом?:

// поиск минимального элемента в матрице
const int search_min(int **const array, const int kol_tasks,const int type_model)
{
int min;
for (int i = 0; i < kol_tasks; i++)
{
for (int j = 0; j < type_model; j++)
{
if ( array[i][j] != -1 )
{
min = array[i][j];
i = kol_tasks;
j = type_model;
}
}
}
for (int i = 0; i < kol_tasks; i++)
{
for (int j = 0; j < type_model; j++)
{
if ( array[i][j] < min && array[i][j] != -1 )
{
min = array[i][j];
}
}
}
return min;
}

Я так и думал. Текстовый редактор избавит вас от необходимости ставить все табы самостоятельно,  он добавит их автоматически. Это позволяет вам следить за потоком управления через отступы, так что вы можете убедиться, что вы находитесь в нужном блоке кода.

Быстрые функции навигации

Если ваша программа не тривиальна, вы захотите иметь возможность быстро находить в ней определенные функции, экземпляры определенных переменных или отдельные строки. Текстовые редакторы обычно имеют больше возможностей, чем текстовые процессоры. Например, скажем, при компиляции программы вы обнаружили, что у вас есть синтаксические ошибки в строке 312. В Vim все что вам нужно сделать, это набрать 312G, и курсор переместится на строку 312. (Откуда Vim знает, что вы не хотите ввести символы 312G в документе? Подробнее об этом по ссылке в конце статьи).

Какой текстовый редактор я должен использовать? В чем разница между ними? Как я могу его получить? Сколько они стоят?

Есть много-много разных редакторов, среди которых Vim и Emacs являются самыми популярными, мощными и есть на разных ОС. Другой популярный редактор Notepad++ — это значительно улучшенная версия Notepad. Большинство редакторов (Vim и Emacs входит в комплект) бесплатны, но некоторые из них shareware. Я использую Vim, но у каждого редактора есть свои поклонники. Для составления списка некоторых из лучших редакторов, доступных для вашей платформы, просмотрите FAQ о текстовых редакторах. (Он нацелен на среднестатистических пользователей, но все перечисленные редакторы очень хороши для написания C++ кода.)

Автор: Marienko L.
Дата: 01.10.2012
Поделиться:

Комментарии

  1. RareScrap

    RareScrap

    Есть еще один отличный кросс-платформенный текстовый редактор + IDE — Geany

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.