Como executar um arquivo HTML no Notepad ++?

7

Gostaria de executar uma página HTML, então configurei o Execute / F5comando da seguinte maneira:

chrome.exe http://localhost:8080/$(FILE_NAME)

Funciona quando o arquivo HTML está localizado na raiz do meu Espaço de Trabalho (porque meu servidor HTTP da Web está configurado para isso). Mas não funciona quando o arquivo está em uma subpasta.

Existe uma variável predefinida (ou seja $(RELATIVE_PATH)) que pode ser usada para obter o caminho do arquivo relativo ao diretório do Espaço de Trabalho?

Agradecemos antecipadamente por sua ajuda.

Supersharp
fonte
3
Será Run-> Launch in Chromenão ajudá-lo?
Burgi 03/03
4
Se você estiver usando PHP, poderá usar http://localhost:8080/redirect.php?file=/$(FULL_CURRENT_PATH)onde redirect.phptira a parte excessiva. Veja o artigo Configurando o Notepad ++ para executar o php no localhost .
harrymc
1
Uma resposta semelhante seria usar um arquivo .bat para manipular as strings e chamar o Chrome. Simples de fazer, se você estiver interessado.
11266 harrymc
@Supersharp Ctrl + Shift + Alt + R
desfaz

Respostas:

1

Desde a versão atual do Notepad ++ 6.9.1, o problema com os arquivos no caminho das subpastas em um servidor da Web ainda não foi corrigido. A única variável para o caminho dos arquivos é $(FULL_CURRENT_PATH).

Verifique: Configurando o Notepad ++ para executar o php no host local .

Talvez esse problema seja corrigido nas versões futuras do Notepad ++.

iSR5
fonte
@Supersharp não leu a seção de comentários, para o ambiente variáveis confira aqui: docs.notepad-plus-plus.org/index.php/Defining_User_Commands
iSR5
1
@Supersharp também é útil: docs.notepad-plus-plus.org/index.php/External_Programs
iSR5:
5

Em vez de usar o Chrome diretamente, você pode usar um arquivo .bat.

Abaixo está uma versão de um arquivo .bat que deve ser executado no Notepadd ++ assim:

"path\to\file.bat" "$(FULL_CURRENT_PATH)"

Para Windows, onde a raiz do documento está C:\inetpub\wwwroot, o arquivo .bat é:

@echo off
set "param=%~1"
set "url=http://localhost/%param:C:\inetpub\wwwroot\=%"
start "" chrome.exe "%url%"

A sintaxe geral do DOS usada acima para substituir seqüências de caracteres em uma variável é:

"%variable-name:search-string=replacement-string%"

onde no nosso caso replacement-stringestá vazio.

Esse arquivo .bat simples pode ser facilmente aprimorado para aceitar a string C:\inetpub\wwwroot\como segundo parâmetro e muito mais.

O arquivo em lotes pode fazer com que uma janela preta do DOS apareça momentaneamente e desapareça imediatamente após o lançamento do Chrome. Se ainda for muito irritante, veja esta resposta .

harrymc
fonte
1

Solução Python

Com os plugins Np ++, até milagres podem ser alcançados. Eu escrevi um script Python Np ++ simples que atinge exatamente essa funcionalidade. Esta solução requer apenas o Notepad ++ e o plug-in PythonScript.

  1. Instale o Script Python a partir de Plug-ins> Gerenciador de plug-ins
  2. Plugins> Script Python> Novo Script
  3. Nomeie-o como "OpenInBrowser.py" (por exemplo) e cole o script: http://pastebin.com/wS4jThcp
  4. No script, lembre-se de configurar o seu browserExeFullPath , browserUrl e da sua página RootDir (sob a qual o index.html toplevel estariam localizados).
  5. Plugins> Script Python> Configuração e adicione seu script de usuário ao Menu (lista à esquerda)
  6. Reinicie o Notepad ++, Configurações> Mapeador de Atalhos> Comandos de plug-in e mapeie seu script para uma chave, por exemplo, F9. Agora, pressionando essa tecla, o documento ativo será aberto no navegador. Não são necessárias soluções externas.
pKami
fonte
Não consegui instalar o plugin "Python Script" no NPP 6.9.1.
Supersharp
Qual foi exatamente o problema? Não tive problema em instalá-lo no 6.9.1 com o Gerenciador de plug-ins - apenas verifiquei. Alternativamente, você pode tentar instalá-lo manualmente a partir npppythonscript.sourceforge.net/download.shtml
pKami
1
Falha 4 vezes durante o download. Não seguirei esta solução porque não quero instalar outro intérprete (já detém JVM, CLR, Node, shell do Windows ...), mas votei porque poderia ser uma solução preferida para usuários do Pyhton.
Supersharp
0

Solução Node.js

Com base no primeiro comentário do @ harrymc, eu transformei a solução alternativa do PHP no meu servidor Node .

1 ° No Notepad ++ :

Altere o <Command>conteúdo do arquivo shortcuts.xml(você pode encontrá-lo na pasta %appdata%/Notepad++), por exemplo:

chrome http://localhost:8080/npp?path=$(FULL_CURRENT_PATH) 

2 ° No Node.js :

Adicione uma rota no script do servidor ( server.js) para lidar com a solicitação HTTP GET:

//redirection for Notepad++
app.get( '/npp', function ( req, res ) 
{
    res.redirect( req.query.path.substr( __dirname.length + 8 ) )
} )

Onde:

  • appé meu componente Express ( app = express()),
  • +8é necessário porque minhas páginas da web estão localizadas em uma subpasta /public/.
Supersharp
fonte