Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > Критическая масса

Критическая масса — в диалектической логике минимальное количество мыслей, необходимых для начала самоизливающейся цепной реакции деления с общественностью.
Рейтинг: 4.67. Голосов: 3.

Плагин HighlightSelection для FD4

Запись от iNils размещена 25.02.2013 в 20:27

Для FD3 был создан замечательный плагин HighlightSelection (автор cannyshammy), который позволяет по двойному клику на слово, выделить все места в коде, где это слово встречается:

Название: hsfd3.gif
Просмотров: 1981

Размер: 726 байт

В FD4 изменился интерефейс для плагинов, поэтому автор перекомпилил его, но при этом изменил визуальное оформление найденных слов

Название: hsfd4.gif
Просмотров: 1960

Размер: 492 байт

С учетом того, что код имеет различную цветовую окраску, то подчеркивание теряется и выделенные слова сложно найти.

Но поскольку автор выложил исходники плагина, то я вернул старый вариант визуального выделения слов и перекомпилил плагин для FD4.
Вложения
Тип файла: zip HighlightSelection.dll.zip (4.6 Кб, 328 просмотров)
Размещено в FD , FD4: Плагины
Комментарии 32 Отправить другу ссылку на эту запись
Всего комментариев 32

Комментарии

Старый 25.02.2013 20:33 Wolsh вне форума
Wolsh
 
Аватар для Wolsh
Спасибо))
Старый 25.02.2013 21:13 in4core вне форума
in4core
 
Аватар для in4core
Мне вот интересно, а какой практический смысл в этом? Если найти все и заменить ctrl + H. А просто подсветить какой смысл? с таким же успехом по очереди можно найти все нужные строки через ctrl + F
Старый 25.02.2013 21:27 alatar вне форума
alatar
 
Аватар для alatar
А на скролбар он маркеры не выводит?
Старый 25.02.2013 21:36 iNils вне форума
iNils
 
Аватар для iNils
Это не для замены. А для моментального поиска. Скажем это слово встречается 10 раз и ctrl + F надо будет в среднем нажать 5 раз, чтобы найти нужное положении, а так можно сразу оценить, где все варианты.

Также часто я его использую для того чтобы найти дубликаты в списках.
Старый 25.02.2013 21:38 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
А на скролбар он маркеры не выводит?
По умолчанию да: Add line marker = true
Старый 25.02.2013 22:00 GBee вне форума
GBee
 
Аватар для GBee
Цитата:
Мне вот интересно, а какой практический смысл в этом? Если найти все и заменить ctrl + H. А просто подсветить какой смысл? с таким же успехом по очереди можно найти все нужные строки через ctrl + F
Иногда проще глазами поискать и скроллингом, чем прыжками по классу.

Сейчас заценю, надеюсь не тормозит как в ФБ такая же фича.
Старый 25.02.2013 22:05 GBee вне форума
GBee
 
Аватар для GBee
На скроллбар не выводит :о( Выводит на линию слева. Но все равно приятный плагин.
Старый 25.02.2013 22:57 iNils вне форума
iNils
 
Аватар для iNils
Аааа, скролбар. Сорри, попутал.
Тормозить начинает, когда слово встречается очень много раз. Скажем у меня, зависает на 1 секунду, если слово встречается 2000 раз.
Старый 25.02.2013 23:22 GBee вне форума
GBee
 
Аватар для GBee
2000 раз? Это в коде или тест такой?
Старый 25.02.2013 23:43 iNils вне форума
iNils
 
Аватар для iNils
Взял строчку "word test wood text" и размножил ее 1000 раз, сделал двойной клик по wood - тормозов нет. Довел число строк до 2000 - зависает примерно на секунду, может чуть меньше.
Старый 25.02.2013 23:58 GBee вне форума
GBee
 
Аватар для GBee
Нагрузочный тест. Надеюсь никогда такого кода не увижу. :о)
Старый 26.02.2013 00:36 iNils вне форума
iNils
 
Аватар для iNils
Я не только для кода его использую.
Старый 26.02.2013 02:52 wvxvw вне форума
wvxvw
 
Аватар для wvxvw
Кстати, если надумаешь допиливать, я просто такого больше в других редакторах не встречал. Просто мысли о том, что вообще можно сделать:

В Эмаксе есть M-x highlight-phrase и M-x highlight-regexp.
Как работает: (они почти одинаковые, за исключением того, что -regexp будет использовать регулярное выражение для поиска.)
- При вызове функции сначала у пользователя запрашивается подстрока по которой искать, что подсвечивать (по умолчанию подставляется слово под курсором), а следующим шагом предлагается выбрать стиль подсветки (вобщем, просто цвет фона, но можно отдельно задать, что в это входит - хочешь, хоть гиперссылками сделать можно, или там чтобы невидимыми становились...).
- Вызывать можно несколько раз, и предыдущая подсветка не отменяется.
- Чтобы отменить предыдущую подсветку: M-x unhighlight-{phrase, regexp} (так, что можно выборочно снять подсветку)

Вобщем, удобная штука, когда нужно какие-нибудь табличные данные редактировать.
Старый 26.02.2013 03:06 Simplifier вне форума
Simplifier
Так вроде и без плагина подсветка срабатывает. Только не просто по двойному клику, а с зажатым контролом. Ну и меток не показывается, да
Старый 26.02.2013 04:49 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
Прикольно, не понятно только зачем дабл клик, я бы сразу подсвечивал, если курсор на слове. На много удобнее.
Старый 26.02.2013 15:38 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Кстати, если надумаешь допиливать
Ну это вряд ли)
Плагин не мой, я только привел его к привычному для меня виду. Да и цели такой не было.
У меня своих полно недоделанных)
Цитата:
Так вроде и без плагина подсветка срабатывает. Только не просто по двойному клику, а с зажатым контролом. Ну и меток не показывается, да
В FD4 появился? Раньше не было, а я только сейчас на FD4 собираюсь переходить.
Попробовал. Лично мне не удобно еще контрол зажимать, лишние действие.
Цитата:
Прикольно, не понятно только зачем дабл клик, я бы сразу подсвечивал, если курсор на слове. На много удобнее.
Это будет крайне неудобно:
1. Плагин будет постоянно срабатывать в холостую. И страница с кодом будет как новогодняя елка, то одну группу подсветит, то другую.
2. Нельзя зафиксировать результат. Любой сдвиг курсора в сторону приведет к потере выделения нужного слова и выделит другую группу.
Старый 26.02.2013 15:50 джонатан вне форума
джонатан
 
Аватар для джонатан
Как устанавливать?

Копируем файл .dll в папку Program Files\FlashDevelop\Plugins
Перезапускаем FlashDevelop.
Обновил(-а) джонатан 26.02.2013 в 16:01
Старый 26.02.2013 15:56 iNils вне форума
iNils
 
Аватар для iNils
джонатан, это русскоязычный форум.
Старый 26.02.2013 16:03 джонатан вне форума
джонатан
 
Аватар для джонатан
iNils, ок, я перевёл в кратце.
Штука полезная, но вот после дабл клика, как убрать подсветку то?
У меня горит не потухая, пока другое слово не выберу. Как-то не очень это клёво.
Старый 26.02.2013 16:10 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Как устанавливать?
Это все должны знать и так)
Цитата:
но вот после дабл клика, как убрать подсветку то?
Даблклик в любом пустом месте документа.
Обновил(-а) iNils 12.07.2013 в 13:31
Старый 26.02.2013 16:38 nOobCrafter вне форума
nOobCrafter
Хорошо если бы была возможность снятия выделения по нажатию клавиши Esc.
Старый 26.02.2013 18:05 джонатан вне форума
джонатан
 
Аватар для джонатан
Цитата:
Даблклик в лубом пустом месте документа.
Вот вам и лишние действие возмещающее зажатый ctrl.
Старый 26.02.2013 18:26 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Хорошо если бы была возможность снятия выделения по нажатию клавиши Esc.
Может возникнуть конфликт с другими функциями, которые будут требовать нажатие Esc.
Цитата:
Вот вам и лишние действие возмещающее зажатый ctrl.
Как можно сравнивать эти два варианта, когда у них разная логика снятия выделения?
1. Вариант с ctrl: Любое действие мышью или клавиатурой снимает выделение.
2. HighlightSelection: Выделение снимается только по двойному клику в пустом месте или изменении документа. Ни просто клик, ни перемещение курсора с клавиатуры выделение не снимает. Что удобно когда нужно выделить весь текст между двумя найденными словами.

Теперь касательно возмещения. Допустим у меня два списка слов, часть слов у них совпадает. Слова идут там вперемешку, а мне нужно оставить только оригинальные. Я просто кликаю по слову в первом списке, смотрю, выделяется ли слово во втором и жму delete. Одна рука на мышке, другая на delete. Сброс выделения я сделаю один раз, в самом конце списка.
А с ctrl я буду постоянно прыгать от ctrl до delete.
Старый 26.02.2013 20:44 джонатан вне форума
джонатан
 
Аватар для джонатан
Убедительно.
Пожалуй соглашусь с вами.
Старый 27.02.2013 00:14 spirit2 вне форума
spirit2
Плюсик в карму. Спасибо, нужная вещь.
Старый 27.02.2013 11:40 Волгоградец вне форума
Волгоградец
 
Аватар для Волгоградец
Отлично. В четвертом фд перестал работать этот плагин, что очень расстроило. Спасибо!
Старый 27.02.2013 17:31 Asfel вне форума
Asfel
Так в обычном ФД ктрл+дабл клик же то же самое делает
Старый 27.02.2013 17:35 illuzor вне форума
illuzor
 
Аватар для illuzor
Волгоградец, на форуме fd ближе к концу темы давно есть ссылка на рабочую версию для fd4.
iNils, спасибо за доработанную версию.
Старый 27.02.2013 19:21 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Так в обычном ФД ктрл+дабл клик же то же самое делает
Прочитайте комментарии и поймете, что есть различия.
Старый 28.02.2013 17:44 pas.delger вне форума
pas.delger
 
Аватар для pas.delger
Как-то его пробовал, очень напрягали периодические слёты во время каких-нибудь активных действий. В итоге получалось так что висела хренова туча этих маркеров в документе и приходилось заново открывать что бы сбить. Вот это бы пофиксить (:
Старый 28.02.2013 18:02 iNils вне форума
iNils
 
Аватар для iNils
Я им несколько лет активно пользуюсь, не сталкивался с подобным ни разу.
Старый 28.02.2013 18:14 pas.delger вне форума
pas.delger
 
Аватар для pas.delger
Установил сейчас еще раз, вспомнил что не понравилось. Часто пользуюсь двойным кликом для выделения слова, и каждый раз при этом экран розовеет. Ну т.е. плагин срабатывает тогда, когда я его об этом не прошу, вот (: Но это конечно дело вкуса...
 

 


Часовой пояс GMT +4, время: 01:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.