OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 23 Сентябрь, 2019 16:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 125 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Вторник, 30 Март, 2010 21:34 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
Спасибо большое за труд Изображение . Сам пишу только в Notepad++.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Пятница, 02 Апрель, 2010 11:58 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Доступен для скачивания плагин Obide (Oberon IDE) v2.3. Что нового:
- Добавлена настройка Global.autoCMaxHeight, задающая максимальную высоту списка автодополнения. По умолчанию = 32.
- Высота списка автодополнения не будет превышать половины высоты экрана (оба значения измеряются в строках).
- Новое: при выборе элемента из списка автодополнения хвост текущего идентификатора будет удалён. Таким образом, заменять один идентификатор на другой с помощью списка стало проще.
- Изменено: список автодополнения не будет преждевременно исчезать при удалении части редактируемого идентификатора.
- Ввод следующих символов подтверждает выбор идентификатора из списка автодополнения (ранее подтверждение было возможно только клавишей Enter): ([{}]).:;,+-*/|<>=#^& Tab Space Enter. Это все символы, которые могут быть расположены после иденификатора в языке Oberon.
- Новое: подсказки Code Hints будут отображаться не только при нажатии Ctrl+Alt+Space, но и при наведении курсора мыши на идентификатор. Задержка перед отображением подсказки задаётся новым параметром Global.mouseHintDelay в мсек (по умолчанию = 500, т.е. половина секунды). Если задать значение 10000000, то подсказки отображаться не будут.

Ссылка для скачивания (также через некоторое время будет доступна установка средствами стандартного плагина "Plugin Manager"):
http://downloads.sourceforge.net/projec ... .2.3.0.zip (151 Кб)

Описание и история изменений:
http://sourceforge.net/projects/oberonr ... 0.txt/view

UPD:
Поправил ссылки для скачивания.
Плагин так и не успел стать доступен через Plugin Manager: версия 2.3.1 вышла раньше.


Последний раз редактировалось Александр Ильин Среда, 07 Апрель, 2010 16:29, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Пятница, 02 Апрель, 2010 12:02 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Berserker писал(а):
Спасибо большое за труд Изображение . Сам пишу только в Notepad++.
Спасибо Штефану Мецлеру за то, что терпит занятия данной фигнёй вместо работы. : )
Сам-то он до сих пор на MultiEdit'е.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Пятница, 02 Апрель, 2010 14:41 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Александр Ильин писал(а):
За день добавил нужный функционал в свой плагин WebEdit. Ещё полдня с релизом и документацией промаялся. Вот и все дела.
Кстати, вот здесь можно посмотреть анонс релиза и ссылки для скачивания: http://sourceforge.net/projects/notepad ... dex/page/4 . Текущая версия: 2.1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Суббота, 03 Апрель, 2010 15:11 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
- Добавлена настройка Global.autoCMaxHeight, задающая максимальную высоту списка автодополнения. По умолчанию = 32.
- Высота списка автодополнения не будет превышать половины высоты экрана (оба значения измеряются в строках).
Теперь все ок - нижняя часть списка не срезается.
Александр Ильин писал(а):
- Новое: подсказки Code Hints будут отображаться не только при нажатии Ctrl+Alt+Space, но и при наведении курсора мыши на идентификатор.
О, полезная вещь. Правда, в Obide она ведет себя немного иначе, чем в других средах: если сместить курсор с идентификатора (перевести его на пустое место), подсказка не исчезает. Чтобы ее погаситить, надо либо нажать Esc, либо просто щелкнуть мышью в любом месте текста. Впрочем, больших неудобств это не вызывает.
Еще один момент - изменение параметра mouseHintDelay в ini-файле почему-то не приводит к изменению задержки при появлении подсказок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Суббота, 03 Апрель, 2010 17:09 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Sergo писал(а):
Теперь все ок - нижняя часть списка не срезается.
Отлично.
Sergo писал(а):
О, полезная вещь. Правда, в Obide она ведет себя немного иначе, чем в других средах: если сместить курсор с идентификатора (перевести его на пустое место), подсказка не исчезает. Чтобы ее погаситить, надо либо нажать Esc, либо просто щелкнуть мышью в любом месте текста. Впрочем, больших неудобств это не вызывает.
Да, мне тоже это не нравилось, но дополнительных настроек для изменения этого поведения я не нашёл. А теперь вот вы меня заставили подумать ещё раз, и я понял, как это можно сделать. Просто буду прятать текущую подсказку через Global.mouseHintDelay, если под курсором мыши в новом положении нет идентификатора.

Исправил, ждите в следующей версии.

Вообще, идея мною взята из Delphi. Там ещё Ctrl+Click переходит к объявлению идентификатора. Тоже можно сделать.

Предложения приветствуются.
Sergo писал(а):
Еще один момент - изменение параметра mouseHintDelay в ini-файле почему-то не приводит к изменению задержки при появлении подсказок.
Хм... Это я не проверил, мог где-то напортачить...

А, понял. Ini-файл читается после того, как настройки произведены. Раньше не заметил, потому что прочие настройки применяются непосредственно при использовании, а эта - один раз при старте программы. Исправил, ждите в следующей версии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Воскресенье, 04 Апрель, 2010 21:04 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Еще одна небольшая проблема со списками в автодополнении. Если длина идентификатора, объявленного в каком-либо модуле, превышает 32 символа, то он в списке идентификаторов этого модуля не отображается.

Если длина имени какого-либо поля записи, объявленной в текущем модуле, превышает 32 символа, то оно хотя и отображается в списке полей для экземпляра этой записи, но при нажатии на Enter выводится в усеченном до 32-х символов виде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 15:32 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
Предложения приветствуются

Есть одно предложение, но не знаю, насколько просто его реализовать. В конструкциях c WITH

WITH Переменная_Типа_1 : Тип_2 DO ... END;

сделать так, чтобы в области действия WITH при автодополнении отображался список полей для Тип_2, а не Тип_1, как сейчас.

А вообще главное, чтобы фич не было слишком много:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 16:22 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Sergo писал(а):
Если длина идентификатора, объявленного в каком-либо модуле, превышает 32 символа, то он в списке идентификаторов этого модуля не отображается.
Это ограничение парсера. 64 хватит?
XDS позволяет идентификаторы до 254 символов, но меня жаба давит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 18:26 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
64 хватит?
Думаю, вполне. Сейчас посмотрел свои модули - самый длинный идентификатор - 31 символ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Среда, 07 Апрель, 2010 16:24 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Доступен для скачивания плагин Obide (Oberon IDE) v2.3.1. Что нового:
- Исправлено: игнорировалось значение параметра Global.mouseHintDelay в ini-файле.
- Исправлено: Code Hint не убирался с экрана при уводе курсора мыши с идентификатора.

Ссылка для скачивания (также через некоторое время будет доступна установка средствами стандартного плагина "Plugin Manager"):
http://downloads.sourceforge.net/projec ... .2.3.1.zip (151 Кб)

Описание и история изменений:
http://sourceforge.net/projects/oberonr ... 1.txt/view


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Среда, 07 Апрель, 2010 16:26 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Sergo писал(а):
Сейчас посмотрел свои модули - самый длинный идентификатор - 31 символ.
В таком случае и проблемы, вроде бы, нету. Даже есть запас в 1 символ - раздолье! : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Среда, 07 Апрель, 2010 16:34 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Sergo писал(а):
Есть одно предложение, но не знаю, насколько просто его реализовать. В конструкциях c WITH ...
Это у меня есть в todo-листе, но конкретных планов на реализацию пока нет. Вообще, из троицы "type guard, WITH, SYSTEM.VAL" WITH реализовать проще всего. Если есть желание поучаствовать, могу поделиться исходниками в достаточном для компиляции проекта объёме (ту часть, что из библиотеки Amadeus, дам в бинарном виде).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Среда, 07 Апрель, 2010 16:42 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Проект NO2 помещён на GitHub:
http://github.com/AlexIljin/NO2

Текущая версия по-прежнему 0.1. Ждём релиза Oberon-2 Lexer v1.0, тогда будет NO2 v0.2.
Если у кого есть желание, принимаются варианты правил для Oberon-2 в Function List (править xml-файл: GUI не работает).
По вопросам пользования git/github можно завести отдельную тему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Среда, 07 Апрель, 2010 16:44 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Александр Ильин писал(а):
ту часть, что из библиотеки Amadeus, дам в бинарном виде.
Ну почему мне это в голову раньше-то не пришло? Давно пора исходники раздавать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Четверг, 08 Апрель, 2010 00:53 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
Доступен для скачивания плагин Obide (Oberon IDE) v2.3.1.
О, теперь все ок. Немного напрягает, что если задана большая задержка, то подсказка долго не исчезает. Идеально было бы, если бы параметр mouseHintDelay влиял только на задержку при появлении подсказки, а исчезала бы она мнгновенно. Впрочем, это не такое уж и большое неудобство.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Четверг, 08 Апрель, 2010 00:54 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
Sergo писал(а):
Сейчас посмотрел свои модули - самый длинный идентификатор - 31 символ.
В таком случае и проблемы, вроде бы, нету. Даже есть запас в 1 символ - раздолье! : )
Еще пару букв, и лимит будет превышен:) Хотя, конечно, такие длинные идентификаторы - редкая вещь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Четверг, 08 Апрель, 2010 00:56 

Зарегистрирован: Четверг, 03 Август, 2006 16:28
Сообщения: 182
Александр Ильин писал(а):
Проект NO2 помещён на GitHub
Интересный проект. Как я понял, тут пока стоит какая-то ранняя версия Obide, но наличие фолдинга радует. Не планируется ли переход на пятую версию Notepad++?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Четверг, 08 Апрель, 2010 03:49 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Sergo писал(а):
Александр Ильин писал(а):
Проект NO2 помещён на GitHub
Интересный проект. Как я понял, тут пока стоит какая-то ранняя версия Obide, но наличие фолдинга радует. Не планируется ли переход на пятую версию Notepad++?
В ветке master Obide v2.3.1 (последний) и Notepad++ v5.6.8 Unicode (последний).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Oberon-2 IDE на основе Notepad++
СообщениеДобавлено: Вторник, 13 Апрель, 2010 12:03 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Занимаюсь чисткой кода от LOOP'ов. Notepad++ и Obide помогают анализировать код. Пример из практики:
Вложение:
Code1.png
Code1.png [ 4.27 КБ | Просмотров: 8604 ]
Надо понять, подходит ли данный блок под известную схему. Для этого ставим курсор на переменную "user" и нажимаем Ctrl+M:
Вложение:
Code2.png
Code2.png [ 4.43 КБ | Просмотров: 8604 ]
Видим, что использование переменной "user" подходит под нужную схему, но необходимо убедиться, что на её значение не оказывают влияния вызываемые процедуры: StorePrinterSettings и PathTools.AppDataFolder. Переменная локальна, значит она может изменяться либо локальными процедурами, либо при передаче по ссылке. Обе процедуры не являются локальными, а передаётся "user" только в PathTools.AppDataFolder. Осталось узнать, как она туда передаётся - по значению или по ссылке. Для этого наводим курсор мыши на имя процедуры и смотрим на список параметров во всплывающей подсказке:
Вложение:
Code3.png
Code3.png [ 4.55 КБ | Просмотров: 8604 ]
Ключевого слова "VAR" перед первым параметром нет, значит и побочные эффекты не возможны.
Вывод: цикл подходит под известную схему.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 125 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB