Tự động thụt lề trong Notepad ++


187

Chúng tôi luôn viết mã như thế này chính thức:

void main(){
  if(){
    if()
    }

Văn bản thay thế

Nhưng khi tôi sử dụng Notepad ++ , màn hình hiển thị là:

void main(){
if(){
if()
}

Văn bản thay thế

Làm cách nào để sử dụng Notepad ++ để tự động thụt lề?

Nhờ Jonathan , tôi đã thiết lập nó, nhưng nó không có tác dụng gì. Ảnh chụp bên dưới:

Văn bản thay thế

Tôi đang sử dụng Notepad ++ phiên bản 5.1.3.

Câu trả lời:


135

Notepad ++ sẽ chỉ tự động chèn các thụt lề tiếp theo nếu bạn tự thụt dòng đầu tiên trong một khối; nếu không, bạn có thể thụt lại mã của mình sau khi sử dụng thực tế TextFX > TextFX Edit > Reindent C++ code.


1
Nếu phiên bản của bạn thiếu DLL, bạn có thể lấy nó từ phiên bản ZIP 5.9.0. Một số phiên bản sau không bao gồm DLL này. notepad-plus-plus.org/doad/v5.9.0.html
Fostah

2
Tôi thực sự tìm thấy điều này trong khi tìm cách định dạng mã javascript. Hóa ra, điều này cũng hoạt động cho các tập tin .js!
sacredfaith

7
@Fostah: bạn cũng có thể cài đặt "Nhân vật văn bản FX" thông qua> Trình cắm> Trình quản lý trình cắm> Hiển thị Trình quản lý trình cắm
Adrien Be

@scronide, Có phím tắt cho việc này không?
Pacerier

Lưu ý rằng mặc dù tên, nó hoàn toàn cũng thụt lại chính xác mã javascript mà tôi đang cố gắng sửa lỗi thụt lề. Không có lý do gì tôi mong đợi nó không, chỉ đề cập đến, vì tên này khá cụ thể. Tại sao tác giả của thư viện đó cảm thấy anh ta phải ưu tiên đặc biệt cho C ++ ...: D
neminem

99

Nếu menu TextFX không tồn tại, bạn cần tải xuống và cài đặt plugin. Plugin-> Trình quản lý plugin- > Hiển thị Trình quản lý plugin và sau đó kiểm tra các ký tự TextFX của plugin . Nhấp vào 'cài đặt', khởi động lại Notepad ++.

Trong phiên bản Notepad ++ v6.1.3, tôi giải quyết bằng: Trình quản lý plugin-> Hiển thị Trình quản lý plugin ** và sau đó kiểm tra plugin "Indent By Fold"


2
Thụt vào gấp là tuyệt vời. Thực tế là nó hoạt động ở định dạng tùy ý ( XML, C / ++ / #, v.v. ) là tuyệt vời. Chỉ có vấn đề với nó là ngăn xếp "hoàn tác". Khi được sử dụng, nếu bạn muốn hoàn tác đến một điểm trước khi bạn thụt lề, bạn phải hoàn tác lại mọi dòng thụt dòng, vì nó không được thêm vào ngăn xếp dưới dạng một lệnh. Về cơ bản, hãy cẩn thận khi làm việc với các tập tin dài .
Dan Lugg

Xin chào @Dan vấn đề hoàn tác dường như đã được khắc phục trong phiên bản mới hơn của thụt lề ...
538ROMEO

1
Có, nó không tồn tại và không có Trình quản lý plugin.
Beyondo

31

Dường như có một tùy chọn cho định dạng tự động của XML ít nhất. Nó có thể được tìm thấy tại TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.


2
bạn cần plugin TextFx cho việc này
arviman

29

Hầu hết các nhà phát triển chương trình chỉnh sửa văn bản sử dụng sai tên này (tự động thụt lề). Tên chính xác là "duy trì thụt". Tự động thụt lề là những gì bạn thực sự muốn, nhưng nó không được thực hiện.

Tôi cũng muốn thấy tính năng này trong Notepad ++.


22

Trong phiên bản mới nhất (ít nhất), bạn có thể tìm thấy nó qua:

  • Cài đặt (menu)
  • Sở thích...
  • MISC (tab)
  • danh sách hộp kiểm bên trái
  • " Tự động thụt lề " là tùy chọn thứ 2 trong nhóm này

[ EDIT ] Mặc dù vậy, tôi không nghĩ rằng nó có triển khai Tự động thụt lề tốt nhất. Vì vậy, hãy kiểm tra để đảm bảo rằng bạn có phiên bản 5.1 - tự động thụt lề đã được đại tu gần đây, để nó tự động sửa lỗi thụt lề của bạn.


Cũng lưu ý rằng bạn đang thiếu khối thứ 2 if:

void main(){
  if(){
    if() { }  # here
  }
}

8
Lưu ý rằng cài đặt thụt lề tự động này trong Notepad ++ giả sử bạn thực hiện thụt lề đầu tiên trong một khối theo cách thủ công; nó không tự động định dạng mã cho bạn.
scronide

Tôi vừa mới hiểu ý của bạn, xin hãy tha thứ cho anh bạn tội nghiệp của tôi ... Ngôn ngữ mẹ tôi là tiếng Trung Quốc ...
Turion

14

Bạn có thể sử dụng plugin 'Indent by Fold'. Cài đặt nó từ trình quản lý plugin. Việc này ổn với tôi.


2
Indent by Fold là tuyệt vời, ngoại trừ việc nó chỉ thụt lề theo nếp gấp;) Trong trường hợp bạn đã thụt lề khởi tạo danh sách, trừ khi ngôn ngữ sử dụng ký tự gấp để phân định trình khởi tạo, nó sẽ kết thúc không thụt lề. Một ví dụ là khởi tạo mảng nhiều dòng trong PHP bằng cách sử dụng array( ... ), ()không gấp.
Dan Lugg

5

Trong phiên bản 6.6.8, tôi đã cài đặt plugin NppAutoInent từ Plugins> Plugin Manager> Show Plugin Manager. Sau đó, tôi đã chọn tùy chọn thụt lề thông minh trong Plugin> NppAutoInent. Hi vọng điêu nay co ich.


4

Một cập nhật nhỏ: Bạn có thể bỏ qua Plugin TextFX và chỉ cần sử dụng Tidy2 . Tại đây, bạn có thể định cấu hình quy tắc định dạng của riêng mình cho các loại mã khác nhau. Dễ dàng cài đặt và gỡ bỏ trong

Notepad ++> Plugin> Trình quản lý plugin> Hiển thị Trình quản lý plugin

và chỉ cần tìm kiếm Tidy2 và cài đặt nó. Làm xong.


Bạn có thể giải thích thêm một chút không?
Dieter Meemken

Thông tin thêm về cấu hình có thể được tìm thấy ở đây: stackoverflow.com/questions/14865770/USE-tydy2-for-notepad
Sven Ya

khá khó để sử dụng so với các plugin khác
Gaurav khurana

4

Đối với những người sử dụng Notepad ++ v6.8.1 trở lên, cài đặt tự động thụt lề hiện được đặt trong menu Cài đặtTùy chọnMISC. Tự động thụt lề .

Nhập mô tả hình ảnh ở đây


3

Hãy thử plugin UniversalIndentGUI cho Notepad ++. Nó tái thụt mã dựa trên một số tham số. Nó làm việc tốt cho tôi.


3
Lưu ý rằng liên kết là trực tiếp để tải về. Trang web này là: Universalindent.sourceforge.net . Ngoài ra, đây có vẻ là một GUI để định cấu hình một công cụ cải cách, thay vì tự động định dạng văn bản chính xác để bắt đầu.
Martin Bonner hỗ trợ Monica

2

Điều này có vẻ ngớ ngẩn, nhưng trong câu hỏi ban đầu, Turion đã chỉnh sửa một tệp văn bản đơn giản. Đảm bảo bạn chọn ngôn ngữ chính xác từ menu Ngôn ngữ


2
Menu TextFX → TextFX Edit → Reindent C++ code

nhập mô tả hình ảnh ở đây

Nhưng , Notepad ++ không đi kèm với plugin "Nhân vật văn bản FX" này. Bạn sẽ cần phải cài đặt nó thông qua

Plugins → Plugin Manager → Show Plugin Manager.

Để thêm lối tắt cho thụt lề .

Nhấp vào Cài đặtPhím tắt Mapper ... đặt phím tắt bạn thích. Tôi thích Ctrl+ =.

Nhập mô tả hình ảnh ở đây



1

Đầu tiên tải xuống trình quản lý plugin liên kết này sau đó giải nén thư mục zip và sao chép nó trong thư mục chương trình / notepad ++ của bạn. sau đó khởi động lại notepad ++ của bạn. sau đó bạn thấy trình quản lý plugin bên trong menu plugin. sau đó nhấp vào trình quản lý plugin sau đó nhấp vào hiển thị trình quản lý plugin. Nó hiển thị tất cả danh sách plugin của bạn. từ danh sách phía dưới tìm các công cụ XML, kiểm tra và cài đặt nó. sau đó khởi động lại notepad ++ của bạn. Sau khi mở một tài liệu thì plugin / xml tools / khá đơn giản (văn bản thụt lề) rồi thưởng thức.


0

Đối với những người sử dụng phiên bản 7.8.5, cài đặt thụt lề tự động hiện được đặt tại "Cài đặt" -> "Tùy chọn ..." -> "Tự động hoàn thành".

nhập mô tả hình ảnh ở đây


0

Cố gắng lưu tập tin trước, sau đó nó sẽ thụt lề.


Nó có thể là bình luận!
Farbod Ahmadian

Bạn có thể giải thích thêm về điều này một chút?
Toto
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.