Code Viewer - просмотр исходного кода
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
BeTeP
Да, спасибо, скорее всего я этот момент недоисследовал. Я пробовал разные файлы и кол-во строк в них было разным, я это подметил, но возможно проблема начинается от некоего порога, который во всех тех моих подопытных файлах был изначально превышен. Файл большой с малым кол-вом строк под руку не попался, а найти (или создать) такой целенаправленно я что-то недотумкал.
Да, спасибо, скорее всего я этот момент недоисследовал. Я пробовал разные файлы и кол-во строк в них было разным, я это подметил, но возможно проблема начинается от некоего порога, который во всех тех моих подопытных файлах был изначально превышен. Файл большой с малым кол-вом строк под руку не попался, а найти (или создать) такой целенаправленно я что-то недотумкал.
Amo ergo sum
yozhik
Спасибо, познавательно.
Что касается вашего файла, у меня он тоже валится на строке 156579. А вот если его из UTF-16 сохранить в UTF-8, то он прекрасно грузится. Дело не в размере, я "удвоил" полученный файл - скопировал и добавил весь текст - всё равно открывается довольно шустро. Буду выяснять, где ошибка с UTF-16.
Спасибо, познавательно.
Что касается вашего файла, у меня он тоже валится на строке 156579. А вот если его из UTF-16 сохранить в UTF-8, то он прекрасно грузится. Дело не в размере, я "удвоил" полученный файл - скопировал и добавил весь текст - всё равно открывается довольно шустро. Буду выяснять, где ошибка с UTF-16.
Да уж, действительно. В UTF-8 у меня 95-мегабайтный файл на 1 082 604 строк открылся в плагине за 5 секунд и навигация в нём исправно работает без тормозов (чууть только лагает в 32-битной версии, а в 64-битной вообще всё норм).olegvsk писал(а):А вот если его из UTF-16 сохранить в UTF-8, то он прекрасно грузится
Amo ergo sum
olegvsk
О нелёгкой жизни простого юзверя.
Скачал версию 1.2, поставил. Жму просмотр на aucfg файле - открывается Листер. Выбираю Code Viewer в меню - снова Листер. Вышел из Листера. Открыл ini файл (ну наконец-то я в плагине) -> Settings -> Open any files -> Выход.
[cut]Хоть убей не пойму, зачем вашему плагину уступать дорогу штатному Листеру. На мой взгляд, это только мешает нормальной работе и даже вредит. А если вам так хочется отдать дань творению Гислера, то сделайте хотя бы детект-строку с опцией Multimedia & Force, чтобы можно было активировать плагин сразу из меню на неизвестных файлах.[/cut]
Снова открываю aucfg файл - подсветки нет, хотя хайлайтер в дисрибутиве есть, но расширения не сопаставлены. Ну ладно, сделал сам вручную. Наконец все загорелось, да так что "вырви глаз"
В срочном порядке бегу менять первым делом шрифт, а потом все яркие цвета.
Поменял шрифт. Решил поменять тему. Шрифт сбросился. У каждой темы свой шрифт? На кой? Вернее понятно "на кой", не понятно только почему нет возможности глобально задавать (хотя бы) размер шрифта всему плагину.
Танцы продолжаются. Зачем-то при редактировании темы она сопоставилась с текущим хайлайтером (секция [Themes] в ini). Теперь при смене темы, изменения не отображаются в этом хайлайтере. Иду в меню Highlighters, вижу это сопоставление. Видеть-то я его вижу, а вот очистить поле не могу. Пришлось лезть в ini-файл и вручную удалять его из секции [Themes].
Снова захожу в редактор темы. Нет возможности откатывать изменения и сбрасывать настройки в дефолт. Нет общепринятой пометки звездочкой (*) измененных параметров - поменяешь пару опций, потом вконец запутаешься что менял, а что не менял, и начнётся беготня за бэкапами.
Ну ладно. Худо-бедно сделал приемлемый для себя вариант подсветки и сохранил в отдельный файл. Но тут захотелось еще попробовать другие темы: снова Settings -> Default light theme. Меняю - ничего не происходит. А ведь подобные изменения должны отображаться сразу, а не после перезагрузки плагина.
Перезапустил. И снова мелкий шрифт, и снова не те цвета, и снова все по кругу
Теперь о хорошем.
[cut]Плуг развивается, и это уже хорошо.)[/cut]
Как я отмечал, в строку состояния нужно вынести не только WRAP (оцените, как стало удобно!) но и всё остальное по максимуму. Хуже от этого точно не будет, а удобств прибавится. К короткому списку кодировок нужно добавить еще KOI8, а сами кодировки должны тоже переключаться одним кликом (сделайте хотя бы на пробу и посмотрите), не говоря уж о других переключателях из окна Settings.
О нелёгкой жизни простого юзверя.
Скачал версию 1.2, поставил. Жму просмотр на aucfg файле - открывается Листер. Выбираю Code Viewer в меню - снова Листер. Вышел из Листера. Открыл ini файл (ну наконец-то я в плагине) -> Settings -> Open any files -> Выход.
[cut]Хоть убей не пойму, зачем вашему плагину уступать дорогу штатному Листеру. На мой взгляд, это только мешает нормальной работе и даже вредит. А если вам так хочется отдать дань творению Гислера, то сделайте хотя бы детект-строку с опцией Multimedia & Force, чтобы можно было активировать плагин сразу из меню на неизвестных файлах.[/cut]
Снова открываю aucfg файл - подсветки нет, хотя хайлайтер в дисрибутиве есть, но расширения не сопаставлены. Ну ладно, сделал сам вручную. Наконец все загорелось, да так что "вырви глаз"
Поменял шрифт. Решил поменять тему. Шрифт сбросился. У каждой темы свой шрифт? На кой? Вернее понятно "на кой", не понятно только почему нет возможности глобально задавать (хотя бы) размер шрифта всему плагину.
Танцы продолжаются. Зачем-то при редактировании темы она сопоставилась с текущим хайлайтером (секция [Themes] в ini). Теперь при смене темы, изменения не отображаются в этом хайлайтере. Иду в меню Highlighters, вижу это сопоставление. Видеть-то я его вижу, а вот очистить поле не могу. Пришлось лезть в ini-файл и вручную удалять его из секции [Themes].
Снова захожу в редактор темы. Нет возможности откатывать изменения и сбрасывать настройки в дефолт. Нет общепринятой пометки звездочкой (*) измененных параметров - поменяешь пару опций, потом вконец запутаешься что менял, а что не менял, и начнётся беготня за бэкапами.
Ну ладно. Худо-бедно сделал приемлемый для себя вариант подсветки и сохранил в отдельный файл. Но тут захотелось еще попробовать другие темы: снова Settings -> Default light theme. Меняю - ничего не происходит. А ведь подобные изменения должны отображаться сразу, а не после перезагрузки плагина.
Перезапустил. И снова мелкий шрифт, и снова не те цвета, и снова все по кругу
Теперь о хорошем.
[cut]Плуг развивается, и это уже хорошо.)[/cut]
Как я отмечал, в строку состояния нужно вынести не только WRAP (оцените, как стало удобно!) но и всё остальное по максимуму. Хуже от этого точно не будет, а удобств прибавится. К короткому списку кодировок нужно добавить еще KOI8, а сами кодировки должны тоже переключаться одним кликом (сделайте хотя бы на пробу и посмотрите), не говоря уж о других переключателях из окна Settings.
Orion9
У вас на компьютере нет txt, cmd, xml и прочих общеупотребительных файлов?
У вас на компьютере нет txt, cmd, xml и прочих общеупотребительных файлов?
А вот это дельное предложение.Orion9 писал(а):сделайте хотя бы детект-строку с опцией Multimedia & Force
Просто у каждой темы свой шрифт.Orion9 писал(а):У каждой темы свой шрифт? На кой?
Непонятно.Orion9 писал(а):Зачем-то при редактировании темы она сопоставилась с текущим хайлайтером (секция [Themes] в ini). Теперь при смене темы, изменения не отображаются в этом хайлайтере
Внезапно - delete. И пустое поле темы равно теме по умолчанию.Orion9 писал(а):Видеть-то я его вижу, а вот очистить поле не могу
Esc.Orion9 писал(а):Нет возможности откатывать изменения и сбрасывать настройки в дефолт
Подумаю, но пока не вижу большого смысла.Orion9 писал(а):Нет общепринятой пометки звездочкой (*)
Логика простая - настройка по умолчанию нужна при выборе темы. На момент изменения настройки тема уже выбрана.Orion9 писал(а):А ведь подобные изменения должны отображаться сразу, а не после перезагрузки плагина.
olegvsk
[cut]А ведь хорошая была бы отмазка
[/cut]
Юзверь - он зверь такой: он может и не нажать на то, чего от него ожидается. Если есть функционал, то должно быть контекстное меню или подсказка, чтобы сделать очевидные вещи еще более очевидными.)
[cut]https://www.youtube.com/watch?v=C3_dkJICHAk[/cut]
Только тогда юзверь почувствует себя настоящим инопланетным зверем
Есть, конечно. Но что, если у меня есть, к примеру, еще и .bak файлы к этим файлам: предлагаете их переименовывать? ) Речь идет о быстроте и удобстве пользования. Я был уже готов и знал что к чему, поэтому и настроил все относительно быстро, но новичок, поставив ваш плагин, еще как помучится )У вас на компьютере нет txt, cmd, xml и прочих общеупотребительных файлов?
Вот и мне непонятно, когда она успела сопоставится без явного моего указания на то. Не исключаю, правда, что юзверь успел таки нажать на какую-то кнопкуНепонятно.
У меня клавиша просто заела )Внезапно - delete. И пустое поле темы равно теме по умолчанию.
[cut]А ведь хорошая была бы отмазка
Юзверь - он зверь такой: он может и не нажать на то, чего от него ожидается. Если есть функционал, то должно быть контекстное меню или подсказка, чтобы сделать очевидные вещи еще более очевидными.)
Не, не вариант. Речь шла о возвращении к дефолтным настройкам уже после сохранения темы.Esc
А юзверь видит.) Впрочем сама по себе звездочка (*) ничего не даст, если не будет возможности откатить параметр назад.Подумаю, но пока не вижу большого смысла.
Тема должна менятся на лету, как зрение хищника, о чем я уже тоже писал. В идеале это должно делаться одним кликом из строки состояния.Логика простая - настройка по умолчанию нужна при выборе темы. На момент изменения настройки тема уже выбрана.
[cut]https://www.youtube.com/watch?v=C3_dkJICHAk[/cut]
Только тогда юзверь почувствует себя настоящим инопланетным зверем
Пожалуй, добавлю пустое поле в список тем.Orion9 писал(а): должно быть контекстное меню или подсказка
К ненавистным вам дефолтным шрифтам? Зачем? Есть возможность сохранить тему в другой файл на любом этапе.Orion9 писал(а):Речь шла о возвращении к дефолтным настройкам уже после сохранения темы
Она и меняется из окна настроек синатксиса. Возможно, стоит добавить смену темы и в редактор темы. А суть любой настройки по умолчанию - сработать в другой раз.Orion9 писал(а):Тема должна менятся на лету, как зрение хищника
А разве это поможет? FORCE же наоборот будет блокировать плагин, пока не нажмёшь 4 или пункт меню «Графика/ММ/Плагины»:Orion9 писал(а):сделайте хотя бы детект-строку с опцией Multimedia & Force, чтобы можно было активировать плагин сразу из меню на неизвестных файлах
Код: Выделить всё
FORCE
1 if the user chose 'Image/Multimedia' from the menu,
0 otherwise.Код: Выделить всё
MULTIMEDIA & (EXT="TXT" | EXT="AAA")Код: Выделить всё
MULTIMEDIA & (EXT="TXT" | EXT="AAA" | EXT="BBB")Если же MULTIMEDIA & (EXT="TXT" | EXT= ... ) прописывать по умолчанию, то она будет противоречить выключенной опции "Open any file". А это, мне кажется, только путаницу внесёт. Ведь при MULTIMEDIA TC в любом случае опрашивает плагин, принимает ли он файл. Если принимает, то далее TC руководствуется ДС, а если нет, то и ДС не нужна.
Так быстрота то уже не получается, т.к. вместо 1 действия придётся делать 2, и вместо одного CodeViewer.ini придётся открывать два: сначала LSPLUGINS.INI для правки ДС, а потом CodeViewer.ini для назначения хайлайтера. Другое дело, что если нужен обязательно GUI, то для правки LSPLUGINS.INI есть сторонний TC Plugins Manager, а для CodeViewer.ini... только ручками или сам плагин вызывать на другом файле. Если только предложить olegvsk как вариант добавить возможность запускать редактор Highlighters отдельным процессом, как вспомогательную утилиту, чтобы его можно было вызвать из ком-строки когда понадобится назначить новое расширение.Orion9 писал(а):Есть, конечно. Но что, если у меня есть, к примеру, еще и .bak файлы к этим файлам: предлагаете их переименовывать? ) Речь идет о быстроте и удобстве пользования.
Так ведь это же Code ViewerOrion9 писал(а):новичок, поставив ваш плагин, еще как помучится
Amo ergo sum
yozhik
Я думаю, правильно будет не менять детект-строку, а анализировать флаг lcp_forceshow, который ТС передаёт плагину при вызове меню "Плагины/..." листера или нажатии 4. При наличии этого флага открывать плагин независимо от настройки "Open any file", раз уж пользователь сам просит это сделать. Хотя я бы разделил ситуации, когда пользователь указывает конкретный плагин в меню листера, и когда он нажимает 4, и реагируют все подряд. Но, похоже, такого разделения при вызове плагина нет.

Я думаю, правильно будет не менять детект-строку, а анализировать флаг lcp_forceshow, который ТС передаёт плагину при вызове меню "Плагины/..." листера или нажатии 4. При наличии этого флага открывать плагин независимо от настройки "Open any file", раз уж пользователь сам просит это сделать. Хотя я бы разделил ситуации, когда пользователь указывает конкретный плагин в меню листера, и когда он нажимает 4, и реагируют все подряд. Но, похоже, такого разделения при вызове плагина нет.
Вот!yozhik писал(а):Любой новичок, взявшийся за код, в состоянии освоить простую логику. А если не в состоянии, то ему и код подсвечивать не надо.
olegvsk
Скажете это удобно? А лично вам нравится менять размер шрифта для каждой темы? Мне, вот, почему-то нет.)
И дело тут не в инопланетных понтах хЫщника, а в том, что не всегда индивид перед монитором находится в гиперактивном состоянии полной готовности жать все клавиши сразу. Иногда индивид впадает в состояние аморфного пофигизма, когда из всех телодвижений остается лишь один ленивый клик мыши по экрану - и тот большим пальцем ноги, ибо руки у него заняты - в одной банка Колы, в другой пакетик с киви 
[cut]https://www.youtube.com/watch?v=qvFaHO3hGsc[/cut]
Добавлено спустя 9 минут:
yozhik
Это очень хорошая идея.Пожалуй, добавлю пустое поле в список тем.
Интересно, а вы сами так пробовали делать, или только на откуп юзверям это оставляете? ) Наверное, зря большие дяди придумали всякие звездочки (*), дефолтные настройки и откат измененных параметров. Наверное, бэкап поудобнее будет.)) И кстати, дело там не в "ненавистных" шрифтах, а в том, что меня не устраивает первоначальная настройка темы. Чтобы придать ей хоть какой-то вменяемый вид на простом ini-файле, нужно изменить минимум 4 параметра - стиль шрифта, foreground, string и symbol. И это только для начала, поскольку придётся еще не раз проверять на других файлах (vbs, bat и прочих) где и как это может аукнуться.К ненавистным вам дефолтным шрифтам? Зачем? Есть возможность сохранить тему в другой файл на любом этапе.
Скажете это удобно? А лично вам нравится менять размер шрифта для каждой темы? Мне, вот, почему-то нет.)
Возможно, стоит. Уже будет лучше. Но что на самом деле нужно делать, я написал: только строка состоянияОна и меняется из окна настроек синатксиса. Возможно, стоит добавить смену темы и в редактор темы.
[cut]https://www.youtube.com/watch?v=qvFaHO3hGsc[/cut]
Добавлено спустя 9 минут:
yozhik
Да я просто навскидку написал.) Не являюсь специалистом по написанию плагинов и детект-строк к ним. Это надо было в справку лезть.А разве это поможет? FORCE же наоборот будет блокировать плагин, пока не нажмёшь 4 или пункт меню «Графика/ММ/Плагины»:
Логика - это одно. Удобства пользования - это совершенно другое. У меня, например, никогда не возникало необходимости попрыгать с бубном вокруг простых ini-фалов в AkelPad. Ни vbs, ни bat, ни прочих, кроме AHK, да и то больше по той причине, что хайлайтер там на первую версию, а не на вторую.Любой новичок, взявшийся за код, в состоянии освоить простую логику. А если не в состоянии, то ему и код подсвечивать не надо. AkelPad тому хороший пример.
Крик души здесь вижу я, а не конструктивOrion9 писал(а):А лично вам нравится менять размер шрифта для каждой темы?
Лишнее. Если оперативную смену синтаксиса ещё можно представить, поскольку это касается получаемой информации, то спешная смена цветов мне непонятна.Orion9 писал(а):только строка состояния
Добавлено спустя 19 минут:
Да какие бубны-то? Открыли на любом известном плагину типе файла, открыли настройки, выбрали хайлайтер, добавили расширение. Всё.Orion9 писал(а):попрыгать с бубном
olegvsk
Поэтому и претензий к вам по минимуму. А крик души обычных пользователей не стоит заглушать и игнорировать: если бы ни я, ни Destiny вам ничего не написали, вы бы и посейчас, наверное, думали, что в плагие всё хорошо и прекрасно, и что вы на верном пути в плане всех удобств и его развития.))Так построен исходный компонент
То, что в плагие необходимо каждую тему под себя подстраивать, да еще и под каждое расширение, это было ясно практически сразу, о чем я вам так и написал, что это перебор. Где ж нам простым инженеграм найти столько времени на такого рода вдохновление? Ну была бы еще острая необходимость какая за отсутствием привычных альтернатив, тогда бы еще ладно, а так... Ну, может, и найду как-нибудь время под себя все настроить, хотя тут еще определенный цвет настроения ведь нужен.Обычно (мой опыт, разумеется), каждая тема настраивается долго и вдохновенно, после чего менять в ней что-то нет никакого желания.
А цвета поменять на привычные?Да какие бубны-то? Открыли на любом известном плагину типе файла, открыли настройки, выбрали хайлайтер, добавили расширение. Всё.
Зачем каждую и зачем под каждое расширение, кто же вас заставляет? Настройте тему по умолчанию, а дальше добавляйте по желанию.Orion9 писал(а):необходимо каждую тему под себя подстраивать, да еще и под каждое расширение
Там же назначили синтаксису любимую тему. Ещё два клика.Orion9 писал(а):А цвета поменять на привычные?