SimpleIndent
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Плагин BlockIndent намакрось себе на что угодно.CyberShadow wrote:Наверное что-то такое уже есть, я просто не могу найти. Просто надо чтоб при выделённом блоке нажал Таб - чтоб вставлялся симбол табуляции или сколько-там-у-вас-настроено пробелов перед каждой выделенной строкой. Если нажал Шифт+Таб, чтоб по одному табу или столько же в пробелах убрались.
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Попробовал - работает не очень. Не может определить если я выбрал пару линий или нет. Даже если я в опциях макроса поставлю опцию чтобы маркос работал только если выделен блок, то всё равно если у меня выделена часть строки, кнопка Tab вызывает плагин который идентирует текущую строку, а не вставляет таб как полагается в данной ситуации.
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
CyberShadow
Ничего не понял. Кто не может определить? Какие у тебя макросы? И так для общего сведенья плагин интдентирует выбраный блок если курсор находится прямо возле блока или внутри него - если нет то индентирует текущюю строку. Ну и табы вставляются всегда в начало каждой выбраной строки (пофиг где начинается выделение).
Ничего не понял. Кто не может определить? Какие у тебя макросы? И так для общего сведенья плагин интдентирует выбраный блок если курсор находится прямо возле блока или внутри него - если нет то индентирует текущюю строку. Ну и табы вставляются всегда в начало каждой выбраной строки (пофиг где начинается выделение).
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Плагин я поставил на макрос на клавишу Таб, с опцией "Block selection present" (выполнять макрос только при присутствии выделения). Плагин неадекватно себя ведёт в этом случае: если я выделяю что-то, хоть слово или букву, а потом ставлю курсор хоть и на другую строку и нажму Таб, то плагин будет идентировать текущую строку, а не вставлять таб у курсора, из за того что выбран блок (хоть этот блок и не полная строка и вообще на другой строке). Видимо, автор не использует "Persistent blocks"t-rex wrote:CyberShadow
Ничего не понял. Кто не может определить? Какие у тебя макросы? И так для общего сведенья плагин интдентирует выбраный блок если курсор находится прямо возле блока или внутри него - если нет то индентирует текущюю строку. Ну и табы вставляются всегда в начало каждой выбраной строки (пофиг где начинается выделение).

- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Табулятор
Подправил. Вот уже год как успешно использую. Думаю поделится с остальными, но хочу ещё раз проверить что такого ещё нету и что я не изобретаю колесо.
Проблема:
Хотелось умного табулятора, вызываемого при нажатии кнопки Tab, в стиле сред разработки от Microsoft/Borland/CodeGear.
Плагин BlockIndent меня не устроил потому что с ним неудобно работать если его поставить на кнопку Tab. При вызове плагина, он индентирует всегда, даже если ничего не выделено. В свойства макроса есть функция срабатывания только при наличии выделения, но часто бывает что либо где-то выделил блок и забыл о нём (и пишешь код в совсем другом месте), или выделил кусок текущей строки (прямо после вставки текста, например). В таких случаях идентировать по нажатии Tab не в место.
Разница между моим плагином и плагином BlockIndent написанного многоуважаемым t-rex-ом:
* вместо того чтобы добавлять себя в список плагинов и требовать настройки макросов, он обрабатывает напрямую ввод в редакторе
* плагин срабатывает только при случае если выделены целые строки, и курсор находится внутри или в конце блока (на строке следующей последнюю линию в блоке), а также в начале строки
* плагин индентирует только символом таба, следует добавить использование настройки редактора, но сам индентирование с пробелами никогда не использую...
Как использовать плагин:
* поставить курсор в начало первой строки которую следует индентировать, или на строку ниже последней
* используя Shift + стрелки вверх/вниз выделить строки для индентирования
* нажать Tab или Shift+Tab
Проблема:
Хотелось умного табулятора, вызываемого при нажатии кнопки Tab, в стиле сред разработки от Microsoft/Borland/CodeGear.
Плагин BlockIndent меня не устроил потому что с ним неудобно работать если его поставить на кнопку Tab. При вызове плагина, он индентирует всегда, даже если ничего не выделено. В свойства макроса есть функция срабатывания только при наличии выделения, но часто бывает что либо где-то выделил блок и забыл о нём (и пишешь код в совсем другом месте), или выделил кусок текущей строки (прямо после вставки текста, например). В таких случаях идентировать по нажатии Tab не в место.
Разница между моим плагином и плагином BlockIndent написанного многоуважаемым t-rex-ом:
* вместо того чтобы добавлять себя в список плагинов и требовать настройки макросов, он обрабатывает напрямую ввод в редакторе
* плагин срабатывает только при случае если выделены целые строки, и курсор находится внутри или в конце блока (на строке следующей последнюю линию в блоке), а также в начале строки
* плагин индентирует только символом таба, следует добавить использование настройки редактора, но сам индентирование с пробелами никогда не использую...
Как использовать плагин:
* поставить курсор в начало первой строки которую следует индентировать, или на строку ниже последней
* используя Shift + стрелки вверх/вниз выделить строки для индентирования
* нажать Tab или Shift+Tab
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: Табулятор
Выложи пощупать?
PS: ShiftTab — удаляет табы?
А пробелы числом равным настройкам редактора?
PS: ShiftTab — удаляет табы?
А пробелы числом равным настройкам редактора?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- DrKnS
- Posts: 6111
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 425 times
Re: Табулятор
Это не важно – здоровая конкуренция ещё никому не вредила, и вообще – больше плагинов, хороших и разных. Делись.CyberShadow wrote:Думаю поделится с остальными, но хочу ещё раз проверить что такого ещё нету и что я не изобретаю колесо.
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Табулятор
http://thecybershadow.net/dump/d12e487f ... Indent.zip
Пока что документация отсутствует, а исходники в беспорядке и включены только из за лицензии
перед рилизом поправлю.
Shift+Tab удаляет и табы и пробелы (по количеству длины таба).
Пока что документация отсутствует, а исходники в беспорядке и включены только из за лицензии

Shift+Tab удаляет и табы и пробелы (по количеству длины таба).
Re: Табулятор
CyberShadow
Спасибо, tab и shift-tab всегда не хватало.
Нашёл небольшую проблему - при сдвиге влево выделение блока съезжает вправо.
Опции у меня - блоки непостоянные, замена табов пробелами.
Спасибо, tab и shift-tab всегда не хватало.
Нашёл небольшую проблему - при сдвиге влево выделение блока съезжает вправо.
Опции у меня - блоки непостоянные, замена табов пробелами.
- CyberShadow
- Posts: 194
- Joined: Sun 15 Apr, 2007 17:12
- Been thanked: 1 time
- Contact:
Re: Табулятор
Гм. Вообще-то бага в том что функциональность не соответствует "документации" (описания выше). Плагину не следует срабатывать если не выбраны целые строки (т.е. блок от начала одной строки до начала другой строки, и выделение имеет форму прямоугольника по всю ширину окна редактора). Следует вопрос - есть какая-либо польза из этой функциональности? Лично я её не вижу, поэтому уклоняюсь к тому чтобы просто плагин не срабатывал в этой ситуации.Denis wrote:Нашёл небольшую проблему - при сдвиге влево выделение блока съезжает вправо.
Re: Табулятор
При сдвиге вправо - аналогично выделение съезжает вправо быстрее, чем сам блок.
VS полностью сдвигает линии, которые частично захвачены блоком. Но само выделение в блоке
не съезжает.
Так же плагин не корректно работает если выбрана всего 1 строка.
VS полностью сдвигает линии, которые частично захвачены блоком. Но само выделение в блоке
не съезжает.
Так же плагин не корректно работает если выбрана всего 1 строка.