· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› Какой видится идеальная среда (IDE)?..

<< . 1 . 2 . 3 . >>

Посл.отвђт Сообщен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?

<< . 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.119