Некоторые старые инструменты предназначены для работы с внешним текстовым редактором. Я застрял, используя устаревший инструмент, который делает это следующим образом:
- Создайте временный файл с содержимым для редактирования.
- Запустите указанное пользователем приложение, добавив путь к временному файлу в качестве аргумента.
- Дождитесь закрытия запущенного приложения (возможно, отслеживает PID)
- Проверьте, обновлен ли временный файл, используя поле «Дата изменения», и загрузите обновленные данные.
Я пытался использовать этот инструмент (который не может быть легко изменен) с Notepad++. У меня были некоторые проблемы с этим, потому что инструмент только контролирует временный файл, пока приложение, которое это запустило, не закрывается. При запуске нового экземпляра процесса Notepad++ по умолчанию открывается файл в любом уже открытом экземпляре Notepad++ в виде вкладки и закрывается новый процесс. Это приводит к тому, что инструмент думает, что редактор был немедленно закрыт, а затем пропускает любые изменения, которые действительно имеют место.
Я могу обойти это, заставляя Notepad++ всегда запускаться в новом экземпляре, используя аргумент командной строки -multiInst. Я хотел бы иметь возможность открывать временные файлы в виде вкладок, так как я также использую некоторые плагины Notepad++, которые работают на вкладках (но не на всех экземплярах).
У кого-нибудь есть идеи решения? Было бы здорово, если бы я мог заставить Notepad++ открывать файл в виде вкладки, но при этом иметь запущенный процесс в памяти, пока файл еще открыт. Я думаю, это будет похоже на один процесс на модель вкладки, который использует Chrome. Я также рассмотрел возможность запуска Notepad++ косвенно через командный файл или аналогичный файл, но я не знаю, как определить, когда вкладка / файл был закрыт в Notepad++.