Wie führe ich eine HTML-Datei aus Notepad ++ aus?

7

Ich möchte eine HTML-Seite ausführen, daher habe ich den Execute / F5Befehl wie folgt konfiguriert :

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

Dies funktioniert, wenn sich die HTML-Datei im Stammverzeichnis meines Arbeitsbereichs befindet (da mein HTTP-Webserver dafür eingerichtet ist). Es funktioniert jedoch nicht, wenn sich die Datei in einem Unterordner befindet.

Gibt es eine vordefinierte Variable (dh $(RELATIVE_PATH)), mit der der Dateipfad relativ zum Arbeitsbereichsverzeichnis abgerufen werden kann?

Vielen Dank im Voraus für Ihre Hilfe.

Supersharp
quelle
3
Hilft Run-> Launch in Chromedir nicht?
Burgi
4
Wenn Sie PHP verwenden, können Sie verwenden, http://localhost:8080/redirect.php?file=/$(FULL_CURRENT_PATH)wo redirect.phpder übermäßige Teil entfernt wird. Siehe den Artikel Konfigurieren von Notepad ++ für die Ausführung von PHP auf localhost .
Harrymc
1
Eine ähnliche Antwort wäre, eine .bat-Datei zu verwenden, um die Zeichenfolgenmanipulation durchzuführen und Chrome aufzurufen. Einfach zu machen, wenn Sie interessiert sind.
Harrymc
@ Supersharp Strg + Umschalt + Alt + R
Rückgängig machen

Antworten:

1

Ab der aktuellen Version von Notepad ++ 6.9.1 wurde das Problem mit den Dateien im Unterordnerpfad auf einem Webserver noch nicht behoben. Die einzige Variable für den Dateipfad ist $(FULL_CURRENT_PATH).

Überprüfen Sie: Konfigurieren von Notepad ++ für die Ausführung von PHP auf localhost .

Möglicherweise wird dieses Problem in zukünftigen Versionen von Notepad ++ behoben.

iSR5
quelle
@Supersharp hat den Kommentarbereich nicht gelesen. Die Umgebungsvariablen finden Sie hier: docs.notepad-plus-plus.org/index.php/Defining_User_Commands
iSR5
1
@Supersharp auch das ist hilfreich: docs.notepad-plus-plus.org/index.php/External_Programs
iSR5
5

Anstatt Chrome direkt zu verwenden, können Sie auch eine .bat-Datei verwenden.

Unten finden Sie eine Version einer solchen .bat-Datei, die in Notepadd ++ wie folgt ausgeführt werden sollte:

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

Unter Windows, in dem sich das Dokumentstammverzeichnis befindet C:\inetpub\wwwroot, lautet die BAT-Datei:

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

Die oben verwendete allgemeine DOS-Syntax zum Ersetzen von Zeichenfolgen in einer Variablen lautet:

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

wo in unserem Fall replacement-stringist leer.

Diese einfache .bat-Datei kann leicht verbessert werden, um die Zeichenfolge C:\inetpub\wwwroot\als zweiten Parameter und mehr zu akzeptieren .

Die Batch-Datei kann dazu führen, dass vorübergehend ein schwarzes DOS-Fenster angezeigt wird, das sofort nach dem Start von Chrome verschwindet. Wenn es immer noch zu nervig ist, lesen Sie diese Antwort .

harrymc
quelle
1

Python-Lösung

Mit Np ++ Plugins können sogar Wunder erreicht werden. Ich habe ein einfaches Np ++ Python-Skript geschrieben, das genau diese Funktionalität erreicht. Diese Lösung erfordert nur Notepad ++ und das PythonScript-Plugin.

  1. Installieren Sie Python Script über Plugins> Plugin Manager
  2. Plugins> Python-Skript> Neues Skript
  3. Nennen Sie es "OpenInBrowser.py" (zum Beispiel) und fügen Sie das Skript ein: http://pastebin.com/wS4jThcp
  4. Denken Sie im Skript daran, Ihren browserExeFullPath , browserUrl und das rootDir Ihrer Webseite zu konfigurieren (unter dem sich die toplevel index.html befinden würde).
  5. Plugins> Python-Skript> Konfiguration und fügen Sie Ihr Benutzerskript zum Menü hinzu (linke Liste)
  6. Starten Sie Notepad ++, Einstellungen> Shortcut Mapper> Plugin-Befehle neu und ordnen Sie Ihr Skript einem Schlüssel zu, z. B. F9. Durch Drücken dieser Taste wird Ihr aktives Dokument im Browser geöffnet. Keine externen Lösungen erforderlich.
pKami
quelle
Ich konnte das Plugin "Python Script" auf NPP 6.9.1 nicht installieren.
Supersharp
Was genau war das Problem? Ich hatte kein Problem damit, es unter 6.9.1 mit dem Plugin Manager zu installieren - nur überprüft. Alternativ können Sie versuchen, es manuell von npppythonscript.sourceforge.net/download.shtml
pKami
1
Ich habe 4 Mal beim Download versagt. Ich werde dieser Lösung nicht folgen, weil ich keinen weiteren Interpreter installieren möchte (halten Sie bereits JVM, CLR, Node, Windows-Shell ...), aber ich habe ein Upvoting durchgeführt, weil es eine bevorzugte Lösung für Pyhton-Benutzer sein könnte.
Supersharp
0

Node.js Lösung

Basierend auf dem ersten Kommentar von @ harrymc habe ich die PHP-Problemumgehung auf meinen Node- Server portiert .

1 ° In Notepad ++ :

Ändern Sie den <Command>Inhalt der Datei shortcuts.xml(Sie finden ihn unter dem Ordner %appdata%/Notepad++), zum Beispiel:

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

2 ° In Node.js :

Fügen Sie im Serverskript ( server.js) eine Route hinzu , um die HTTP-GET-Anforderung zu verarbeiten:

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

wo:

  • appist meine Express- Komponente ( app = express()),
  • +8wird benötigt, weil sich meine Webseiten in einem Unterordner befinden /public/.
Supersharp
quelle