Notepad ++ có thể được thực hiện để mở các liên kết tệp trong chính nó?


12

Trong Cài đặt / Tùy chọn, Notepad ++ có một tùy chọn trên MISC.tab bên dưới Settings Cài đặt liên kết có thể nhấp ' ở bên phải, để Bật để mở các liên kết được tìm thấy trong các tệp đã chỉnh sửa. Nó gạch chân chúng và mở chúng khi nhấp đúp chuột. Tôi đã thử nó với file:///giao thức và nó hoạt động, nhưng nó thực sự thực thi chúng theo bất kỳ liên kết tệp nào tôi đã đặt trong Windows.

Có cách nào, giao thức hoặc cách "tạo" giao thức (cục bộ), như Notepad ++ mở bất kỳ loại tệp nào (bất kỳ tiện ích mở rộng nào), từ các liên kết này trong tài liệu, trong chính Notepad ++ không? (tức là trong một tab khác)


Đây là một phản hồi khá muộn ... Vì vậy, bạn không muốn thay đổi trình chỉnh sửa mặc định của mình thành Notepad ++, bạn chỉ muốn bật các liên kết bên trong Notepad ++ để duy trì ở đó khi bạn mở chúng?
Jon

@Jon vâng, như bạn nói! Là một bổ sung, thậm chí tốt hơn nếu tôi có thể chọn loại (giao thức) của các liên kết để mở bên trong (n ++) và bên ngoài (HĐH). Vì vậy, tôi có thể chọn tệp duy nhất: // liên kết để mở trong n ++.
n611x007

1
Tôi đoán rằng sẽ cần một plugin để làm điều đó. Được quét qua Thư mục cho các plugin Notepad ++ nhưng không phát hiện ra bất cứ thứ gì giống như vậy, chỉ có plugin Explorer hứa hẹn sẽ mở bất kỳ tệp nào được nhấp trong Npp.
zagrimsan

Đối với bất kỳ ai ngoài kia cũng như tôi: Tôi không thể làm việc này với tệp: // links. Đó là bởi vì tôi đã thử "file: // C: \ someFolder \ someFile.txt". Nó hoạt động khi chuyển nó thành "file: // C: /SomeFolder/SomeFile.txt"
Rob3C

Hãy nhớ sử dụng %20thay thế cho một khoảng trắng trong liên kết, ví dụ file://C:/Some%20Folder/Some%20File.txt. Nó cũng hoạt động nếu bạn để lại dấu gạch chéo ngược \ trong đường dẫn miễn là bạn có giao thức đúng : file://C:\Some%20Folder\Some%20File.txt.
Thomas H. Schmidt

Câu trả lời:


6

file://là một giao thức nội tại của Windows, vì vậy nếu bạn muốn bỏ qua "bất kỳ liên kết tệp nào [được] đặt trong Windows", tôi khuyên bạn nên sử dụng một giao thức chuyên dụng, giả sử npp://. Sau đó thêm phần này vào sổ đăng ký của bạn (sử dụng đường dẫn tương ứng trên hệ thống của bạn):

[HKEY_CLASSES_ROOT\NPP]
@="URL: NotePad++ Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\NPP\DefaultIcon]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\""

[HKEY_CLASSES_ROOT\NPP\shell]

[HKEY_CLASSES_ROOT\NPP\shell\open]

[HKEY_CLASSES_ROOT\NPP\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""

1
mẹo tuyệt vời và kết quả hài hước: D. tùy thuộc vào trình phân tách đường dẫn và số lượng thư mục tôi sử dụng, N ++ / windows hoạt động rất khác nhau (đôi khi mở một thư mục trong explorer?!), hầu hết các kết hợp không hoạt động. Ngoài ra tôi đã thoát \"%1\"trong tập tin .reg.
n611x007

Điểm lấy. : "> Tôi đã tự sửa nó ngay bây giờ, nhưng tôi nghĩ rằng bạn có thể tự mình làm điều đó, coi đó là một lỗi. Về kết quả không nhất quán, lập trình viên trong tôi muốn đề nghị bạn tạo một ứng dụng thử nghiệm nổi bật bất cứ điều gì nó là cửa sổ được đi với nó như args [0] ...: D
CB

Không hoạt động trên Win10 của tôi. (Có hoặc không có sửa cho "(x86)" trong đường dẫn tệp.) Tôi đoán tôi cũng cần cách giải quyết mà Luke mô tả trong câu trả lời của mình .
StackzOfZtuff

1

Câu trả lời đã cho không hoạt động đối với hệ thống Windows 7 Pro của tôi. Tham số %1không bao giờ (chính xác) được cung cấp cho NotePad ++ và nó bắt đầu với một tệp mới trống.

Tuy nhiên, thay vào đó tôi bắt đầu một tệp bó thông qua @=c:\soft\start-notepad.bat "%1" Trong tệp bó này, tôi đã loại bỏ NPP:///tiền tố từ %1và thay thế /bằng \bên trong %1. Từ tệp bó này, bắt đầu NotePad ++ với tham số đã sửa đổi %1sẽ hoạt động hoàn hảo. Đây là mã tập tin lô ngắn:

bắt đầu-notepad.bat

set note=insert here the path to notepad++.exe
set para1=%1%
SETLOCAL ENABLEDELAYEDEXPANSION 
set para1=!para1:edit:///=!
set para1=!para1:/=\!
%note% %para1%

Các dấu ngoặc kép "%1"xung quanh %1là không thực sự cần thiết, bởi vì các đường dẫn hoặc tên tệp có dấu cách hoặc ký hiệu đặc biệt dù sao cũng sẽ dẫn đến các siêu liên kết bị hỏng trong Notepad ++.

Nếu cần, điều này phải được sửa trong NotePad ++, ví dụ như %20"khoảng trắng", nếu không thì siêu liên kết của liên kết NPP:///c:/path/file name.txtsẽ dừng sau file.

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.