
Me gustaría ejecutar una página HTML, así que configuré el Execute / F5
comando de la siguiente manera:
chrome.exe http://localhost:8080/$(FILE_NAME)
Funciona cuando el archivo HTML está ubicado en la raíz de mi espacio de trabajo (porque mi servidor web HTTP está configurado para hacerlo). Pero no funciona cuando el archivo está en una subcarpeta.
¿Existe una variable predefinida (es decir $(RELATIVE_PATH)
,) que pueda usarse para obtener la ruta del archivo relativa al directorio del espacio de trabajo?
Gracias de antemano por su ayuda.
Respuesta1
A partir de la versión actual de Notepad++ 6.9.1, el problema con los archivos en la ruta de las subcarpetas en un servidor web aún no se ha solucionado. La única variable para la ruta de los archivos es $(FULL_CURRENT_PATH)
.
Controlar:Configurar Notepad++ para ejecutar php en localhost.
Quizás este problema se solucione en futuras versiones de Notepad++.
Respuesta2
En lugar de usar Chrome directamente, puedes usar un archivo .bat.
A continuación se muestra una versión de dicho archivo .bat que debe ejecutarse en Notepadd++ de esta manera:
"path\to\file.bat" "$(FULL_CURRENT_PATH)"
Para Windows, donde se encuentra la raíz del documento C:\inetpub\wwwroot
, el archivo .bat es:
@echo off
set "param=%~1"
set "url=http://localhost/%param:C:\inetpub\wwwroot\=%"
start "" chrome.exe "%url%"
La sintaxis general de DOS utilizada anteriormente para reemplazar cadenas en una variable es:
"%variable-name:search-string=replacement-string%"
donde en nuestro caso replacement-string
está vacío.
Este sencillo archivo .bat se puede mejorar fácilmente para aceptar la cadena C:\inetpub\wwwroot\
como segundo parámetro y más.
El archivo por lotes puede provocar que aparezca momentáneamente una ventana negra de DOS que desaparecerá inmediatamente una vez que se inicie Chrome. Si todavía te resulta demasiado molesto, consultaesta respuesta.
Respuesta3
Solución Python
Con los complementos de Np++ incluso se pueden lograr milagros. Escribí un script Python Np++ simple que logra exactamente esta funcionalidad. Esta solución solo requiere Notepad++ y el complemento PythonScript.
- Instale Python Script desde Complementos> Administrador de complementos
- Complementos > Script de Python > Nuevo script
- Nómbrelo "OpenInBrowser.py" (por ejemplo) y pegue el script:http://pastebin.com/wS4jThcp
- En el script, recuerda configurar tunavegadorExeFullPath,URL del navegadory la de tu página webraízDir(bajo el cual se ubicaría el index.html de nivel superior).
- Complementos > Python Script > Configuración y agregue su script de usuario al Menú (lista de la izquierda)
- Reinicie Notepad++, Configuración > Asignador de accesos directos > Comandos de complemento y asigne su secuencia de comandos a una tecla, por ejemplo F9. Ahora, al presionar esa tecla se abrirá su documento activo en el navegador. No se requieren soluciones externas.
Respuesta4
Solución Node.js
Basado en el primer comentario de @harrymc, transfirí la solución PHP a miNodoservidor.
1° En el Bloc de notas++:
Cambie el <Command>
contenido del archivo shortcuts.xml
(puede encontrarlo en la carpeta %appdata%/Notepad++
), por ejemplo:
chrome http://localhost:8080/npp?path=$(FULL_CURRENT_PATH)
2° En Node.js:
Agregue una ruta en el script del servidor ( server.js
) para manejar la solicitud HTTP GET:
//redirection for Notepad++
app.get( '/npp', function ( req, res )
{
res.redirect( req.query.path.substr( __dirname.length + 8 ) )
} )
dónde:
app
es miExpresarcomponente (app = express()
),+8
es necesario porque mis páginas web están ubicadas en una subcarpeta/public/
.