Описание Total Commander Edit Redirector

# Total Commander Edit Redirector

Версия 1.4.2.0

Утилита для Total Commander, позволяющая открывать файлы на редактирование в разных редакторах, в зависимости от расширений.

Автор: |  | Власов Константин, 2022 г.
Домашняя страница: |  | http://flint-inc.ru/
E-mail: |  | support@flint_inc.ru

Распространяется по лицензии Artistic License 2.0.

Системные требования:

- 32-битная версия:
  Процессор с поддержкой SSE2 (Intel Pentium 4, AMD Athlon 64 и выше)
  Windows 2000 и выше
  Total Commander 7.50–10.00
- 32-битная версия без SSE:
  Windows 2000 и выше
  Total Commander 7.50–10.00
- 64-битная версия:
  Процессор с поддержкой 64-битных команд (Intel Pentium 4, AMD Athlon 64 и выше)
  Windows XP x64 и выше
  Total Commander 7.50–10.00

## Описание

Использование редактора файлов в Total Commander реализовано с ограничениями, а именно:

- невозможно назначить разным типам файлов разные редакторы;
- невозможно отправить в редактор сразу несколько файлов.

Есть различные пути решения этих проблем, но все они обладают теми или иными недостатками. TCER — попытка найти очередное компромиссное решение.

Программа вызывается по нажатию `F4` и автоматически перенаправляет открытие файлов в соответствующий редактор. Если выделено несколько файлов, они все будут открыты, в противном случае открывается файл под курсором. См. также раздел Ограничения программы.

## Установка

Для установки программы скопируйте её в любой каталог. Файл конфигурации `tcer.ini` (описание см. ниже) должен располагаться либо рядом с исполняемым файлом программы, либо (если этот каталог недоступен для записи) в каталог, где находится основной файл конфигурации TC (`wincmd.ini`).

После этого откройте диалог настройки TC на странице "Правка/Просмотр" и укажите полный путь к файлу `tcer.exe` в поле "Программа-редактор". Настройка самой программы осуществляется ручной правкой INI-файла. Рекомендуется использовать версию TCER той же битности, что и Total Commander (т.е. 32-битную с 32-битным TC и 64-битную с 64-битным). Если эта рекомендация не соблюдена, то редактирование файлов, находящихся по перенаправляемым путям (таким как каталог `system32`) может открыть в редакторе не тот файл, который отображается в окне TC.

## Файл конфигурации

[Configuration] |  | Секция общих настроек программы.
MaxItems=256 |  | При превышении указанного здесь количества выделенных файлов будет выведен дополнительный запрос-подтверждение. Значение 0 отключает запрос.
MaxShiftF4MSeconds=2000 |  | Чтобы отличить `F4` от `Shift+F4`, TCER проверяет дату/время. Если файл, переданный программе-редактору, был только что создан, считается, что это `Shift+F4`, и в редактор отправляется только этот файл. Данный ключ задаёт максимальную погрешность: длительность времени (в миллисекундах), по истечении которого файл перестаёт считаться только что созданным.
ClearSelection=1 |  | Если значение 1, выделение в файловой панели TC будет автоматически снято после запуска редактора.
[Extensions] |  | Секция привязки расширений к программам.
ext1,ext2,...=Editor1 |  | `ext1`, `ext2` — список файловых расширений (`<nil>` — отсутствующее); программа-редактор определяется в секции `[Program_Editor1]`.
[DefaultProgram] |  | Параметры редактора, вызывающегося по умолчанию (см. описание секции `[Program_Editor1]`).
[Program_Editor1] |  | Параметры программы `Editor1`.
FullPath=%ProgramFiles%\MyEditor\MyEditor.exe
|  | Полный путь к исполняемому файлу редактора. Можно использовать переменные окружения. (Учтите, что значения переменных могут различаться для 32- и 64-битной версий программы.)
CommandLineArgs= |  | Дополнительные аргументы командной строки, передаваемые редактору.
MDI=1 |  | 1, если редактор многодокументный; 0, если однодокументный.

## Ограничения программы

1. В режиме эскизов открывается только файл под курсором (ограничение TC).
2. Каталоги `%TEMP%\_tc` и `%TEMP%\_tc_` считаются служебными, в них открывается только файл под курсором (временное решение, возможна доработка в будущем).
3. Не поддерживаются виртуальные папки (возможна доработка в будущем).
4. В архивах, FS-плагинах, при FTP/LPT/USB-подключениях будет открыт только файл под курсором (ограничение TC).
5. Если выбранные файлы привязаны к разным редакторам, они все откроются в одном редакторе — в том, который соответствует файлу под курсором или, если этот файл не выделен, первому из выделенных (возможна доработка в будущем).

## ЧаВо (ЧАсто задаваемые ВОпросы)

В: |  | Зачем ещё один мультиредактор? Есть же ChoiceEditor, OFSTC, F4Menu.
О: |  | Мне захотелось написать такую программу для себя, чтобы я мог не зависеть от авторов этих программ, чтобы мог сам исправлять ошибки и дорабатывать утилиту под свои нужды. По функциональности TCER никогда не превзойдёт упомянутые альтернативы, такой цели не ставилось. Основной упор делается на минимальный необходимый функционал, максимальную компактность и скорость работы. Если кому-то программа будет полезной — хорошо, нет — можно выбрать любую другую. В конце концов, много — не мало.
В: |  | Не хочу копаться в INI-файле! Почему нет удобного конфигуратора?
О: |  | В целях минималистичности. Не исключено, что конфигуратор будет написан и включён в пакет в виде отдельной утилиты, но эта задача для меня низкоприоритетна. Даже если конфигуратор будет разработан, интеграции его с TCER не планируется (опять же, по соображениям минималистичности).
В: |  | А как назначить несколько программ на одно расширение с возможностью выбора?
О: |  | Никак. Эта функция не поддерживается и не планируется.

## История версий

### Версия 1.4.2.0 (10.01.2022):

1. Исправлено: Вызов редактирования из диалога синхронизации не поддерживался.

### Версия 1.4.1.0 (25.01.2018):

1. Исправлено: Вызов по `F4` из диалога поиска работал только с внешним диалогом.

### Версия 1.4.0.0 (9.12.2016):

1. Добавлена возможность задавать для приложения сразу несколько расширений в одной строке.
2. Добавлена поддержка запуска по `F4` из диалога поиска файлов.
3. Реализована поддержка всех значений ключа `GetTextMode` в `wincmd.ini`.
4. Исправлена ошибка, из-за которой пути к файлам в корне диска выглядели как `c:\\file.ext` (некоторые программы не умеют с ними работать).

### Версия 1.3.0.0 (8.10.2011):

1. Добавлена поддержка 64-битных версий TC.
2. Защита от проблемы безопасности (загрузка DLL по некорректному пути).
3. Исправлено: Некорректно определялся созданный по `Shift+F4` файл на разделах FAT/exFAT.

### Версия 1.2.0.0 (30.01.2011):

1. Исправлено: В некоторых случаях диалоги сообщений не выводились.
2. Исправлено: Падение при открытии более 32 файлов.
3. Исправлено: Потенциальное подвисание программы после завершения работы.

### Версия 1.1.0.0 (2.11.2010):

1. Добавлена отдельная версия без SSE-оптимизаций (для старых процессоров).
2. Значительно уменьшен размер EXE-файла.
3. Исправлено: Подробный режим поддерживался только когда размеры файлов указывались в байтах.
4. Исправлено: При открытии упакованного файла в многодокументном редакторе TCER больше не дожидается завершения процесса (причина: в редакторе можно открыть другой файл, а потом закрыть первый, и такое закрытие не будет обнаружено в TC).
5. Исправлено: Программа запускалась только на системах WinXP SP2 и выше.
6. Исправлены мелкие опечатки.

### Версия 1.0.0.0 (16.10.2010):

1. Первая публичная версия.