Làm cách nào để chạy tệp HTML từ Notepad ++?


7

Tôi muốn chạy một trang HTML vì vậy tôi đã cấu hình Execute / F5lệnh như sau:

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

Nó hoạt động khi tệp HTML nằm trong thư mục gốc của Workspace của tôi (vì máy chủ Web HTTP của tôi được thiết lập để làm như vậy). Nhưng nó không hoạt động khi tệp nằm trong thư mục con.

Có một biến được xác định trước (nghĩa là $(RELATIVE_PATH)) có thể được sử dụng để có được đường dẫn tệp liên quan đến thư mục Workspace không?

Cảm ơn bạn trước sự giúp đỡ của bạn.


3
Run-> Launch in Chromekhông giúp bạn?
Burgi

4
Nếu bạn đang sử dụng PHP, bạn có thể sử dụng http://localhost:8080/redirect.php?file=/$(FULL_CURRENT_PATH)nơi redirect.phpcất cánh quá mức. Xem bài viết Cấu hình Notepad ++ để chạy php trên localhost .
harrymc

1
Một câu trả lời tương tự sẽ là sử dụng tệp .bat để thực hiện thao tác chuỗi và gọi Chrome. Đơn giản để làm nếu bạn quan tâm.
harrymc

@Supersharp Ctrl + Shift + Alt + R
hoàn tác

Câu trả lời:


1

Kể từ phiên bản hiện tại của Notepad ++ 6.9.1, sự cố với các tệp trong đường dẫn thư mục con trong máy chủ web chưa được khắc phục. Biến duy nhất cho đường dẫn tập tin là $(FULL_CURRENT_PATH).

Kiểm tra: Cấu hình Notepad ++ để chạy php trên localhost .

Có thể vấn đề này sẽ được khắc phục trong các phiên bản tương lai của Notepad ++.


@Supersharp không đọc phần bình luận, để biết các biến môi trường, hãy kiểm tra tại đây: docs.notepad-plus-plus.org/index.php/Defining_User_Commands
iSR5

1
@Supersharp cũng rất hữu ích: docs.notepad-plus-plus.org/index.php/External_Programs
iSR5

5

Thay vì sử dụng Chrome trực tiếp, bạn có thể sử dụng tệp .bat.

Dưới đây là một phiên bản của tệp .bat nên được thực thi trong Notepadd ++ như thế này:

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

Đối với Windows, nơi gốc tài liệu nằm trong C:\inetpub\wwwroot, tệp .bat là:

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

Cú pháp DOS chung được sử dụng ở trên để thay thế các chuỗi trong một biến là:

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

trong trường hợp của chúng tôi replacement-stringlà trống rỗng.

Tệp .bat đơn giản này có thể dễ dàng được cải thiện để chấp nhận chuỗi C:\inetpub\wwwroot\dưới dạng tham số thứ hai và hơn thế nữa.

Tệp bó có thể khiến cửa sổ DOS màu đen xuất hiện trong giây lát, biến mất ngay lập tức sau khi Chrome được khởi chạy. Nếu vẫn còn quá khó chịu, hãy xem câu trả lời này .


1

Giải pháp Python

Với các plugin Np ++, thậm chí phép màu có thể đạt được. Tôi đã viết một Np ++ Python Script đơn giản để đạt được chính xác chức năng này. Giải pháp này chỉ yêu cầu Notepad ++ và plugin PythonScript.

  1. Cài đặt Python Script từ Plugins> Trình quản lý plugin
  2. Plugin> Tập lệnh Python> Tập lệnh mới
  3. Đặt tên là "OpenInBrowser.py" (ví dụ) và dán tập lệnh: http://pastebin.com/wS4jThcp
  4. Trong kịch bản, nhớ để cấu hình bạn browserExeFullPath , browserUrl và trang web của bạn rootDir (theo đó index.html mục cấp đầu sẽ được đặt).
  5. Plugin> Python Script> Cấu hình và thêm tập lệnh người dùng của bạn vào Menu (danh sách bên trái)
  6. Khởi động lại Notepad ++, Cài đặt> Shortcut Mapper> Lệnh plugin và ánh xạ tập lệnh của bạn tới một khóa, ví dụ F9. Bây giờ nhấn phím đó sẽ mở tài liệu đang hoạt động của bạn trong trình duyệt. Không có giải pháp bên ngoài cần thiết.

Tôi không thể cài đặt plugin "Python Script" trên NPP 6.9.1.
Supersharp

Chính xác thì vấn đề là gì? Tôi không gặp vấn đề gì khi cài đặt nó vào ngày 6.9.1 với Trình quản lý Plugin - chỉ cần kiểm tra. Ngoài ra, bạn có thể thử cài đặt thủ công từ npppythonscript.sourceforge.net/doad.shtml
pKami

1
Tôi đã thất bại 4 lần trong quá trình tải xuống. Tôi sẽ không làm theo giải pháp này vì tôi không muốn cài đặt một trình thông dịch khác (đã giữ JVM, CLR, Node, Windows 'shell) nhưng tôi đã nâng cấp vì nó có thể là một giải pháp được ưu tiên cho người dùng Pyhton.
Supersharp

0

Giải pháp Node.js

Dựa trên nhận xét đầu tiên của @ harrymc, tôi đã chuyển cách giải quyết PHP sang máy chủ Node của tôi .

1 ° trong Notepad ++ :

Thay đổi <Command>nội dung trong tệp shortcuts.xml(bạn có thể tìm thấy nó trong thư mục %appdata%/Notepad++), ví dụ:

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

2 ° Trong Node.js :

Thêm một tuyến đường trong tập lệnh máy chủ ( server.js) để xử lý yêu cầu HTTP GET:

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

Ở đâu:

  • applà thành phần Express của tôi ( app = express()),
  • +8là cần thiết bởi vì các trang web của tôi nằm trong thư mục con /public/.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.