EmEditor ― профессиональная версия мощного текстового редактора для программистов, веб-разработчиков и простых пользователей с подсветкой синтаксиса и поддержкой юникода. Редактор обладает такими функциональными возможностями, как поиск и замена в файлах с использованием регулярных выражений, автоопределением кодировок, подсветкой ссылок и адресов электронной почты, блочным режимом выделения, настройкой панели кнопок, меню, шрифта и цвета элементов. Для каждого языка можно создавать отдельную конфигурацию. Программа поддерживает мощные макросы написанные на javascript или VBScript, позволяющие создавать практически любые действия, используемые часто или периодически. Выбираем EmEditor portable x64 ver 22.3.0 https://emeditor.blob.core.windows.net/emed64_22.3.0_portable.zip а KeyGen ищите сами Выбираем русский языкЗапускаем редактор EmEditor. «Tools → Customize... → Select Language→Русский (Россия)→OK» и перезапустите EmEditor. Устанавливаем темуВыберите «Сервис → Свойства для текущей конфигурации» Перейти на вкладку «Оформление». Напротив строки «Тема:» с раскрывающимся списком, нажать кнопку со стрелочкой В раскрывшемся контекстном меню выберите «Импорт...» и укажите на файл тем с расширением «.eetheme». На вопрос «Удалить старые темы?» соглашайтесь «Да», чтобы уже имеющиеся по дефолту темы не повторялись. Выберите из списка тем новую понравившуюся тему (файл thems.zip). Рекомендую «Midnight Cream». Так же, для подсветки синтаксиса особых типов файлов, например С++, 1C, Perl, PHP, HTML5, ActionScript и других (более сотни наименований), вы можете скачать и установить отдельные библиотеки с официального сайта: https://www.emeditor.com/library/#toggle-id-6 Установка файлов синтаксиса Скачайте и распакуйте необходимый файл синтаксиса (с расширением *.esy) (для masm Win32Asm.esy) Откройте в EmEditor ваш программный файл и идите в «Сервис → Выбрать конфигурацию → Определить конфигурации...» (в самом конце списка) Выделите asm-файл, к которому вы хотите применить синтаксис. Нажмите там же справа кнопку «Свойства». В заголовке открывшегося окна настроек будет отображаться «Свойства: вашего типа файла». Перейдите на вкладку "Подсветка (1)» и нажмите кнопку "Импорт...». Укажите на файл синтаксиса Win32Asm.esy Подсветка для asm-файлов будет подсвечивать исходный код определённым образом. Там же вы можете скачать и установить множество дополнительных Макросов (76 шт), Плагинов (86+31 шт), Сниппетсов (2 шт) и Шаблонов (4 шт). Подключаю компилятор, линкер, редактор ресурсов, hiew32, x64dbgEmEditor можно настроить для запуска внешних приложений с помощью кнопок на панели инструментов или сочетаний клавиш. Внешние инструменты отображаются на инструментальной панели «Средства». Чтобы настроить внешние приложения, щелкните правой кнопкой мыши по пункту «Средства» и выберите «Настройка средств» (или нажмите «Сервис → Внешние средства → Настройка средств... → Создать») Для внешней программы заполняем пункты «Название», «Команда», «Аргументы», «Исходная папка», «Путь к источнику иконки» $(Path)Путь к файлу$(Dir)Папка файла$(Filename)Имя файла без расширения$(FilenameEx)Имя файла с расширением$(Ext)Расширение файла A way to uninstall EmEditor (64-bit) from your system Продолжение следует...
Платная версия от бесплатной помимо малозначительной мелочевки отличается поддержкой скриптов и плагинов. Для версии 22.2.12, которую можно найти в https://support.emeditor.com/en/downloads, у меня вот такие письмена в текстовике на жестком диске записаны: Спойлер Код (Text): emeditor.exe:$1694FA0 #16943A0 B8 01 00 00 00 C3 emeditor.exe:$15E3400 #15E2800 B8 01 00 00 00 C3 emeditor.exe:$96A92E #969D2E E9 AB 00 00 00 emeditor.exe:$15E1C50 #15E1050 B8 01 00 00 00 C3 После этого можно нажать "Справка" - "Перейти на профессиональную версию". В оснастке макросы-настройка макросов можно регистрировать скрипты, в "Сервис" - "Свойства для текущей конфигурации" - "Клавиатура" можно в левом комбобоксе выбрать "Мои макросы", в правом выбрать скрипт и забиндить клавишу. В аттаче есть несколько файлов: EmEditorFASM.eetheme - честно говоря не помню что с ним делать. EmEditorFASM.esy - "Сервис" - "Свойства для текущей конфигурации" - "Подсветка(1)" - "Импорт", подсветка синтаксиса, которой я пользуюсь. fasm_assign.vbs - аналог "assign to compiler" в FASMW.EXE, запоминает файл, на который другие два скрипта будут применять фасм. Повторный запуск отменяет привязку. fasm_compile.vbs - временно регистрирует в переменные окружения include фасма и применяет его на текущий или выбранный файл. Вместо "<fasm_path>" надо вписать угадайте что. fasm_compile_run.vbs - аналогичен предыдущему, но также запускает файл после компиляции. Тоже содержит "<fasm_path>". x86_assembler_dictionary.txt - "Модули" - "Настройка подключаемых модулей" - "WordComplete" - "Properties" - "x86 assembler" - "Свойства" - "Использовать слова из словаря". Словарь из 14939 апей винды, нагло cпарсен с apimonitor. ЗЫ: в свое время отмел кучу текстовых редакторов за неспособность работать с файлами в несколько гигабайт. Японская вундервафля обрабатывает их с легкостью. А комбинируя замены (на что-нибудь с точказапятыми), переключаясь в табличный режим и обратно, удаляя и вставляя столбцы, расставляя закладки на строки через меню поиска, инвертируя закладки, удаляя и извлекая строки с закладками японским чудо-блокнотом можно без всяких парсеров любое что угодно переработать в другое что угодно. Сейчас не представляю как вообще без этого редактора можно обходиться, инструмент не менее важный, чем дизассемблер или нех-редактор.
Не знаю что такое фолдинг, но если это возможность использовать разные конфигурации, то новую конфигурацию надо создать в "Сервис" - "Выбрать конфигурацию" - "Определение конфигураций" - "Создать". А потом выбирать гадкого утёнка, не привязанного к расширению ".asm" в статусной строке внизу.
Фолдинг ― «сворачивание», это когда от функции или структуры на экране остается одно название и «плюсик», щелчок по которому разворачивает функцию/структуру/фрагмент программы в первоначальное положение
f13nd, подскажите, я не могу найти настройку "Структуризации", чтобы сделать proc+endp, struct+ends и т.д. И как подключить список WinAPI-функций?
Че-то типа такого: Про словарь винапей я выше писал. Может забыл что "Модули" - "Завершение слов" надо галку поставить, чтобы плагин включить.
f13nd, вы уж извините, но в fasm proc и endp идут перед названием функции, а в masm сперва название, а proc и endp идут потом, на картинке видно только proc, а куда поставить endp не понятно...
Еще один аргумент против масма. Здесь как я понял endp некуда сунуть, оно разбивает код на блоки по начальным ключевым словам, можно рулить только приоритетами этих слов двигая вверх и вниз. Либо не сношать мозг и оттакливаеться от форматирования текста (табуляциями), а не ключевых слов.
Я понял как делать «сворачивание» (фолдинг) процедур, структур и т.д. «Сервис → Свойства для текущей конфигурации → Свойства → Тип: → Особый (укажите начало как уровень 1, конец как уровень 2)» \S*\s+(proc)|(struc)(\s|\S)* _\S*\s+(endp)|(ends)(\s|\S)* Чтобы показать, что proc и struc относятся к первому уровню ― название процедуры или структуры должно идти с самого начала строки, а показателем второго уровня ― это то, что для endp и ends начинается с пробела перед названием процедуры или структуры.
Вот такого кренделя еще не хватает: чтобы подстрока заканчивалась пробелом или концом строки и какое-нибудь 'call procedure1' не интерпретировалось как объявление процедуры.