PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » PureBasic для Windows » [IDE Tool] CompareSources


[IDE Tool] CompareSources

Сообщений 1 страница 4 из 4

1

CompareSources

инструмент для сравнения исходников внешней программой сравнения, например WinMerge

Скачать yandex.ru
Тема на англ. форуме

Установка: всё стандартно, кладём в папку инструментов добавляем как инструмент с параметрами "%FILE" "%TEMPFILE". У не сохранённых переменная %FILE пуста, поэтому будет использоваться "%TEMPFILE". А у сохранённых не логично использовать "%TEMPFILE", так как в проге сравнения будут темповые имена сравниваемых файлов.

Применение: для простоты лучше добавить хоткей на вызов инструемента, у меня не занята Alt+Y. Жмём хоткей на одной вкладке, переключаемся на другую вкладку и жмём опять хоткей, при этом эти два исходника откроются в WinMerge или в другой заданной в ini-файле проге.

Я вынашивал планы добавить эту фичу с неделю, так как в AkelPad есть скрипт winMergeTabs.js делающий аналогичное, с чуть лучшим алгоритмом, там второй раз хоткей вызывать не надо, клик на новую вкладку активирует сравнение. Но для такого функционала нужно встраивать его в IDE, чтобы он реагировал на смену вкладки.

ini-файл:
firstsrc = здесь путь для первого захваченного исходника, на втором выборе исходника он сбрасывается в пустую строку.
prog = C:\Program Files\WinMerge\WinMergeU.exe - прога сравнения
arg = "%f1" "%f2" - тут аргументы, которые могут отличатся в разных программах, поэтому они выведены отдельно. Для WinMerge можно добавить \e (Esc - для закрытия) и \x (не открывает окно при одинаковых файлах, а только сообщает в мессаге)
time = 1734100314 - метка времени захвата первого исходника
timediff = 300 - интервал между захватом первого и второго исходника (в секундах), если он превысил 5 минут (60*5=300), то сбрасывается сравнение. Например выбрал первый, а сравнение не стал выполнять, если забыть и потом начать новую попытку сравнения, то она могла бы вызов принять за второй, поэтому если произошла задержка в сравнении, то это воспринимается как отказ и сброс.

Хотелки:
1. Как то определить смену вкладки, один из вариантов прога должна висеть в процессах и проверять смену текущего дескриптора Scintilla на другой.
2. Добавить возможность указать 2 и более прог сравнения, и если это случилось, то инструмент выдаёт окошко с кнопками какой из двух и более прог использовать для сравнения исходников.
3. %TEMPFILE имеет разные имена при сравнении одной и той же вкладки самой с собой. Вот это бы как исключить и выдать что используете ту же вкладку. Возможно получить дескриптор Scintilla и при вызове того же исходника с тем же дескриптором будет критерием для предупреждения что пользователь ошибся.

Отредактировано AZJIO (14.12.2024 00:15:58)

0

2

Чего только не придумают, лишь бы git не ставить.

0

3

Замабувараев написал(а):

Чего только не придумают, лишь бы git не ставить.

А чем тут git поможет?

0

4

Замабувараев написал(а):

Чего только не придумают, лишь бы git не ставить.

Там же не история версий, там может быть два примера взятые с форума, например несколько пользователей хотят вставить свои фичи в код, преобразуя код автора, выкладывая свои модернизации, а также и новые версии от автора. Это не предназначено для выкладывания в git как свой проект и слежение за изменениями. У меня исходники для интернета в отдельной папке, и я могу развивать три версии и забыть обновить в интернет версии и начинаешь сравнивать а какая из трёх версий в интернетной, да ещё она не совпадает ни с одной, а просто проверить некоторые фичи, а если ещё и с линукс версии там вообще запутаешься, то в винде обновляешь то в линуксе, потом вспоминаешь где что. Так git не нужен.

Сейчас поюзал на линуксе, заработало прям сразу, с первой попытке в meld открылось. Просто скомпилировал две версии i386 и x64, всё в архиве.

0


Вы здесь » PureBasic - форум » PureBasic для Windows » [IDE Tool] CompareSources