View previous topic :: View next topic |
Author |
Message |
olegvsk
Joined: 17 Dec 2020 Posts: 109
|
(Separately) Posted: Fri May 17, 2024 11:49 Post subject: |
|
|
Destiny
Не понимаю я озвученных вами проблем. Любой плагин заточен на конкретные типы файлов. Открытие любых файлов - только как опция и только с согласия пользователя. Какие типы открываются сразу, вы могли бы прочитать в документации, но я её не делал, так как, на мой взгляд, всё достаточно прозрачно и понятно.
Destiny wrote: | Все равно не ясно - почему при вызове "Синтаксисы" и при вводе нового расширения не происходит
автосверки расширения текущего файла с этим новым вводом и автоподключения выбранной/модифицированной схемы подсветки? | Какой автосверки? Это и есть GUI-диалог настроек. Кнопок нет потому, что настройки применяются сразу.
Destiny wrote: | внесение нового расширения автоматом приводит к применению подсветки, увязанной к этому расширению. | Да с чего, если у вас открыт файл с другим расширением?
Destiny wrote: | Кстати в диалоге "Перейти" кнопка Отмены не переведена на русский | Спасибо, исправлю.
Destiny wrote: | Пункт меню "Информация" - почему-то оказался пунктом "О плагине". | Обычный пункт меню с информацией о плагине. |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 508
|
(Separately) Posted: Fri May 17, 2024 12:49 Post subject: |
|
|
Quote: | А разве Я сам себя ограничил? Я поставил плагин и попробовал вызвать его на файле и он с настройками
этой галочки по умолчанию не отработал. Это вроде как плагин МЕНЯ ограничил, а не я себя. |
Так я и не вам писал, а именно автору, поскольку столкнулся ровно с такой же проблемой при первом своем знакомстве с плагином, о чем и писал пару страниц назад. Объяснения автора на этот счет понятны:
Hidden text olegvsk wrote: | Вот по этому поводу я хотел бы увидеть мнение других участников. Меня, например, не устраивает, когда плагины лезут туда, куда их не спрашивали. Для этого есть всеми нами любимый универсальный Lister. |
Вот только я уж забыл совсем, когда последний раз пользовался штатным листером для просмотра текстовых файлов |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 250
|
(Separately) Posted: Fri May 17, 2024 13:02 Post subject: |
|
|
olegvsk wrote: | Какой автосверки? Это и есть GUI-диалог настроек. Кнопок нет потому, что настройки применяются сразу. |
Какой? А той, что я описал по возможности подробно выше.
ЕСЛИ БЫ ваше заявление, что настройки применяются сразу, реально работало - вопросов бы и предложений и не было сразу.
Еще раз - я добавил нужное расширение схх в настройках для С++ подсветки, а открытый файл с этим расширением как показывался с подсветкой "none" (кстати, это тоже надо бы перевести) - так и продолжил показываться без подсветки. И где тут заявленное автоприменение?
olegvsk wrote: | Да с чего, если у вас открыт файл с другим расширением? |
С того, что именно это "другое" расширение "ZZZ" я только что внес в список принимаемых для подсветки "ХХХ". И с этой секунды оно уже не другое, а известное и связанное с неким типом подсветки. И именно с 1 секунды! Потому как кнопки ОК нет и я ожидаю мгновенную реакцию на любое действие внутри этого окна.
olegvsk wrote: | Обычный пункт меню с информацией о плагине. |
В таком случае и название пункта должно звучать "О плагине"/"О программе". About, короче говоря.
olegvsk
Т.е. еще раз - именно потому, что вы сделали CodeViewer ожидалось, что я САМ смогу настроить нужные срабатывания по типу файлов, чтоб по умолчанию плагин открывал любые небинарные файлы, ибо на то он и плагин для просмотра. А уж потом - я, получив возможность заходить в его настройки, буду там что-то допиливать для срабатывания лишь на нужных мне файлах.
А то ведь сейчас я ТУПО не могу войти в настройки плагина, ибо он не сработает на новом, неизвестном ему расширении! ДАЖЕ принудительно не открывается!
Нет просмотра-то!
Last edited by Destiny on Fri May 17, 2024 21:04; edited 3 times in total |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 249 Location: Электросталь
|
(Separately) Posted: Fri May 17, 2024 16:39 Post subject: |
|
|
olegvsk
Взгляните, пожалуйста, на этот файлик: кодировка у него UTF 16 LE с BOM (и BOM точно есть, видно его в hex-представлении FEFF), но плагин определяет его как 866 OEM. При этом не на всех файлах в UTF 16 LE BOM плагин ошибается, некоторые определяются корректно. От чего это зависит я пока не смог уловить — вроде обычные файлы, в одном и том же редакторе и созданы и отредактированы (AkelPad), но плагин некоторые так, а некоторые сяк. _________________ Amo ergo sum |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Fri May 17, 2024 17:13 Post subject: |
|
|
yozhik
encinfo определяет правильно binary UTF-16LE, а binary это ошибка в плаге. Если допустим BOM убрать то будет вообще binary binary. |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 249 Location: Электросталь
|
(Separately) Posted: Fri May 17, 2024 17:39 Post subject: |
|
|
imig73
Ага, я тоже сразу в EncInfo стал смотреть проверять )) И Encoding Check в PCREsearch.wdx тоже корректно определяет кодировку. _________________ Amo ergo sum |
|
Back to top |
|
|
olegvsk
Joined: 17 Dec 2020 Posts: 109
|
(Separately) Posted: Fri May 17, 2024 17:48 Post subject: |
|
|
yozhik wrote: | Взгляните, пожалуйста, на этот файлик |
Да, есть ошибка в определении OEM - не всегда учитывается BOM. В обновлении будет исправление. |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Fri May 17, 2024 21:05 Post subject: |
|
|
yozhik
А я с этим BOM вообще попал. AkelPad если сигнатуру не увидит то и сохранит без BOM. В ANSI то вообще этого нету, вот мне и на сохранял тоталовские панели с настройками в UTF-16 LE без BOM. Я три дня искал почему всё как попало работает, пока не разобрался что для TC BOM обязателен |
|
Back to top |
|
|
olegvsk
Joined: 17 Dec 2020 Posts: 109
|
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 249 Location: Электросталь
|
(Separately) Posted: Tue May 21, 2024 23:08 Post subject: |
|
|
olegvsk
Спасибо огромное, после нескольких проб все нововведения и поправки работают исправно, пока никаких неполадок не замечено. Только фокус пока ещё улетает на долю секунды, мелькая окном др. приложения, когда закрываешь Color Picker, но на основную бо́льшую часть работы с плагином это совершенно не влияет, так что можно не обращать внимания (тем более Вы кажется писали, что там какая-то нетривиальная проблема).
Тень для границы MiniMap отлично смотрится, спасибо.
В диалоге Подсветки строк стандартные регулярки опробовал — работают, но хорошо бы где-то подсказать какая именно библиотека («диалект») используется и где описание синтаксиса почитать (не TRegExpr ли это Сорокина?).
Тёмные стили чётко работают — я их удалял, добавлял другие со стороны — всё исправно. Да, они и не большие оказались, всего-то по нескольку Кб. Вообще со стилем плагин теперь как влитой, очень качественно смотрится. Только единственное: PopUp-контекстное меню ПКМ по-прежнему белое, но вот есть такие vcl-styles-utils, которые, кажется, помогают с подобными случаями справляться, Вы в их сторону не смотрели? Если это не громоздко / не трудоёмко, то, может, стоит воспользоваться? Последний шаг до безупречности
Пара наблюдений в Диалоге настройки темы.
Отображение hex-кодов цвета в правой части TVirtualStringTree — очень удобно, спасибо. Тут же, в правой части TVirtualStringTree, ПКМ по плашке с цветом открывает Color Picker напрямую — тоже очень удобно, спасибо. Быть может не слишком трудоёмко было бы сделать в левой части TVirtualStringTree, чтобы ПКМ по плашке с именем ключа вызывала менюшку с 2мя командами: "Copy color" и "Paste color" — которые бы копировали в БО / вставляли из БО код цвета (hex, TColor или ключевые слова). Не представляю себе, к сожалению, насколько это хлопотно в реализации (ибо не программер), но с точки зрения пользователя это было бы существенное подспорье, скорость настройки возрасла бы в разы, и настраивать тему стало бы как семечки щёлкать. Вот, как то так бы это выглядело:
Настройку SpecialCharSelection быть может логичней было бы переместить из группы Editor в группу Selection?
А MapActiveLine может быть лучше бы переехать из группы Search в группу Minimap? Потому что она не зависит от состояния поиска.
LeftMarginLineStateNormal отвечает за отредактированные и свежесохранённые строки? Если да, то не работает. Или я опять где-то недоглядел...
Ещё иногда проявляется несогласованность расположения курсора с подсветкой фолдинга, вот пример:
— файл, на котором это проявилось, можно взять здесь.
Я попробовал у себя пооткрывать файлы больше 10 Мб, но, по-видимому, этот порог не случайно Вами выставлен по умолчанию. Больше 10 Мб у меня на машине плагин уже не обрабатывает: файл открывается, но кол-во строк показывается неверно и при попытке переместиться в конец файла по Ctrl+End ТК зависает, а если к концу подбираться аккуратно, перелистывая по одной строчке, то в самом низу окна после текста появляются кракозябры и видно, что это не конец файла, а конец обработки плагином. Но, впрочем, это же Code Viewer, и он не предназначен для таких размеров. В целом это мне не кажется недостатком, скорее особенностью. Просто решил написать про это наблюдение. Вот как это выглядит:
и, да, шрифт в этом случае роли не играет, с системным Consolas то же самое.
Вообще, толковый плагин получился, пока всё в нём радует _________________ Amo ergo sum |
|
Back to top |
|
|
olegvsk
Joined: 17 Dec 2020 Posts: 109
|
(Separately) Posted: Wed May 22, 2024 01:44 Post subject: |
|
|
yozhik
Спасибо за обстоятельный обзор.
yozhik wrote: | какая именно библиотека («диалект») используется и где описание синтаксиса почитать | Стандартный дельфовый модуль. Подсказки по регулярным выражениям мне обычно хватает в хелпе AkelPad'а.
yozhik wrote: | PopUp-контекстное меню ПКМ по-прежнему белое | Неожиданно. С системными стилевыми хуками (меню и системные окна сообщений) вообще проблема - если я их включаю, то в плагине они работают, но при этом ломается цветовая схема самого TC, что, понятно, недопустимо. Поэтому стили для меню выключены, но у меня, например, меню всё равно остаются тёмными, их раскрашивает сам TC в соответствии со своей темой. У вас, похоже, по-другому. Какая у вас версия Windows и самого TC?
yozhik wrote: | но вот есть такие vcl-styles-utils | Спасибо, посмотрю.
yozhik wrote: | чтобы ПКМ по плашке с именем ключа вызывала менюшку с 2мя командами: "Copy color" и "Paste color" | Да без проблем .
yozhik wrote: | Настройку SpecialCharSelection быть может логичней было бы переместить из группы Editor в группу Selection?
А MapActiveLine может быть лучше бы переехать из группы Search в группу Minimap? Потому что она не зависит от состояния поиска. | Да, логично.
yozhik wrote: | LeftMarginLineStateNormal отвечает за отредактированные и свежесохранённые строки? | Подсветка свежесохранённых строк сейчас отключена, лично я никогда не интересовался этой возможностью. Но включу, пусть будет.
yozhik wrote: | Ещё иногда проявляется несогласованность расположения курсора с подсветкой фолдинга | Видимо баг, проверю.
yozhik wrote: | Больше 10 Мб у меня на машине плагин уже не обрабатывает: файл открывается, но кол-во строк показывается неверно и при попытке переместиться в конец файла по Ctrl+End ТК зависает, а если к концу подбираться аккуратно, перелистывая по одной строчке, то в самом низу окна после текста появляются кракозябры и видно, что это не конец файла, а конец обработки плагином. | Нет, так быть не должно. Плагин может долго думать, но не сыпать ошибками. Не покажете файл? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2221 Location: Москва, Россия
|
(Separately) Posted: Wed May 22, 2024 01:52 Post subject: |
|
|
olegvsk
Ух, ты! Прям, реально, классный плагин! Супер!
Из навскидку выявленных мелких "косячков"...
1. sql-файл в кодировке OEM-866 с текстом, начинающимся на "--", по горячей клавише Ctrl+W не переключает в кодировку WIN-1251, хотя по "Кодировка/Все поддерживаемые" переключает. Пример содержимого:
2. Сворачивание кода, по крайней мере для sql, "глючит" при наличии конструкции в одну строку. Пример содержимого:
Code: | declare @q int
if @q is null
begin
select @q = case when 1=1 then 1 else 0 end
end
|
Огромное спасибо!!! _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
olegvsk
Joined: 17 Dec 2020 Posts: 109
|
(Separately) Posted: Wed May 22, 2024 02:34 Post subject: |
|
|
Batya wrote: | по горячей клавише Ctrl+W не переключает в кодировку WIN-1251 | Да, косяк с переключением. Сразу поправил и выложил исправленный файл, не меняя номер версии. Можно перекачать.
Batya wrote: | Сворачивание кода, по крайней мере для sql, "глючит" | Буду разбираться. |
|
Back to top |
|
|
yozhik
Joined: 04 May 2014 Posts: 249 Location: Электросталь
|
(Separately) Posted: Wed May 22, 2024 20:09 Post subject: |
|
|
olegvsk wrote: | но у меня, например, меню всё равно остаются тёмными, их раскрашивает сам TC в соответствии со своей темой. У вас, похоже, по-другому. Какая у вас версия Windows и самого TC? |
А, теперь понятно. Windows у меня 11 23H2 x64, а TC 11.03 32/64, но дело, похоже, не в них, а в значении ключа ForceDarkModeOptions в wincmd.ini. Дело в том, что если значение 1 (оно же умолчательное на Win 10 и выше при отсутствии самого ключа), то менюхи используются системные, а если 2, то TC рисует их сам, но не все, а только те, которые может. Это, как оказалось, неоднозначная, во многом субъективная и немного запутанная тема, поэтому я вначале кратко резюмирую, а потом, если Вам интересны подробности, то загляните по cut.
Кратко, на что влияет упомянутый ключ (в контексте нашего разговора):
- При ForceDarkModeOptions=1
- меню главного окна TCx64 рисует сам;
- меню главного окна TCx32 вызывает системные тёмные (при условии, если отключено отображение иконок в меню);
- меню контекстные в обеих битностях вызываются системные тёмные (вне зависимости от того, какая тема в системе активна, тёмная или светлая).
- При ForceDarkModeOptions=2
- меню главного окна TCx64 рисует сам;
- меню главного окна TCx32 рисует сам (вне зависимости от отображения иконок в меню);
- меню контекстные в обеих битностях вызываются системные текущие (т.е. если в системе активна светлая тема, то и менюхи будут светлые).
Подчёркнутые места выделяют разницу. И у меня как раз выпал такой «тяжёлый» случай (подробнее под cut'ом), что TCx32, иконки в меню отключены, ForceDarkModeOptions=2 и в системе светлая тема — поэтому и менюхи по ПКМ у меня светлые.
Вопрос теперь причём здесь плагин. Я изложу свои pro et contra, а выбор, естественно, за Вами ))
- Если всё оставить как есть, и не прибегать к vcl-styles-utils (или чего-либо др.), то менюхи будут соответствовать более интерфейсу TC, чем плагина. Вследствие чего: большинство пользователей ничего не заметят, у них всё будет смотреться нормально-приемлемо, а малый процент таких как я будут лицезреть белые менюхи, хотя, справедливости ради, не только в плагине, но и во всём TC (ибо это — неизбежное следствие метаморфоз с настройками).
- Если же прибегнуть к vcl-styles-utils, то менюхи станут соответствовать более интерфейсу плагина, чем TC. Вследствие чего: у большинства пользователей по-прежнему всё нормально-приемлемо, а малый процент таких как я улыбнутся шире )) Ну и, справедливости ради, интерфейс плагина будет более целостным.
Теперь чуть подробностей (вдруг интересно), почему я так сделал: Ну, собственно, разницу видно на скриншоте:
TC либо рисует сам меню и полосы прокрутки, либо заимствует из системы. А системный чёрный не такой, как я назначил в TC. Но тут есть существенный момент: системные цвета в Win 11 (что на скриншоте) мягче, чем были в Win 10. В Win 10 всё было контрастней, чёрный фон чернее, а буквы и рамки белее, что тогда на 10-ке никак не вязалось с моими настройками в TC. Поэтому я тогда и тему на оф.-форуме поднял (жаль, там скрины не сохранились), и по результатам её обсуждений выбрал ForceDarkModeOptions=2 и, вынужденно, его побочные последствия. Теперь же на 11-ой вроде стало по-приличней (хотя и не безупречно), и я теперь чешу себе башку, что может наконец смириться и переключиться на ForceDarkModeOptions=1
olegvsk wrote: | Подсветка свежесохранённых строк сейчас отключена, лично я никогда не интересовался этой возможностью. Но включу, пусть будет. |
А я ею сейчас заинтересовался только потому, что ключ есть, его видно, но он не работает — когнитивный диссонанс получается )) Наверное лучше чтоб эта подсветка работала, а желающие могут её «отключить», присвоив ей цвет фона. Я, кстати, так и сделаю себе, не люблю когда много цветовых акцентов, ибо теряется смысл акцентов.
olegvsk wrote: | Плагин может долго думать, но не сыпать ошибками. Не покажете файл? |
Конечно, вот пожалуйста. Перепроверил сейчас на TCx64 — та ж беда. Но у меня и на других файлах это проявляется: на всех, которые больше 10,2 Мб.
olegvsk wrote: | Стандартный дельфовый модуль |
Понятно, спасибо. Он там с PCRE взаимодействует. Тогда, если когда-нибудь руки дойдут до краткого руководства, то можно использовать следующие ссылки:- Исчерпывающий конспект по синтаксису PCRE.
- Подробнее о дельфовом TRegEx.
- Подробнее о PCRE.
- На русском неплохой, вроде, конспект по синтаксису PCRE.
_________________ Amo ergo sum |
|
Back to top |
|
|
BeTeP
Joined: 31 Mar 2005 Posts: 122 Location: Санкт-Петербург
|
(Separately) Posted: Wed May 22, 2024 20:39 Post subject: |
|
|
yozhik wrote: | Но у меня и на других файлах это проявляется: на всех, которые больше 10,2 Мб. |
Осмелюсь предположить, что дело не в размере файла, а в количестве строк в этом самом файле.
У меня без проблем открывается файл 13,4 МБ, но в нём, в отличие от вашего файла, всего 9493 строки. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|