Вверх ↑
Этот топик читают: Гость
Ответов: 4
Рейтинг: 1
#1: 2016-12-28 06:24:39 ЛС | профиль | цитата
Приветствую.
Все никак не могу найти в HiAsm "подсветку синтаксиса" для схемы. Такое здесь вообще есть?

Вроде бы очевидная и несложная в реализации вещь, без которой собирать большую схему так же неудобно как и кодить в обычном сереньком блокноте.

Даже картинку подкину, которая примерно иллюстрирует мысль.

Снизу кнопка и сообщение подсвечены оранжевым, а точки которые обязательны для соединения и без которых использование компонентов не имеет смысла выделены красным.
карма: 1

0
Ответов: 278
Рейтинг: 6
#2: 2016-12-28 11:35:49 ЛС | профиль | цитата
Ее нету, на сколько я знаю. И зачем? Не всегда для использования компонента его нужно с чем то соединять. А если нужно, то вариантов соединения очень много, так что я думаю нет смысла это делать. Это только запутает новичков. А тем кто например посмотрел примеры использования компонентов, прочитал справку и без подсветки поймет.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2016-12-28 11:58:15 ЛС | профиль | цитата
Если после сборки элемент выдал ошибку, то по ошибке можно кликнуть и фокус перейдет на этот элемент. Вводить же обязательное соединение точек не имеет смысла, т.к. либо их у элемента нет, либо это и так очевидно. Но даже элементы с такими точками могут стоять на схеме не соединенные, когда пробуешь разные подключения и удалять лишнее пока не хочется.
карма: 27
0
Ответов: 4
Рейтинг: 1
#4: 2016-12-28 21:42:49 ЛС | профиль | цитата
Я говорю только о подсветке, никаких обязательных условий для соединений.

В 99% случаев кнопка без присоединенного события или сообщение без вызова просто мусор в редакторе, который не всегда можно заметить имея уже 100+ компонентов на экране. Кнопка и соо просто как пример.

Кроме того подсветку всегда можно выключить, что не должно путать, эм, новичков. Хотя подсветка скорее наоборот будет только помогать в обучении, имхо.

Особенно подсветка была бы полезна при работе с переменными. Я всегда собираю схему модульно, полностью на переменных. И было бы очень удобно, подсвечивай редактор "несвязанные" переменные, чтоб я сразу видел где ошибка.

Вот пример обычной схемы моей сборки:


Там я даже пытался выделять переменные, чтоб с ними было удобней работать. А еще можно заметить небольшой "модуль" который висит мусором, но заметить его можно не сразу, ведь подсветки нет.

Тогда еще вопрос, раз вам это все не нужно, могу ли я сам сделать плагин который будет делать мне подсветку?
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2016-12-28 23:46:41 ЛС | профиль | цитата
Zero001, теперь идея ясна. Это действительно можно добавить по аналогии с Warning сообщениями, которые выдают компиляторы языков. С возможностью включить такой режим в настройках или отключить его. Для этого только придется перебрать все элементы и проставить на нужных точках флаг, который подскажет среде, что НЕ использование данного метода элемента не имеет никакого смысла. Все верно?
карма: 27
0
Ответов: 4
Рейтинг: 1
#6: 2016-12-29 02:06:04 ЛС | профиль | цитата
Именно. По-крайней мере в первоначальном варианте так. Потому мне и показалось, что это довольно простая в реализации и вполне удобная для работы вещь. Достаточно лишь в настройках компонентов указывать точки, которые по логике обязательно должны быть соединены и научить редактор замечать их.

Ну и с переменными надеюсь понятно что я имел ввиду. Если есть две переменные "а", и всего одна "b", у которой получается нет пары, то редактор подсветит ее, сразу указав что нужно с ней что-то сделать. Вроде бы очень удобно, особенно если этих переменных набирается 100+ штук на одной схеме. Сразу видно какие просто висят в воздухе и ничего не делают. Под переменными я имею ввиду "разрыв линии", LineBreakEx.

Разумеется, это только визуальные маркеры и проект можно будет скомпилировать даже если редактор подчеркнет хоть все имеющиеся на схеме элементы.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2016-12-29 16:47:05 ЛС | профиль | цитата
Это конечно же одна большая тема "Оптимизация". Такой анализ должен будет включать в себя не только проверку точек, но и как минимум следующее:
1) проверку соединения точек с типами, которые невозможно привести друг к другу (скажем bitmap и integer)
2) наличие в одном экземпляре linebreakex, globalvar и им подобных
3) полное перекрытие элементов друг другом (возможно при копировании частей схемы)
4) наличие в схеме элемента Debug
более сложные оптимизации:
5) выявление избыточных подключений (очень часто встречается в схемах новичков), типа этого:

6) предупреждения о возможности более оптимального использования элементов, типа такого:

7) и т.д. и т.п.

Тут целое поле не паханное.

Редактировалось 1 раз(а), последний 2016-12-29 16:48:53
карма: 27
0
Ответов: 4
Рейтинг: 1
#8: 2016-12-30 00:13:16 ЛС | профиль | цитата
Это все тоже было бы неплохо. Хотя "более сложные оптимизации" все таки уже оптимизации, а не просто удобные подсказки которые сразу же исключают явные ошибки. И реализовать первые 4 пункта достаточно несложно. Это значительно ускорит и облегчит сборку больших схем, и не придется перебирать глазами каждый компонент выискивая точку которую случайно забыл соединить (у меня такое часто бывает, хоть работаю в HiAsm с 2006 года и вроде не новичок) или возможно соединил не с тем типом.
карма: 1

1
Голосовали:Nickname
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2016-12-31 16:45:06 ЛС | профиль | цитата
Добавлено в разработку
http://forum.hiasm.com/userissue/44
карма: 27
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)