Страница 9 из 20
Добавлено: Вт авг 08, 2006 09:33
sepa
Ну проверь вот
эту (600kb)
Если очень быстро выделять может I/O error показывать, но это из-за того что в один файл пишет из разных thread'ов
log.txt тогда на мыло кинь, когда потестишь
Добавлено: Вт авг 08, 2006 23:36
WhiteWind
Вот, все время забываю сказать, что при попытке сохранения больших (2.5 МБ) файлов Syn виснет, а SynEdit сохраняет моментально.
И ещё: в syn.exe ReadOnly всегда выключен, это правильно. Но зачем же сохранять это в истории?
Добавлено: Ср авг 09, 2006 13:15
KF-121
Syn 0.8
[-]
1. Не правильно работает поиск и замена. Как это показанно на рисунке.

1.1 Начинает искать не от курсора, а от своего внутреннегог счетчика. Если к примеру нажать пару раз Find Next, а потом переместить курсор выше, то он проболжает искать от туда где остановился перед этим.
1.2 В окне поиска и замены по табуляции перескакивало из мемки поиска в мемку замены, а не по кнопочкам.
2. После сортировки 5000 строк, плагин сожэрал 1.3 Gb памяти, и не очистил как закончил сортировать, такде и после выхода он не почистил память.
Добавлено: Пт авг 11, 2006 12:20
sepa
в syn.exe ReadOnly всегда выключен, это правильно. Но зачем же сохранять это в истории?
поправил
2
KF-121
1. Движок pcre теперь другой, так что этот баг мне не найти. Надеюсь и не будет его.
1.1 Теперь будет всегда F3, Shift-F3 делать от курсора. Так что опции 'search from caret' и 'search in selection' будут актуальны только с маркерами или ReplaceAll.
1.2 а как табуляцию вводить тогда? По Shift-Tab могу сделать переход между мемками
2. поправил
Добавлено: Пт авг 11, 2006 14:07
KF-121
sepa писал(а):
1.2 а как табуляцию вводить тогда? По Shift-Tab могу сделать переход между мемками
Так он и не вводит табуляцию, а сразу переходит к кнопке Find Next, из-за этого я и предложил чтобв прехдило по мемкам.
А в быстром поиске есть какие нибудь опции типа Match Case и фразу целиком? Что то типа в инишке или в диалоге настроек.
Еще вот что заметил.
3. Сделать чтобы когда курсор мыши находился на Code Explorer и крутилось колесо, прокручивался Code Explorer а не основное поле!
4. Если открыт диалог настроек то во-первых в списке окнон( Alt+Tab) не чего тоталовского нет кроме этил настроек. Во-Вторых тотал становится недоступным.
5.Не корректно работает вставка в режиме выделенеия колонкой. Если текст был скопирован колонкой, то вставляется он уде не колонкой, а обычно, т.е. сдвигает все строки!
Добавлено: Пт авг 11, 2006 19:53
WhiteWind
Ещё вспомнил: хочу запись клавиатурных макросов, как в Delphi 7 по Ctrl+Shift+R/Ctrl+Shift+P.
Очень полезная вещь.
Добавлено: Вс авг 13, 2006 18:07
sepa
2
KF-121
4. уже писали, пока не знаю как исправить
5. для вставки колонкой надо вначале переключить режим выделения на колонку.
остальное поправил
2
WhiteWind
По моему бесполезная функция, ни разу ей не пользовался =) Но в SynEdit вроде есть, погляжу если не трудно прикрутить то можно было бы.
v 0.9
- RegEx now is perl5.8 compatible. You can use naming braces in Detect strings.
- Improved ACP of tag names
- RegEx replacing (Ctrl-R) support captured substrings ($1 ... $N , $<SubStringName>)
- ReadOnly state not saved in history when opened thru syn.exe
- Much faster ReplaceAll
- Bug with long time save when non CRLF line endings
- Memory leak when sort lines
- Search/Replace window is now resizable. F3, Shift-F3 & Alt-shortcut key now works in it
- Added 'Want Tabs' option for Search/Replace text areas.
- 'Cancel' button added to dialog asking for save when close by Alt-F4 or system button
- Scroll CodeExplorer by MouseWheel when cursor over it
- Some CodeFolding bugs fixed (thanx DavidCl0nel)
- Ctrl-Click for open links ( file://c:/ ) and go to function declaration
Итак основные новинки:
Именовыные скобки в Detect strings. Имена следующие: name (для имени функции/ переменной), params (параметры функции включая скобки), type (тип возращаемого значения, необязательно), index (для переменных, индексная часть массива). Т.е. теперь можно использовать вместо
(function)\s+([a-z_]+[a-z_0-9]+)\;?\s*?(\([^\)]*?\))?\s*?\{
например
function\s+(?P<name>[a-z_]+[a-z_0-9]+)\;?\s*?(?P<param>\([^\)]*?\))?\s*?\{
и проблема второй скобки должна отпасть. Пока написал DetectString используя именованные скобки только для php. Для остальных языков если кто напишет более качественные строки, выкладывайте здесь, включу в дистрибутив.
И еще появилась возможность переходить по ссылкам кликая мышкой с нажатым Ctrl. Чтобы это работало нужно чтобы в подсветке был определен стиль с именем 'Links'. Пока сделал в качестве примера в подсветке txt.hgl. Весь найденный токен при щелчке передается в функцию ShellExecute (аналог Start->Run). Так что можно использовать любые ссылки которые распознает эксплорер. Так же теперь можно переходить к месту определения функции через Ctrl-Click на ее имени.
PS На wincmd сейчас меняют пароли в панели аворов, поэтому пока нет возможности залить плагин сюда. Пока можете скачать на
домашней страничке (670kb).
Добавлено: Вс авг 13, 2006 19:14
WhiteWind
По моему бесполезная функция, ни разу ей не пользовался =)
Не скажи, бывает очень полезна. Допустим есть такой код:
Код: Выделить всё
Lang:=Ini.ReadString('Main', 'Lang', Lang);
ReportFileName:=Ini.ReadString('Report', 'FileName', '');
ReportBegin:=Ini.ReadString('Report', 'Begin', '');
ReportFile:=Ini.ReadString('Report', 'File', '');
ReportEnd:=Ini.ReadString('Report', 'End', '');
SRFileName:=Ini.ReadString('SearchReplace', 'SRFileName', '');
SRSearchExpr:=Ini.ReadString('SearchReplace', 'SRSearchExpr', '');
SRReplace:=Ini.ReadString('SearchReplace', 'SRReplace', '');
SROverwrite:=Ini.ReadBool('SearchReplace', 'SROverwrite', False);
SRSearchFiles:=Ini.ReadBool('SearchReplace', 'SRSearchFiles', False);
SRRenameFiles:=Ini.ReadBool('SearchReplace', 'SRRenameFiles', True);
SRKeepOldFiles:=Ini.ReadBool('SearchReplace', 'SRKeepOldFiles', True);
SRCreateDirs:=Ini.ReadBool('SearchReplace', 'SRCreateDirs', False);
RegExprEnabledSnR:=Ini.ReadBool('SearchReplace', 'RegExprEnabledSnR', True);
RegExprExpandSpacesSnR:=Ini.ReadBool('SearchReplace', 'RegExprExpandSpacesSnR', False);
И надо сделать обратное - запись в ини файл. Включаем запись макроса, аккуратно (с копированием/вставкой) проделываем это
с первой строчкой, а остальные - одним нажатием.
Добавлено: Пн авг 14, 2006 11:56
Maximus
Пытался поиском/заменой заменить пробел на черточку.
Поменяло весь выделенный мною текст на черточку (кнопка Replace). Так и должно быть??
Кнопка ReplaceAll ничего не сделала.
А пробелы тоже иногда хочется на что-то заменить

Потом еще поэкспериментировал: Search=" 0" Replace="-". Нажал Replace. Как результат - выделенный текст был заменен на "-" и заодно выполнился поиск " 0" (была у меня такая комбинация в конце файла). Опция "Selected text only" на ситуацию никак не влияет.
Добавлено: Вт авг 15, 2006 13:42
sepa
При нажатии на Replace заменяется выделенный текст. Если ничего не выделено то выполняется SearchNext и выделяет найденное. Так что вы всегда видите что сейчас будет заменено. И можно потом поштучно отменять по Ctrl-Z. Когда выполняется Replace All выделяется весь текст. Так что отмена удалит все изменения. SearchNext SearchPrev выполняются всегда от курсора. Так что опции 'selected text only' и 'search from caret' имеет смысл только если делать Find&MarkAll или ReplaceAll, потому что выделение будет сброшено.
А по поводу того что пробел не ищет - это баг, погляжу.
Добавлено: Вт авг 15, 2006 14:44
KF-121
Syn 0.9
[-]
1.Сделать по нажатию на колесо мыши чтобы открывался/закрывался Code Explorer.
1.1 А лучше добавить настройки клавишь и каждый будет сам настраивать, как ему в кайф.
2. Осталось буг при копировании , галочка на Unicode стоит, но опять каракули. Например из плагина в оперу.
Такой вопрос: Какую надо написать детект сроку для пременных которая бы понимала перечисление переменных типа Dim xxx, dfff, gggg?
Кстати в диалоге замены вводит табуляцию по Ctrl + Tab. пр отключенной Want tabs.
Добавлено: Вт авг 15, 2006 18:44
sepa
2
KF-121
1. подумаю, у меня просто на средней кнопке меню
1.1 это уже просили
2. попробуй в SynPlus там тоже есть возможность скопировать в буфер как unicode. Если там работает, то можно будет спросить как сделали. Потому что у меня все нормально пашет и так и с уникодом в опере.
Детект строку трудно сказать какую. Можно попробовать с lookbehind assertions покопаться. Но на это не расчитано, всегда найдется код который не отловишь регекспами. Например если у тебя переменные будут идти через запятую на каждой строке и после некоторых переменных будет еще и строковый коментарий. Делал я это для php, с ним и работает. Чтоб со всеми языками сделать, это уже лексический анализатор прийдется писать =) Потом еще и вложенность кода определять надо будет=) Если кто может предложить что нибудь простое и универсальное, то давайте обсудим.
Кстати в диалоге замены вводит табуляцию по Ctrl + Tab. пр отключенной Want tabs
ага баг, но проявляется только через syn.exe Там вообще Tab и Alt-shortcut не обрабатывает =(
Очередная тест версия для тех у кого баг с обновлением статусбара
test 3
Добавлено: Вт авг 15, 2006 19:40
Maximus
С версии 0.9 начались гиганские проблемы с Ctrl+Z.
Глюк нестабильный: то есть, то нету.
Проявляется так: выделяю блок, удаляю его, жму Ctrl+Z. Удаленный текст не восстанвливает, но то место, где он находился выделяет.
Прикрутить VBS
Добавлено: Пт авг 18, 2006 15:29
evkogan
Строка для запуска cscript Param2Console.vbs q qq qqq
Скрипт Param2Console.vbs
For I = 0 to WScript.Arguments.Count - 1
Wscript.Echo "param"&I&"="& wscript.arguments(I)
Next
Идея именно в cscript. Он консольный и все эхо на консоль.
А wscript MUI. А он запускается по умолчанию.
Добавлено: Пт авг 18, 2006 18:48
Lev
Syn 0.9 - при попытке просмотра rtf-файла TC вылетает, при отключении Syn 0.9, rtf работает