|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 1, 2004 22:38:30 2AsmGuru62: параметры можно было видеть как подсказку, какой-нибудь ToolTip В делфях есть похожее, там когда напишешь имя функции и откроешь скобку "myFunction(" - делфя открыает подсказку с пораметрами, причем если функция перекрыта, то открывается подсказка для всех перекрытий. Довольно удобно. |
|
|
Дата: Апр 1, 2004 23:18:42 думаю, гуру знает как это удобно :) + надо не забыть сделать возможность вернуть пропавшую подсказку по нажатию ctrl+shift+space, как это сделано в bcb или vs + автозавершения всякие (с возможность отключения естесственно :) т.е., например, написал myfunc proc а редактор тебе
myfunc proc
ret
myfunc endp
+ неплохо было бы сделать что-то вроде special paste, например, сделать автосоздание db массива (как утиль bin2db.exe), т.е., если в буфере строка 123456ABFE, то вставится db 12h,34h,... ну т.п. может я конечно слишком многого хочу, но, название топика по-моему разрешает писать все :) будет идеальная среда :) а вообще, если все будет как в RadAsm, + все то, о чем было написано на форуме - уже будет почти идеал! |
|
|
Дата: Апр 1, 2004 23:20:19 · Поправил: AsmGuru62 About XML: В одной из неоконченных версий у меня был такой подход: когда создаёшь новую функцию - есть диалоговое окно, где были указаны некоторые вещи: имя функции, есть/нет секция LOCAL, PUBLIC или нет, и т.п. Так в этом окне также можно было указать список параметров. А параметры у меня были в регистрах (кстати, надо бы поговорить и об этом, но позже...). Так вот если там указать такой например текст: "ebx<,edx<,eax>", то в результате генерируется следующая 'шапка': foo proc ; ---------------------------------------------------- ; <HINT> ; EBX (IN) <- todo ; EDX (IN) <- todo ; EAX (OUT) -> todo ; </HINT> ; ---------------------------------------------------- ret foo endp Вместо 'todo' в шапку вписываем текст (объяснение параметров). Далее, если вызов функции надо делать, то редактор генерирует так (): mov ebx, ; description of IN parameter mov edx, ; description of IN parameter call foo mov , eax ; description of OUT parameter Ну и там добавляем или заменяем по ходу дела, что осталось, главное что будет меньше ошибок при передаче параметров. Но это мне разонравилось - хотелось чтобы сам вызов был как в INVOKE-е: invoke foo p1, p2 ... Но там, вроде, генерируются параметры в стек, а это опять возврат в HLL. Не знаю пока, буду экспериментировать с параметрами... если есть идеи по параметрам - кидайте мне... |
|
|
Дата: Апр 2, 2004 00:42:18 Блин, похожее пишем в двух/трех темах, не запутаться бы! А по поводу: 1) myfunc proc
ret
myfunc endp
Вот выскажу свою точку зрения, а уж как к этому относиться - ваш выбор. Вобщем: на набор этого кода, тратиться пара секунд, значительно больше времени тратиться на то чтобы написать всё остальное. А вот на реализацию такой фичи может уйти энное количество времени. Так что я бы посоветовал сначала сделать среду, чтоб мы её поюзали, потестили, на своёй шкуре испытали, а вот потом, если будут горячё желающие, то можно и такими фичами заняться. 2) ; ---------------------------------------------------- ; <HINT> ; EBX (IN) <- todo ; EDX (IN) <- todo ; EAX (OUT) -> todo ; </HINT> ; ---------------------------------------------------- Знаешь а я обожаю делать так: ;**************************************************** ; myFunc (ax, bx) ;**************************************************** ; ax - ; bx - ;**************************************************** ; Copyright © Dmitry Jakovenko (01.01.0001) ;**************************************************** А ктото по другому, тут у тебя есть два пути: 1) или создать жесткую структуру описания (я вообще за стандартность кода, это так сказать мой вклад в юзабельность, или красиво скажем - эргономику!) 2) Сразу забить на это, потому что мне проще написать этот заголовок, чем настроить под него шаблон (самому - скопировал и готово, а вот шаблон - надо знать как он делается), да и не уверен я что тебе удастся сделать так чтоб можно было учесть "потребности" каждого. Да и время надо на то чтоб это реализовать. PS: а вообще бери пример с мастадонтов, ты думаешь почему столько народу пользуется блокнотом? - на мой взгляд причина одна - его не надо настраивать, код в нем всегда выглядит одинаково (почти, там шрифт можно менять:)). А чем больше в программе всяких "рюшечек" тем "непохожее" выглядит один и тот же код, и тем болшее времени тратиться на настройку этих наворотов, а не на программирование. (макрос/процедура ещё толком не написан, а вот раскраску под него уже добавлена). |
|
|
Дата: Апр 2, 2004 00:50:45 AsmGuru62 Есть ли в планах русский интерфейс, или многоязыковой, типа как у TotalCommander'а? А то я смотрю при таком количестве фич можно и потеряться в настройках ;-) |
|
|
Дата: Апр 2, 2004 00:57:03 А то я смотрю при таком количестве фич можно и потеряться в настройках ;-) И это, кстати, тоже важно! Иначе можно получить монстра, в котором и умереть недолго! Если там только настроек на полгода возни, то такое IDE тоже никому будет не нужно. Все должно быть функционально! |
|
|
Дата: Апр 2, 2004 00:59:52 Шаблоны были сделаны ещё в AsmDev 1.0. Имеем текстовый файл:
template <...> {
}
template <Function Header> {
;****************************************************
; %func_name% (%param1%, %param2%)
;****************************************************
; %param1% -
; %param2% -
;****************************************************
; Copyright © Dmitry Jakovenko (01.01.0001)
;****************************************************
}
template <...> {
}
Делаем парсер, выделяя ключи между %%, потом представляем интерфейс, чтобы назначить значения этих ключей: func_name= param1= param2= Затем IDE генерирует код в позиции курсора, просто замещая %...% на введенные значения. Таким методом можно генерировать много чего, а IDE будет для всех одно. Только вот ООП не получается генерировать таким образом. |
|
|
Дата: Апр 2, 2004 01:03:33 IDE будет на английском. Если кто-то пишет на ассемблере - надо-бы знать по-аглицки... |
|
|
Дата: Апр 2, 2004 01:11:50 volodya Ну монстра там не получится... |
|
|
Дата: Апр 2, 2004 01:33:09 [ AsmGuru62: IDE будет на английском.] А вот это действительно плохо :-( [ AsmGuru62: Если кто-то пишет на ассемблере - надо-бы знать по-аглицки...] Ну в общем-то это не взаимосвязанные вещи.. |
|
|
Дата: Апр 2, 2004 01:41:42 Ну... я могу попробовать, но это увеличит время разработки. Как-то я слил русскую програмку и на моём Win2000 там вместо меню были какие-то каракули и мне таки не удалось ничего сделать. Где можно найти информацию по разработке программ с русским интерфейсом, но в нормальном (английском) Win2000 или WinXP? |
|
|
Дата: Апр 2, 2004 01:58:32 не хочу никого обидеть, но я всегда стараюсь выбирать английский интерфейс, если есть возможность (английский и правда надо знать, иначе как MSDN читать? в МэжикГуди совать?) общем: на набор этого кода, тратиться пара секунд, значительно больше времени тратиться на то чтобы написать всё остальное. А вот на реализацию такой фичи может уйти энное количество времени. Так что я бы посоветовал сначала сделать среду, чтоб мы её поюзали, потестили, на своёй шкуре испытали, а вот потом, если будут горячё желающие, то можно и такими фичами заняться. ну это само собой, но, раз уж топик называется так, как он называется, то пусть здесь будут все пожелания на счет параметров... хорошо бы сделать как в RadAsm, мне лично нравится. на первое время этого будет достаточно. а уж потом все скажут, что именно не понравилось |
|
|
Дата: Апр 2, 2004 02:01:07 А как там (в RadAsm) сделано? |
|
|
Дата: Апр 2, 2004 02:14:16 AsmGuru62 А ты сделай возможность читать интерфейс из файла какого-нибудь *.lng, при его наличии, если такого файла нет то интерфейс будет по умолчанию, т.е. английский. |
|
|
Дата: Апр 2, 2004 02:46:59 2AsmGuru62 ну, вообще, я имел в виду конкретно уже готовые подсказки, для апишек например. хотя они, конечно, и настраиваются во всяких masmApiCall.api.. но не лазить же туда постоянно после каждой добавленной ф-ции? :) кстати, у тебя ведь есть RadAsm? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.119 |