EmEditor в качестве IDE для masm64

Тема в разделе "IDE. Интегрированные среды разработки", создана пользователем Mikl___, 1 май 2023.

  1. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    EmEditor ― профессиональная версия мощного текстового редактора для программистов, веб-разработчиков и простых пользователей с подсветкой синтаксиса и поддержкой юникода. Редактор обладает такими функциональными возможностями, как поиск и замена в файлах с использованием регулярных выражений, автоопределением кодировок, подсветкой ссылок и адресов электронной почты, блочным режимом выделения, настройкой панели кнопок, меню, шрифта и цвета элементов.
    Для каждого языка можно создавать отдельную конфигурацию. Программа поддерживает мощные макросы написанные на javascript или VBScript, позволяющие создавать практически любые действия, используемые часто или периодически.
    Выбираем EmEditor portable x64 ver 22.3.0 https://emeditor.blob.core.windows.net/emed64_22.3.0_portable.zip а KeyGen ищите сами ;)

    Выбираем русский язык

    Запускаем редактор EmEditor.
    115.jpg
    «Tools Customize... Select LanguageРусский (Россия)OK» и перезапустите EmEditor.
    116.jpg

    Устанавливаем тему

    Выберите «Сервис Свойства для текущей конфигурации»
    100.jpg
    Перейти на вкладку «Оформление». Напротив строки «Тема:» с раскрывающимся списком, нажать кнопку со стрелочкой 104.jpg
    101.jpg
    В раскрывшемся контекстном меню выберите «Импорт...» и укажите на файл тем с расширением «.eetheme». На вопрос «Удалить старые темы?» соглашайтесь «Да», чтобы уже имеющиеся по дефолту темы не повторялись. Выберите из списка тем новую понравившуюся тему (файл thems.zip). Рекомендую «Midnight Cream».
    103.jpg
    Так же, для подсветки синтаксиса особых типов файлов, например С++, 1C, Perl, PHP, HTML5, ActionScript и других (более сотни наименований), вы можете скачать и установить отдельные библиотеки с официального сайта: https://www.emeditor.com/library/#toggle-id-6

    Установка файлов синтаксиса


    • Скачайте и распакуйте необходимый файл синтаксиса (с расширением *.esy) (для masm Win32Asm.esy)
    • Откройте в EmEditor ваш программный файл и идите в «Сервис Выбрать конфигурацию Определить конфигурации...» (в самом конце списка)
      105.jpg
    • Выделите asm-файл, к которому вы хотите применить синтаксис.
    • Нажмите там же справа кнопку «Свойства».
      106.jpg
    • В заголовке открывшегося окна настроек будет отображаться «Свойства: вашего типа файла».
    • Перейдите на вкладку "Подсветка (1)» и нажмите кнопку "Импорт...». 107.jpg
    • Укажите на файл синтаксиса Win32Asm.esy 108.jpg
    • Подсветка для asm-файлов будет подсвечивать исходный код определённым образом.
    • Там же вы можете скачать и установить множество дополнительных Макросов (76 шт), Плагинов (86+31 шт), Сниппетсов (2 шт) и Шаблонов (4 шт).

    Подключаю компилятор, линкер, редактор ресурсов, hiew32, x64dbg

    EmEditor можно настроить для запуска внешних приложений с помощью кнопок на панели инструментов или сочетаний клавиш.
    Внешние инструменты отображаются на инструментальной панели «Средства». Чтобы настроить внешние приложения, щелкните правой кнопкой мыши по пункту «Средства» и выберите «Настройка средств» (или нажмите «Сервис Внешние средства Настройка средств... Создать»)
    110.jpg
    109.jpg
    Для внешней программы заполняем пункты «Название», «Команда», «Аргументы», «Исходная папка», «Путь к источнику иконки»
    $(Path)Путь к файлу
    $(Dir)Папка файла
    $(Filename)Имя файла без расширения
    $(FilenameEx)Имя файла с расширением
    $(Ext)Расширение файла
    111.jpg
    112.jpg
    114.jpg

    A way to uninstall EmEditor (64-bit) from your system

    Продолжение следует...

     

    Вложения:

    • Win32Asm.zip
      Размер файла:
      38,7 КБ
      Просмотров:
      161
    • Ico.zip
      Размер файла:
      273,1 КБ
      Просмотров:
      141
    • themes.zip
      Размер файла:
      4,4 КБ
      Просмотров:
      171
    Последнее редактирование: 3 май 2023
    R81... и mantissa нравится это.
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Платная версия от бесплатной помимо малозначительной мелочевки отличается поддержкой скриптов и плагинов. Для версии 22.2.12, которую можно найти в https://support.emeditor.com/en/downloads, у меня вот такие письмена в текстовике на жестком диске записаны:
    Код (Text):
    1. emeditor.exe:$1694FA0 #16943A0 B8 01 00 00 00 C3
    2. emeditor.exe:$15E3400 #15E2800 B8 01 00 00 00 C3
    3. emeditor.exe:$96A92E #969D2E E9 AB 00 00 00
    4. 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.

    ЗЫ: в свое время отмел кучу текстовых редакторов за неспособность работать с файлами в несколько гигабайт. Японская вундервафля обрабатывает их с легкостью. А комбинируя замены (на что-нибудь с точказапятыми), переключаясь в табличный режим и обратно, удаляя и вставляя столбцы, расставляя закладки на строки через меню поиска, инвертируя закладки, удаляя и извлекая строки с закладками японским чудо-блокнотом можно без всяких парсеров любое что угодно переработать в другое что угодно. Сейчас не представляю как вообще без этого редактора можно обходиться, инструмент не менее важный, чем дизассемблер или нех-редактор.
     

    Вложения:

    • emeditor.7z
      Размер файла:
      140,4 КБ
      Просмотров:
      172
    Последнее редактирование: 2 май 2023
    R81..., mantissa и Mikl___ нравится это.
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    f13nd,
    не подскажите как для masm/fasm создать фолдинг?
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Не знаю что такое фолдинг, но если это возможность использовать разные конфигурации, то новую конфигурацию надо создать в "Сервис" - "Выбрать конфигурацию" - "Определение конфигураций" - "Создать". А потом выбирать гадкого утёнка, не привязанного к расширению ".asm" в статусной строке внизу.
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    Фолдинг ― «сворачивание», это когда от функции или структуры на экране остается одно название и «плюсик», щелчок по которому разворачивает функцию/структуру/фрагмент программы в первоначальное положение
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Это кнопка "Структуризация" - "Направляющие".
    изображение_2023-05-02_150311607.png
     
    Mikl___ нравится это.
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    f13nd,
    подскажите, я не могу найти настройку "Структуризации", чтобы сделать proc+endp, struct+ends и т.д. И как подключить список WinAPI-функций?
     
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Че-то типа такого:
    изображение_2023-05-02_152355305.png
    Про словарь винапей я выше писал. Может забыл что "Модули" - "Завершение слов" надо галку поставить, чтобы плагин включить.
     
    Mikl___ нравится это.
  9. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    f13nd,
    вы уж извините, но в fasm proc и endp идут перед названием функции, а в masm сперва название, а proc и endp идут потом, на картинке видно только proc, а куда поставить endp не понятно... :scratch_one-s_head:
     
    Последнее редактирование: 2 май 2023
  10. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Еще один аргумент против масма.
    изображение_2023-05-02_160133544.png
    Здесь как я понял endp некуда сунуть, оно разбивает код на блоки по начальным ключевым словам, можно рулить только приоритетами этих слов двигая вверх и вниз. Либо не сношать мозг и оттакливаеться от форматирования текста (табуляциями), а не ключевых слов.
     
    Последнее редактирование: 2 май 2023
    Mikl___ нравится это.
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.797
    100.jpg
    Я понял как делать «сворачивание» (фолдинг) процедур, структур и т.д. «Сервис Свойства для текущей конфигурации Свойства Тип: Особый (укажите начало как уровень 1, конец как уровень 2)»
    \S*\s+(proc)|(struc)(\s|\S)*
    _\S*\s+(endp)|(ends)(\s|\S)*

    Чтобы показать, что proc и struc относятся к первому уровню ― название процедуры или структуры должно идти с самого начала строки, а показателем второго уровня ― это то, что для endp и ends начинается с пробела перед названием процедуры или структуры.
     
    R81... и mantissa нравится это.
  12. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    2.000
    Вот такого кренделя еще не хватает:
    чтобы подстрока заканчивалась пробелом или концом строки и какое-нибудь 'call procedure1' не интерпретировалось как объявление процедуры.
     
    R81... и Mikl___ нравится это.