Notepad++ с вкладками и без вкладок одновременно
Я хочу, чтобы Notepad++ был с вкладками (как это по умолчанию), когда я использую Edit with Notepad++
контекстное меню в проводнике, но открывается в новом окне без вкладок (аналогично Notepad/Notepad2), когда я просто Open
определенные расширения файлов. Если это можно сделать в другом пункте контекстного меню, кроме Open
Это тоже было бы хорошо.
Notepad2 хорош, но мне бы хотелось, чтобы точные функциональные возможности Notepad++ были открыты для окон без ярлыков (способ выделения всех экземпляров выбранного слова, сочетаний клавиш и т. Д.). Добавление asNotepad.xml в папку Notepad++ будет каждый раз открывать ее в новом окне, но я хочу иметь возможность открывать окна с вкладками одновременно.
С помощью "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -notabbar -nosession <text file>
в cmd (который можно легко изменить, чтобы поместить в контекстное меню, или, возможно, для работы с "Открыть"), откроется Notepad++ в новом окне без панели вкладок. Это кажется хорошим на первый взгляд, но с этим открытым окном, используя Edit with Notepad++
любой файл откроет его в этом окне без ярлыков.
2 ответа
Кажется, нет тривиального решения, поэтому я использовал 2 копии Notepad++:
- (копия с вкладками) Notepad++ 6.3 Установка для открытия файлов во вкладках
- (untabbed copy) Notepad++ 6.3 скомпилирован из исходного кода с парочкой хакерских твиков для открытия файлов в новых окнах (untabbed).
Без изменений в немаркированной копии Notepad++ файлы не всегда будут открываться в той копии Notepad++, которую вы ожидаете. Извините, если редактирование исходных файлов не подходит для суперпользователя, но я надеюсь, что это будет полезно для кого-то.
Компиляция неотмеченной копии
Исходный код readme рекомендует компилировать в Visual Studio 2005, но он прекрасно скомпилирован для меня в Visual C++ 2010 Express (бесплатно от Microsoft - http://www.microsoft.com/visualstudio/eng/downloads).
Просто откройте npp.6.3.src\PowerEditor\visual.net\notepadPlus.vcproj (и преобразуйте проект, если вас об этом попросят) и выберите сборку "Выпуск Unicode". Теперь вы можете проверить правильность сборки:
Это поместит notepad ++. Exe в PowerEditor\bin, но вам потребуется копия SciLexer.dll в том же каталоге, прежде чем он запустится. Это идет с Notepad++, поэтому просто скачайте его с сайта. Также создайте пустой текстовый файл "asNotepad.xml" в том же каталоге, что сделает его открытым и откроет файлы в новых окнах.
Tweaks
В winmain.cpp, в строке 214, измените "nppInstance"
в "nppInstance2"
, или похожие. С этим изменением копия Notepad++ с вкладками не будет думать, что окно Notepad++ уже открыто, если у вас открыты только окна без ярлыков.
В Notepad_plus_Window.cpp в строке 32 измените "Notepad++"
в "Notepad++2"
или похожие. Это используется в winmain.cpp в строке 287. С этим изменением версия с вкладками не будет включать в себя окна без ярлыков при поиске открытых в данный момент окон, в которых можно открыть файл.
Теперь соберите заново и переместите папку PowerEditor\bin в любое место. Если вы хотите, чтобы неотмеченная копия открывалась при открытии определенных расширений файлов (таких как.txt), в Windows 7 я обнаружил, что мне пришлось переименовать "notepad++. Exe" в "notepad++2.exe", в противном случае он будет открыт установленная (с вкладками) копия.
Редактировать:
Если вы скомпилировали из исходного кода и хотите меню плагинов, вам также необходимо скопировать DLL-файлы в папку плагинов из другой копии Notepad++.
Одним из решений будет использование функции "Отправить" в Windows.
Положите ярлык для Notepad ++ в %APPDATA%\Microsoft\Windows\SendTo
папка
(Это обычно в C:\Users\<username>\Appdata\Roaming\Microsoft\Windows\SendTo
)
Щелкните правой кнопкой мыши по ярлыку, выберите свойства и перейдите на вкладку ярлыка.
использование "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -notabbar -nosession
в поле "Цель".
Теперь щелкните правой кнопкой мыши по файлу и нажмите "Отправить" -> "Блокнот ++", чтобы открыть файл без ярлыка в "Блокноте ++".
Как -notabbar
флаг в настоящее время, кажется, заставляет Notepad ++ сохранять свои настройки, вы должны установить 2 ярлыка в SendTo:
Один указывает на стандартную установленную версию Notepad ++ под названием "Notepad ++ Tabbed" (с флагами -multiInst -nosession
добавляется в конец целевого поля)
Один (с -multiInst -nosession -notabbar
добавляется к целевому полю), указывая на сжатую версию программы, которая называется "Notepad ++ Untabbed".
Пока оба ярлыка имеют -multiInst
добавлен флаг, они могут быть запущены одновременно, и вы ПОЛНОСТЬЮ можете контролировать, какая версия открывает какой документ.