Откройте два экземпляра Notepad++
Мне бы хотелось, чтобы на рабочем столе было два ярлыка Notepad++, представьте, что у меня установлено два Notepad++, каждый со своим ярлыком exe, это то, что я хочу, так что я смогу работать в двух проектах,
Я перепробовал все с экземплярами, и "multiins" или "atl + f6", но это не работает, как я хочу,
Опять же, это отличается от других вопросов с таким же названием, я хочу, чтобы два ярлыка Notepad++, каждый из которых открывает свои открытые файлы,
если это невозможно, мне нужно будет использовать notepad ++ и sublime-text одновременно, но это будет очень уродливый вариант
Спасибо, я использую блокнот ++ 5.9.6
(представьте, что вы можете открыть notepad ++ и sublimetext, работая с разными проектами в каждом, я хочу это сделать, но только с notepad ++, открывающим две блокнота ++,:P)
8 ответов
Когда вы открываете второй файл, хотя он открывается как вторая вкладка, вы можете просто взять вкладку и перетащить ее из Notepad++, чтобы открыть ее во втором сеансе. Вроде как Firefox, Chrome и IE делают это с помощью вкладок.
Из документации:
Вы можете запустить Notepad++ с помощью
-multiInst
Ключи командной строки. Это позволит запускать дополнительные экземпляры при открытии файлов двойным щелчком или правой кнопкой мыши. Подойдет любая командная строка, включая ту, к которой вы можете получить доступ через Свойства ярлыка на рабочем столе.Вы всегда можете отправить редактируемый документ в другой экземпляр из меню "Вид" или из контекстного меню вкладки или вызвать " Выполнить" -> "Открыть" в другом экземпляре, независимо от этого параметра.
Чтобы вызвать один файл для каждого экземпляра, похожего на блокнот, см. "Подобное блокноту поведение". Это скроет панель вкладок, но вы можете восстановить ее из Настройки -> Настройки -> Панель вкладок.
Вы также можете получить доступ к свойствам контекстного меню проводника и подключить
-multiInst
переключитесь в доступной там командной строке.Настройки -> Настройки -> Виджет настроек Multi-Instance позволяет выбирать между тем, как Notepad++ обрабатывает несколько экземпляров:
- по умолчанию используется режим одного экземпляра
- всегда использовать несколько экземпляров
- открыть сеанс в новом экземпляре
Есть ярлык для открытия в новом экземпляре Alt + F6. Также, если вы хотите всегда открывать в новом экземпляре, чем перейдите в настройки-> настройки-> Несколько экземпляров, здесь вы можете выбрать вариант всегда в режиме нескольких экземпляров.
Зайдите в Настройки -> Настройки -> Мультиэкземпляр, выберите "всегда в режиме нескольких экземпляров"
Наконец нашел как это сделать:
- Настройки > Настройки > Мультиэкземпляр > Всегда в режиме мультиэкземпляра
- Если новый файл, мультиэкземпляр не работает. Сначала нужно сохранить этот файл, а затем переместить вкладку из окна.
Notepad++ работает на одном экземпляре, даже если он работает в разных окнах. Другой пример такого приложения можно найти в Microsoft Office Excel. Вы открываете файлы Windows, но он запускается ровно на одном процессе (EXCEL.EXE).
Репозиторий Notepadd++ на гитхабе
https://github.com/блокнот-плюс-плюс/блокнот-плюс-плюс
показывает, что происходит. он устанавливает логическое значение на основе настройки нескольких экземпляров:
const NppGUI & nppGUI = nppParameters.getNppGUI();
if (nppGUI._multiInstSetting == multiInst)
{
isMultiInst = true;
// Only the first launch remembers the session
if (!TheFirstOne)
cmdLineParams._isNoSession = true;
}
Если не несколько экземпляров, код ищет другой экземпляр и копирует новые данные в него:
if ((!isMultiInst) && (!TheFirstOne))
{
HWND hNotepad_plus = ::FindWindow(Notepad_plus_Window::getClassName(), NULL);
....
COPYDATASTRUCT paramData;
paramData.dwData = COPYDATA_PARAMS;
paramData.lpData = &dto;
paramData.cbData = sizeof(dto);
::SendMessage(hNotepad_plus, WM_COPYDATA, reinterpret_cast<WPARAM>(hInstance), reinterpret_cast<LPARAM>(¶mData));
Так что да, просто установите мультиэкземпляр в настройках
Я просто перетаскиваю вкладку из существующего сеанса на рабочий стол, и он открывает другой экземпляр.