Vitaliy Kostrubko:
Теперь номерация Логов стала проще и быстрее !
Пользуйтесь, если кому-то надо ! ) ![]()
Vitaliy Kostrubko:
Пользуйтесь, если кому-то надо ! )
А зачем?Пользуйтесь, если кому-то надо ! )
Чем __LINE__ не устраивает?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Итак, в процессе программирования я столкнулся с потребностью "писать номера строк" в Логах ! чтобы читая Журнал Логов - ориентироваться не только на показатели Логов, а и видеть: НОМЕР СТРОКИ особо-важных Логов !!!
Сперва это делал тупо-глупо ВРУЧНУЮ, например:
Print("DEBUG START (строка 2828): ExecuteInformFromPanel()");
...но потом перебирать 3500+ строк кода и заменять все устаревшие номера строк на новые - согласитесь - ДОЛГО и НЕУДОБНО !!!
Тогда , будучи пользователем ЧатаGPT я его начал телебонить - КАК по маркерам в текстовой строки - сделать АВТО-ЗАМЕНУ старого номера строки на новый ?!
ЧатаGPT честно ответил что АВТОМАТИЧЕСКИ этого сделать НЕЛЬЗЯ !
Но в Notepad++ есть возможность написать скрипт, который будет искать "шаблон" (например: "строка 1234") и менять <старое число > на <новое число > (т.е. обновлять номера строк) !
...порекомендовал поставить плагин "NppExec" , написал с десяток скриптов ... но увы - всё оказалось сложно и неработало ... потом сменили кирилицу (строка) на латиницу (stroka) но и это НЕ ПОМОГЛО !!!
Потом Искусственный Импровизатор предложил: можно попробовать сделать РУЧНОЙ ПОИСК/ЗАМЕНА ... и дал ВОЛШЕБНУЮ комбинацию для поиска "шаблона" и замены старого номера строки на новый !!!
... в сухом остатке после теста - пишу годный Лайфхак на случай если кому-то вдруг тоже надо (!?!)
Шаг 1 - подготовка:
1) Сперва весь наш код из MetaEditor4-5 загоняем в Notedad++ и генерим номера строк В НАЧАЛЕ строки:
Ctrl+A – выделить всё !
ALT+C – Текст для вставки (задаём "пробел" - это даст пробел между номером строки и строкой) –> Ок
Ctrl+A – выделить всё !
ALT+C – Число для вставки : Исходное число: 1, Увеличение на: 1 –> Ок
(после каждой операции – ПЕРЕВЫДЕЛЯТЬ ВЕСЬ текст для корреткной генерации).
Шаг 2 - работа по обновлению строк ВНУТРИ вашего текста:
2) … после номерации строк: через Поиск/Замену выполняем п.4 (ниже),
3) После перенумерации номеров строк В ЛОГАХ – перед возвращением кода в MetaEditor -->> обязательно удаляем номера строк В НАЧАЛЕ строк (чтобы компилятор кода не ругался на пустые числа в начале строк):
(!) Основной процесс по обновлению номеров строк в Логах:
4) Один проход “обновить любые стр.N”
Ctrl+H (Поиск / Замена):
Поиск (+поставить галочку "Регуляр.выражен."):
^(\s*)(\d+)([^\r\n]*?\bстр\.)\d+([^\r\n]*)(\R?)
Заменить на:
\1\2\3\2\4\5
Это:
· сохраняет ведущие пробелы \1,
· сохраняет номер слева \2,
· меняет число после str. на \2,
· сохраняет конец строки \5 (чтобы не было склеек).
результат:
Было:
616 Print(StringFormat("PPB (стр.720): возврат отложен до ПОСЛЕ скриншота (oldScalePtPerBar=%s oldPointsPerBar=%.5f)",
стало:
616 Print(StringFormat("PPB (стр. 616): возврат отложен до ПОСЛЕ скриншота (oldScalePtPerBar=%s oldPointsPerBar=%.5f)",
Теперь номерация Логов стала проще и быстрее !
Пользуйтесь, если кому-то надо ! )