|
Monkey Разработка игр на движке Monkey |
11.03.2014, 20:01
|
#1
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Jentos.Code
Всем привет.
Представляю вашему вниманию усовершенствованную версию редактора Ted v1.17, которую я назвал "Ted 2.0 IDE".
Несколько картинок:
Описание особенностей:
** АНАЛИЗАТОР КОДА **
для корректной работы анализатора нужно заменить табы на 4 пробела
+ анализирует код при сохранении документа
+ список подстановки подходящих слов (открывается автоматически,
без нажатия на ctrl+space, если длина слова >= 2)
+ показ списка полей класса после точки (требует доработки)
+ автозакрывание (), "", '', [] (иногда не в тему закрывает, требует доработки)
+ в списке codetree добавлено отображение полей классов + иконки для элементов
+ сворачивание блоков (требует доработки).
внимание: может не работать, если вы используете закрывающее слово "end"
(в том числе "end if" с пробелом) для блоков, отличных от class, interface, function, method, select, try.
ещё: при переходе на строку N ("go to line..."), если она внутри свёрнутого блока, то блок разворачивается
+ автозавершение шаблонных сокращений нажатием на tab: fu+tab => function, me+tab => method и т.п.
(комбинации хранятся в файле templates.txt, можно добавлять свои шаблоны)
+ замена #$%? на :int :float :string :bool - при переходе на другую строку
+ замена /* и */ на #Rem и #End
+ контекстный хелп: F1 - показать хелп в статусной строке, ещё раз F1 - переход в хелп
+ удаление пробелов в конце строк
** ИНТЕРФЕЙС / КОДИНГ **
+ тёмное оформление (скопировано с android studio)
+ переход к объявлению переменной нажатием на Ctrl+ЛКМ (в том числе к объявлениям Monkey-классов)
+ при наведении курсора на переменную с зажатой кнопкой Ctrl показывается информация о переменной
+ между областью с кодом и дебагом добавлена всплывающая панель поиска/замены (вместо всплывающего окна)
+ открывать файлы можно перетаскиванием на центральную область
+ некоторые пункты в меню перенесены в другие разделы, как автор посчитал более логичным
+ выделение изменённых строки маркером слева (глючит при undo/redo, не критично)
+ добавлена панель с номерами строк, на которой можно ставить маркеры (bookmarks):
ЛКМ - выделить строку(строки), ПКМ - поставить маркер
также маркеры можно ставить горячими клавишами: Ctrl+M - установить/убрать маркер,
"Ctrl+," - предыдущий маркер, "Ctrl+." - следующий маркер
+ удаление 4 пробелов нажатием на Ctrl+Backspace (эквивалент удаления табуляции)
+ автозакрывание функций, условий, циклов и т.д. по нажатию Ctrl+Enter на строке,
содержащей ключевое слово (if,for,class и т.д.)
+ изменены цвета в подсветке кода
+ выбор директории с Monkey происходит сразу при старте, проверка корректности директории
осуществляется в момент её выбора, а не по нажатию на Okay.
+ подстановка языковых слов и функций (method, function, loadimage и т.д.) нажатием на ctrl+пробел
при перемещении по списку функций в статусной строке пишется краткий хелп
разным типам (константа, функция, метод, ...) присвоены разные иконки
при вставке функций с параметрами подставляются скобки и запятые, отделяющие параметры,
курсор встаёт на место первого параметра
+ разделить панель codetree на файлы с классами + список функций каждого класса
+ в навигаторе панель с кнопками: показывать поля, сортировать по алфавиту
+ панель со структурой документа перенесена влево по умолчанию
+ в статусной строке вместо "Line: row" отображается "row | col"
+ подсветка текущей строки с курсором
+ замена табов на пробелы, 1 таб = 4 пробела
+ "умный" Home: первое нажатие - переход к первому непустому символу в строке,
второе нажатие - переход в самое начало строки
+ "умная" вставка текста: при вставке_между_кавычками производится замена кавычек на ~q
+ при выборе элемента в навигаторе кода курсор ставится по центру
(было обычно снизу, приходилось прокручивать)
+ после "= new " предлагается класс, чей экземпляр создаём
(пока сделана подстановка если строка содержит тип данных, н-р "a:Obj = new ")
+ переход вперёд/назад к точкам последних редактирований кода
(можно перейти к объявлению переменной нажатием ctrl+ЛКМ,
затем вернуться на предыдущее место нажатием стрелки назад
или горячей клавиши
+ тёмное оформление справки сделано на скорую руку: "читаемо - и ладно"
** ПЛАНЫ **
- корректное определение области видимости переменных (scope)
- учитывать наследование
- анализ импортов/инклудов юзера
- доделать показ списка членов класса после точки:
а) чтобы при дальнейшем написании символов список не исчезал
б) вложенные объекты (obj.anim.rect.x)
- при вставке куска кода добавляются лишние отступы
(нужно убирать минимальный отступ всего блока от каждой строки)
- список подстановки вылазит внутри кавычек (в строковом выражении)
- подсветку кода встроить в analyzer, с учётом текущего scope
- учитывать переменные Self и Super, и выдавать список членов после точки
- анализ только изменённого участка кода
- обновлять codetree только для изменённого участка кода, если возможно
- выделять текущее слово_под_курсором везде в документе
- рефактор -- переименовать
- поиск использований переменной (usages)
- после new подставлять подходящий класс, если возможно
- фолдинг области, например для <!-- -->
- две темы оформления, добавить светлую
** ПРОБЛЕМЫ **
- версия не стабильная, но и не особо глючная.
- рекомендуется делать частый бэкап кода
- не проверялась при работе с импортом юзерских файлов, только на исходнике из 1 файла
- иногда приложение внезапно закрывается, ловит нулл поинтер или вроде того - чаще сохраняйтесь
- иногда при удалении выделенной области из нескольких строк сдвигается текст
в соседней области, лечится парой нажатий ctrl+z, - почаще делайте проверку синтаксиса (F6)
- иногда элементы интерфейса получают белую обводку, будто не применяется стиль. нужно перезапустить
- поддержка blitzmax не выпиливалась, но в настройках выбрать компилер нельзя, - только mankey
- не работает с monkeyPro64
** ИНСТРУМЕНТЫ **
Qt Creator 3.0.0 (Qt 5.2.0)
MinGW 4.8 32bit
Ted v1.17
Страничка проекта: http://fingerdev.com/ted20/
Скачать: ted20_v1.0a (21 Mb)
Как видно из описания, сделано не всё что задумано.
Выкладываю эту альфу в связи с тем, что у меня сейчас нет времени заниматься дальнейшей разработкой, чтоб добро не пропадало.
В дальнейшем, если удастся доделать анализатор кода, предложу эту версию в качестве дефолтной среды для Monkey.
UPD: для корректной работы анализатора нужно заменить табы на 4 пробела.
Последний раз редактировалось Жека, 12.03.2014 в 11:11.
Причина: upd
|
(Offline)
|
|
Эти 11 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
|
Arton (12.12.2017), impersonalis (11.03.2014), LLI.T.A.L.K.E.R. (03.06.2014), moka (11.03.2014), Nerd (13.03.2014), pax (13.03.2014), Randomize (11.03.2014), Reizel (11.03.2014), SBJoker (11.03.2014), St_AnGer (12.03.2014), Черный крыс (12.03.2014)
|
11.03.2014, 20:28
|
#2
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Ted 2.0 IDE
Шрифты бы посветлей, нет?
офигенная работа
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.03.2014, 20:58
|
#3
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,857 пользователей)
|
Ответ: Ted 2.0 IDE
So sad...
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.03.2014, 07:54
|
#4
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
Сообщение от Reizel
Шрифты бы посветлей, нет?
офигенная работа
|
спасибо!
цвет пока такой, в будущем в настройках можно будет изменить.
Сообщение от Randomize
|
Угу, забыл папочку.
Положить папку platforms из архива в папку с прогой. СКАЧАТЬ
В шапке перезалит архив.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.03.2014, 12:19
|
#5
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,857 пользователей)
|
Ответ: Ted 2.0 IDE
Чудесно! Ещё чуть-чуть и будет конкурентоспособный продукт.
И сразу запрашиваю функцию автоформата кода (расставляет табуляции на вложенных блоках, пробелы между аргументами ф-ции и тд).
По аналогии с Blide/Jungle
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.03.2014, 20:54
|
#6
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
Как только, так сразу.
|
(Offline)
|
|
21.03.2014, 22:27
|
#7
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
Новая версия 1.0.1
Список новшеств:
***Новое***
+ add: работает список подстановки юзерских слов, включая вложенные конструкции типа world.rect.width
+ add: учитываются переменные Self и Super, для super подставляются только члены из базового класса и интерфейсов
+ add: учитывается наследование, т.е. в списке подстановки видны члены этого класса + базового класса + интерфейсов.
но: если базовый класс тоже от кого-то наследовался, то уже не учитывается
+ add: выцепляются поля из классов манки, String, List, Image и т.п.: string.Split(), list.AddLast(), img.Width()
+ add: список подстановки для массивов: при обращении к самому массиву или к элементу массива (arr. | arr[i].) выдаётся список подстановки (если это массив объектов)
+ add: в codetree выделяется класс, и в навигаторе функция, внутри которой сейчас курсор
+ add: серый скроллбар в хелпе, теперь справка полностью в стиле иде
+ add: убран анализ кода при сохранении в момент закрытия приложения
+ add: при закрытии таба с кодом из codetree удаляется одноимённый пункт (исчезнет при очередном анализе кода)
***Изменения / улучшения***
+ change: в навигаторе список упорядочен таким образом: function, method, global, field
+ change: при вставке функций из списка подстановки всегда добавлялись скобки от функции.
теперь есть проверка - если после функции стоит буква или цифра, то добавляется только открывающаяся скобка.
+ change: для закрывающихся пар "", (), [] :
а) добавлена проверка: если после открывающегося символа стоит буква или цифра, то второй символ пары не добавляем
б) при удалении открывающего символа из пары, если за ним сразу стоит закрывающий, то удаляем оба
+ change: иконка приложения оформлена в тёмном кружочке
+ change: при перемещении по коду между последними редактируемыми строками (go back, go forward) ставить курсор в центр экрана
+ change: подсветка переменных фиолетовым только для членов класса.
но: подсветка сквозная, т.е. проверяется наличие переменной в любом классе, и подсветка в любом классе, даже если где-то такое же имя будет у локальной переменной (ибо покраска пока что не завязана на analyzer)
***Исправления***
+ fix: при вставке многострочного куска кода добавлялись лишние отступы (во многих иде так, в jungle тоже)
теперь блок кода в любом месте должен вставляться с корректными отступами независимо от того, откуда был скопирован и куда вставлен (для ctrl+v и shift+insert)
+ fix: при ctrl+c появляется список подстановки
Пара картинок:
Скачать:
ПОЛНАЯ ВЕРСИЯ (21.6 Mb, включает библиотеки Qt)
ИСПОЛНЯЕМЫЕ ФАЙЛЫ (225 Kb, без библиотек Qt; для тех, кто уже скачивал полную)
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
|
|
22.03.2014, 04:38
|
#8
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ted 2.0 IDE
Как IDE встретили на офф комьюнити манки?
|
(Offline)
|
|
22.03.2014, 08:02
|
#9
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
Сообщение от moka
Как IDE встретили на офф комьюнити манки?
|
я им ещё не показывал.
осталось чуток доделать, чтоб ваще конфеткой стал, и можно показывать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.03.2014, 17:22
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ted 2.0 IDE
Сообщение от Жека
я им ещё не показывал.
осталось чуток доделать, чтоб ваще конфеткой стал, и можно показывать.
|
Имхо, лучше показывать на ранних стадиях, т.к. новые пользователи помогают отладить многие аспекты до того как ты ещё наделаешь ложных вещей.
Ship Early
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
22.03.2014, 22:03
|
#11
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
moka, просто я решил показать за бугор, когда сделаю всё из списка задуманного. неохота, чтобы меня пичкали фразами "тут баг, там баг", про которые я и сам знаю. (при том что инглишем я владею средне)
насчёт ложных вещей - в первую очередь я делаю для себя, пока что нет ничего лишнего.
|
(Offline)
|
|
23.03.2014, 17:08
|
#12
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Ted 2.0 IDE
Сообщение от Жека
moka, просто я решил показать за бугор, когда сделаю всё из списка задуманного. неохота, чтобы меня пичкали фразами "тут баг, там баг", про которые я и сам знаю. (при том что инглишем я владею средне)
насчёт ложных вещей - в первую очередь я делаю для себя, пока что нет ничего лишнего.
|
"пичкали" - а при чём тут это?
Завёл список багов - и всё. Тебе народ помогает тестит - не стоит это воспринимать как что-то плохое.
Не бывает "идеальных" разрабов, все тупят и пишут баги, это норма нашей профессии.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.04.2014, 08:45
|
#13
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Ted 2.0 IDE
Новая версия 1.0.2.
Редактор переименован в "Jentos IDE".
Переименуйте соответственно эту тему, пожалуйста.
Что нового:
***Новое***
add: редактор переименован в "Jentos IDE"
add: автоформат кода, расстановка пробелов.
не форматируем:
а) если строка начинается с решётки #
б) внутри строк
add: в списке автоподстановки для экземпляров классов предлагаются данные из базового класса и интерфейсов.
в предыдущей версии было так только для Self.
add: фолдинг кода - сворачивание и разворачивание области:
1. классы и функции
2. блок #rem -- #end
3. блок '/** -- '**/ (по типу многострочного комментария в си)
add: замена в шаблонах (Map <K, V>, List<T> и т.п.)
замена делается для типов, перед которыми двоеточие: param:T => param:MyObj
если Node<T>, то не заменяем
например:
Local list:List<Car> = new List<Car>
далее в списке подстановки везде будем видеть наш тип 'Car'
add: пункт меню "Edit -- Autoformat all", позволяет скорректировать все строки документа.
использовать для кода, который ранее не редактировали в этом редакторе.
отменить изменения можно простым нажатием Ctrl+Z.
add: раскрывать в codetree файл в котором находимся
при выборе в навигаторе (codetree или source) элемента из другого файла (не текущего), открывается нужный файл на нужной строке
add: замена /* */ на #rem #end
add: для старых версий Monkey не нужно переименовывать trans_winnt.exe в transcc_winnt.exe, проверяется наличие обоих файлов
***Изменения / улучшения***
change: переделано оформление некоторых элементов;
добавлен градиент для верхней панели;
добавлена рамка для сплэш-картинки;
в окошке "About" ссылки кликабельные;
change: теперь анализатор корректно определяет завершение функций и методов для "end method" и т.п., раньше завершать методы нужно было только словом end
***Исправления***
fix: иногда появлялись белые границы у listview (в навигаторе или output'е)
fix: если переменная - это не экземпляр класса, и после неё поставить точку, то выдавались все возможные слова для подстановки. теперь ничего не выдаётся.
Скачать:
ПОЛНАЯ ВЕРСИЯ (21.7 Mb, включает библиотеки Qt)
ИСПОЛНЯЕМЫЕ ФАЙЛЫ (231 Kb, без библиотек Qt; для тех, кто уже скачивал полную)
Ещё я сделал оформление для сайта, посмотрите - http://fingerdev.com.
Там же можно посмотреть дополнительные скриншоты.
Те кто шарит в английском, просьба сообщить о замеченных ошибках.
Пошёл покорять зарубежное комьюнити.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Жека за это полезное сообщение:
|
|
07.04.2014, 11:47
|
#14
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Jentos IDE
Вроде как 'an' ставится только когда следующая гласная, тут просто 'a' (наверное)
Как-то странно звучит, может лучше просто 'nothing yet'?
Templates stored in templates.txt
|
templates ARE stored, думаю
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
07.04.2014, 11:56
|
#15
|
Знающий
Регистрация: 18.02.2008
Сообщений: 276
Написано 121 полезных сообщений (для 299 пользователей)
|
Ответ: Jentos IDE
А я думал что пейпал запрещает принимать пожертвования в РФ
http://habrahabr.ru/post/200404/
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:17.
|