2

Я хочу, чтобы 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

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#d-2010-express).

Просто откройте 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++.

0

Одним из решений будет использование функции "Отправить" в 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 , их можно запускать одновременно, и вы ПОЛНОСТЬЮ можете контролировать, какая версия открывает какой документ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .