Coder plugin (1)
- Author
- Message
-
Offline
- Posts: 84
- Joined: Fri May 28, 2010 1:28 pm
Мои нескромные "пять копеек" по улучшению Coder'а:
I. Подсветка
- Хотелось бы в диалоге настройки цветов подсветки также видеть и плотность/начертание шрифта.
- Фича или баг хз, но если значение цвета в диалоге пустое (0), визуально выбрать цвет не дает.
- Imo в подсветку стоит добавить цвета для LineBoard, во первых цвета сейчас настраиваются в 3-х местах:
1) Вид->цвета
2) Настройка Lineboard
3) Настройка Coder'a
На мой взгляд Look'n'feel получается довольно странный.
Во-вторых моя обычная тема подсветки (по белому черным) и скажем bespin с одним и тем же цветом в lineboard смотрятся странно.
- Или, к примеру, я пишу на плюсах на wxWidgets и Symbian C++, в первом случае для integer type используется wxInt32, во втором TInt, как по человечески для этих алиасов нарисовать соответствие с int (и что важно, чтобы оно не ломалось при обновлении подсветки) я не придумал.
II. Сворачивание блоков
- Хочется настраивание того, что будет фигурировать в Class Outline (это я так называю панель списка сворачивания), мне например там не нужны блочные комментарии, if/else, while, но нужны некоторые директивы препроцессора #include например нужен, а #ifdef или #define - нет.
- Было бы здорово, если бы в соответствии с темой в Class Outline раскрашивались (выделялись шрифтом) классы, методы, типы возвращаемого значения. (Почему бы для этих целей не использовать например контрол AkelEdit?)
- Кто-то уже давно мечтал о том, чтобы иконками выделять типы в Class Outline, видится довольно геморройная реализация и при реализации пред. пункта не шибко нужная, но мало ли. Поддакну, не убудет
- Было бы неплохо, если бы фон зоны текущего фолдинга подсвечивался цветом (в QtCreator есть такое, в VS 2010 также есть, но только при наведении на область узлов фолдинга). Визуально намного лучше дифференцируется чем просто подсветка узлов.
- Кстати в VS 2010 есть сворачивание не только по клику на узле фолдинга, но и по даблклику на зоне фолдинга, по-моему это тоже довольно удобно (не надо тянутся к узлу, хоткей свернуть/развернуть я забываю постоянно).
Вообще очень здорово конечно, что у "маленького редактора" стремительно растет самая интересная его часть (я про Coder если что)
***
Еще забыл добавить, частично функионал xBrackets по подсветке теперь реализован в coder, как мне заставить xBrackets не подсвечивать то, что подсветил Coder я не разобрался. Я так понял что подсветки таких скобок как например
т.е. не сворачиваемых в coder не будет.
***
Еще одно добавление, как я понимаю визуально настроить для подсветки шрифт я не могу (кроме ковыряния вручную *.coder файла). Есть ли какой способ сделать override т.е. например в сорцах мне хотелось бы Consolas, в текстовых документах Courier New и чтобы это не отваливалось при изменении/апгрейде coder'а.
***
Есть бага:
#else-#endif подсвечивает (TagMarkBkColor)
#ifdef-#else нет
Возможно трудности тех. реализации но тем не менее.
I. Подсветка
- Хотелось бы в диалоге настройки цветов подсветки также видеть и плотность/начертание шрифта.
- Фича или баг хз, но если значение цвета в диалоге пустое (0), визуально выбрать цвет не дает.
- Imo в подсветку стоит добавить цвета для LineBoard, во первых цвета сейчас настраиваются в 3-х местах:
1) Вид->цвета
2) Настройка Lineboard
3) Настройка Coder'a
На мой взгляд Look'n'feel получается довольно странный.
Во-вторых моя обычная тема подсветки (по белому черным) и скажем bespin с одним и тем же цветом в lineboard смотрятся странно.
- Или, к примеру, я пишу на плюсах на wxWidgets и Symbian C++, в первом случае для integer type используется wxInt32, во втором TInt, как по человечески для этих алиасов нарисовать соответствие с int (и что важно, чтобы оно не ломалось при обновлении подсветки) я не придумал.
II. Сворачивание блоков
- Хочется настраивание того, что будет фигурировать в Class Outline (это я так называю панель списка сворачивания), мне например там не нужны блочные комментарии, if/else, while, но нужны некоторые директивы препроцессора #include например нужен, а #ifdef или #define - нет.
- Было бы здорово, если бы в соответствии с темой в Class Outline раскрашивались (выделялись шрифтом) классы, методы, типы возвращаемого значения. (Почему бы для этих целей не использовать например контрол AkelEdit?)
- Кто-то уже давно мечтал о том, чтобы иконками выделять типы в Class Outline, видится довольно геморройная реализация и при реализации пред. пункта не шибко нужная, но мало ли. Поддакну, не убудет
- Было бы неплохо, если бы фон зоны текущего фолдинга подсвечивался цветом (в QtCreator есть такое, в VS 2010 также есть, но только при наведении на область узлов фолдинга). Визуально намного лучше дифференцируется чем просто подсветка узлов.
- Кстати в VS 2010 есть сворачивание не только по клику на узле фолдинга, но и по даблклику на зоне фолдинга, по-моему это тоже довольно удобно (не надо тянутся к узлу, хоткей свернуть/развернуть я забываю постоянно).
Вообще очень здорово конечно, что у "маленького редактора" стремительно растет самая интересная его часть (я про Coder если что)
***
Еще забыл добавить, частично функионал xBrackets по подсветке теперь реализован в coder, как мне заставить xBrackets не подсвечивать то, что подсветил Coder я не разобрался. Я так понял что подсветки таких скобок как например
Code: Select all
if (b != a)
...
***
Еще одно добавление, как я понимаю визуально настроить для подсветки шрифт я не могу (кроме ковыряния вручную *.coder файла). Есть ли какой способ сделать override т.е. например в сорцах мне хотелось бы Consolas, в текстовых документах Courier New и чтобы это не отваливалось при изменении/апгрейде coder'а.
***
Есть бага:
Code: Select all
// blabla.cpp
#ifdef __BLABLA__
talks=true;
#else
talks=false;
#endif
#ifdef-#else нет
Возможно трудности тех. реализации но тем не менее.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Сейчас никак. Только вручную добавлять. И не забывать корректировать после каждого обновления.- Или, к примеру, я пишу на плюсах на wxWidgets и Symbian C++, в первом случае для integer type используется wxInt32, во втором TInt, как по человечески для этих алиасов нарисовать соответствие с int (и что важно, чтобы оно не ломалось при обновлении подсветки) я не придумал.
Для упрощения восстановления ваших изменений после обновления я бы поступил так(на примере coder)
1. Иметь две папки: оригинал(поместить куда-то в сторону) (усл. обознач. O) и модифицированные(в AkelFiles\Plugs\Coder) (усл. обознач. M).
2. Перед обновлением svn diff O M >coder.patch (git diff, diff -u или другое удобное/привычное/валяющееся под рукой)
3. Запускаем автообновление(все .coder файлы будут замещены)
4. Копируем все coder-файлы из папки M в папку O
5. svn merge в папке M с патч-файлом coder.patch
Это всё в батник для автоматизации.
Конечно это не спасет от работы руками при качественных изменений формата, но при количественных всё будет хорошо.
Главное что фолдинг правильно находит. А подсветка - уже второстепенно.Есть бага:
Возможно трудности тех. реализации но тем не менее.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Добавлено: подсветка узлов с флагом 128.
Исправлено: редактирование тэга XML при активной подсветке тэгов.
Исправлено: изменение переменных "HighLight_AutoMark*" требовало перезагрузки программы.
Added: nodes highlighting with 128 flag.
Fixed: XML tag editing with active tag marking.
Fixed: variables "HighLight_AutoMark*" change required program restarting.
Coder plugin v3.5
Исправлено: редактирование тэга XML при активной подсветке тэгов.
Исправлено: изменение переменных "HighLight_AutoMark*" требовало перезагрузки программы.
Added: nodes highlighting with 128 flag.
Fixed: XML tag editing with active tag marking.
Fixed: variables "HighLight_AutoMark*" change required program restarting.
Coder plugin v3.5
-
Offline
- Posts: 31
- Joined: Fri Nov 12, 2010 12:05 pm
Есть предложение добавить в ini.coder строку (вторая в примере ниже) для подсветки удаляемых разделов в reg-файлах.
Code: Select all
;517=1+4+512
517 2 ${DEL1} 0 "[-" "]" "" "" ""
517 2 0 0 "[" "]" "" "" ""
-
Offline
- Posts: 84
- Joined: Fri May 28, 2010 1:28 pm
Спасибо за экспириенс (совершенно серьезно), но я пока надеюсь на вменяемое решение "из коробки".FeyFre wrote: Для упрощения восстановления ваших изменений после обновления я бы поступил так
...
Вообще конечно каждый волен иметь свое собственное мнение, однако проблема исправлена обновлением (спасибо за это) - значит не второстепенно.FeyFre wrote:Главное что фолдинг правильно находит. А подсветка - уже второстепенно.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
se7h
Отладочная информация мало что дает. Недавно благодаря denis268 была исправлена ошибка при использовании переноса по словам. Как будет работать версия 3.6?
Отладочная информация мало что дает. Недавно благодаря denis268 была исправлена ошибка при использовании переноса по словам. Как будет работать версия 3.6?
Last edited by Instructor on Thu Dec 09, 2010 12:16 pm, edited 1 time in total.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Исправлено: обновление кэша при использовании переноса по словам.
Fixed: cache update with using word wrap.
Coder plugin v3.6
Fixed: cache update with using word wrap.
Coder plugin v3.6
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
js.coder:
Вроде, и удобно, но полноценной реализации не получается. По идее, нужно искать следующий break; прямо перед case:
Code: Select all
Folds:
;=============================================================
;Flags Font Color Color Fold Fold Delimiters
; style text bkgrnd start end
;=============================================================
;5=1+4
5 0 0 0 "case" "break" " :;"
5 0 0 0 "default" "break" " :;"
5 0 0 0 "case" "}" " :;"
5 0 0 0 "default" "}" " :;"
;2053=1+4+2048
2053 0 0 0 "case" "case" " :;"
2053 0 0 0 "case" "default" " :;"
2053 0 0 0 "default" "case" " :;"
Code: Select all
switch(something) {
default: // с такими штуками тоже проблемы
case 0:
case 1:
if(qwe)
break; // не оно
// ...
break; // оно
case 2:
// ...
}
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Code: Select all
2053 0 0 0 "default" "case" " :;"