Notepad ++ com guias e descompactados ao mesmo tempo

2

Eu quero que o Notepad ++ seja tabulado (como é por padrão) quando eu uso o menu de contexto Edit with Notepad++ no explorer, mas aberto em uma nova janela sem abas (semelhante ao Notepad / Notepad2) quando eu simplesmente Open certain extensões de arquivo. Se isso pudesse ser feito em um item de menu de contexto diferente de Open , isso também seria bom.

Notepad2 é bom, mas eu gostaria da funcionalidade exata do Notepad ++ para janelas não controladas (A maneira como ele destaca todas as instâncias da palavra selecionada, atalhos de teclado, etc.). Adicionar o asNotepad.xml à pasta Notepad ++ fará com que ele seja aberto em uma nova janela sempre, mas eu quero abrir as janelas com guias ao mesmo tempo.

Usar "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -notabbar -nosession <text file> em cmd (que pode ser facilmente modificado para colocar em um menu de contexto, ou possivelmente para trabalhar com "Open") abrirá o Notepad ++ em uma nova janela sem uma barra de abas. Isso parece bom no começo, mas com esta janela ainda aberta, usando Edit with Notepad++ em qualquer arquivo irá abri-lo nesta janela não manipulada.

    
por Zantier 13.03.2013 / 11:26

2 respostas

2

Não parece haver uma solução trivial, então usei duas cópias do Notepad ++:

  • (cópia com guias) Notepad ++ 6.3 instalação para abrir arquivos em abas
  • (cópia não codificada) O Notepad ++ 6.3 compilado a partir do código fonte com alguns ajustes hacky para abrir arquivos em novas janelas (untabbed).

Sem os ajustes na cópia não-autorizada do Notepad ++, os arquivos nem sempre serão abertos na cópia do Notepad ++ que você esperaria. Sinto muito se a edição de arquivos fonte não é adequada para o superusuário, mas espero que isso seja útil para alguém.

Compilando a cópia não anexada

O código-fonte readme recomenda a compilação no Visual Studio 2005, mas ele compilou bem para mim no Visual C ++ 2010 Express (livre da Microsoft - link ).

Simplesmente abra npp.6.3.src \ PowerEditor \ visual.net \ notepadPlus.vcproj (e converta o projeto se ele lhe perguntar) e escolha construir "Unicode Release". Agora você pode testar se ele é construído corretamente:

Issocolocaráonotepad++.exenoPowerEditor\bin,masvocêprecisarádeumacópiadoarquivoSciLexer.dllnomesmodiretórioantesdeexecutá-lo.IssovemcomoNotepad++,entãobaixe-odosite.Alémdisso,crieumarquivodetextovazio"asNotepad.xml" no mesmo diretório, o que o tornará desautorizado e abrirá arquivos em novas janelas.

Ajustes

No winmain.cpp, na linha 214, altere "nppInstance" para "nppInstance2" ou similar. Com isso alterado, a cópia com guias do Notepad ++ não pensará que uma janela do Notepad ++ já está aberta quando você só tem janelas abertas abertas.

Em Notepad_plus_Window.cpp, na linha 32, altere "Notepad++" para "Notepad++2" ou similar. Isso é usado no winmain.cpp na linha 287. Com isso alterado, a versão com guias não incluirá as janelas não ativadas quando estiver procurando janelas abertas no momento para abrir o arquivo.

Agora crie novamente e mova a pasta PowerEditor \ bin para onde quiser. Se você deseja que a cópia não-aberta abra quando abrir certas extensões de arquivo (como .txt), no Windows 7 eu descobri que tinha que renomear "notepad ++. Exe" para "notepad ++ 2.exe", caso contrário ele seria aberto a cópia instalada (com abas).

Editar:

Se você compilou da fonte e quer o menu de plugins, você também precisa copiar DLLs na pasta plugins de outra cópia do Notepad ++.

    
por 20.03.2013 / 03:13
0

Uma solução seria usar o recurso "Enviar para" no Windows.

Coloque um atalho no Notepad ++ na pasta %APPDATA%\Microsoft\Windows\SendTo

(geralmente é em C:\Users\<username>\Appdata\Roaming\Microsoft\Windows\SendTo )

Clique com o botão direito no atalho, selecione propriedades e vá para a aba de atalhos.

Use "C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -notabbar -nosession no campo de destino.

Agora clique com o botão direito do mouse em um arquivo e Enviar para - > O Notepad ++ abrirá o arquivo não carregado no Notepad ++.

Como o -notabbar flag atualmente parece forçar o Notepad ++ a salvar suas configurações, você deve configurar 2 atalhos dentro do SendTo:

Um apontando para a versão padrão instalada do Notepad ++ chamada "Notepad ++ com guias" (com os sinalizadores -multiInst -nosession acrescentados ao final do campo de destino)

Um (com -multiInst -nosession -notabbar anexado ao campo de destino) apontando para a versão zipada do programa, chamado "Notepad ++ Untabbed".

Contanto que os dois atalhos tenham o sinal -multiInst adicionado, eles podem ser executados ao mesmo tempo e você tem controle total sobre qual versão abre o documento.

    
por 13.03.2013 / 14:32