Làm thế nào để có mã bọc định dạng với IntelliJ?


135

Tôi không thể định dạng mã của mình trong IntelliJ.

Tôi có thể thấy dòng lề (theo mặc định ở 120 cột) nhưng có vẻ như kích hoạt từ menu:

Mã -> Mã định dạng lại

chỉ là bỏ qua lề này.

Câu trả lời:


91

Bạn có nghĩa là bộ định dạng không phá vỡ các dòng dài? Kiểm tra Cài đặt / Cài đặt dự án / Kiểu mã / Gói.

Cập nhật: trong các phiên bản sau của IntelliJ, tùy chọn nằm trong Cài đặt / Trình chỉnh sửa / Kiểu mã. Và chọn Wrap when typing reaches right margin.


1
tùy chọn này không còn nữa, sử dụng phiên bản 13.0.2 và vấn đề vẫn còn ..
ipolevoy

34
@ipolevoy tên tùy chọn là "Đảm bảo không vượt quá lề phải"
madhead

13
Tùy chọn "Đảm bảo lề phải không bị vượt quá" nằm trong Tệp / Cài đặt / Trình chỉnh sửa / Kiểu mã / Java / Gói và Niềng răng / Giữ khi định dạng lại
Aaron

những kẻ này cứ đổi tên các phím cài đặt mọi lúc
ACV

Điều này là chính xác, nhưng trong các phiên bản mới, các tùy chọn bổ sung đã được thêm vào để cung cấp kiểm soát tốt hơn về những gì có thể được bọc. Xem stackoverflow.com/a/52157389/1104581 để biết câu trả lời hiện tại chính xác.
ipetrik

160

IntelliJ IDEA 14, 15, 2016 & 2017

Định dạng mã hiện có

  1. Đảm bảo lề phải không bị vượt quá

    Tệp> Cài đặt> Trình chỉnh sửa> Kiểu mã> Java> Gói và dấu ngoặc> Đảm bảo không vượt quá lề phải

    Cài đặt tệp Đảm bảo lề phải

  2. Mã định dạng lại

    Mã> Định dạng lại mã ...

    Mã định dạng lại

    hoặc nhấn Ctrl+ Alt+L

    cảnh báo Nếu bạn có một cái gì đó như thế này:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    nó sẽ được chuyển đổi thành

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    thay vì

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    Đây là lý do tại sao tôi chọn các đoạn mã trước khi định dạng lại nếu mã trông giống như trong ví dụ trước.

Quấn khi gõ đến lề phải

  • IntelliJ IDEA 14 : Tệp> Cài đặt> Trình chỉnh sửa> Kiểu mã> Gói khi nhập đến lề phải

    Quấn khi gõ

  • IntelliJ IDEA 15, 2016 & 2017 : Tệp> Cài đặt> Trình chỉnh sửa> Kiểu mã> Tiếp tục nhập

    Gõ vào gõ


5
Đúng! Đây là câu trả lời thực tế, cảm ơn bạn rất nhiều! Vấn đề là ý Wrap when typing reaches right marginchí sẽ gặp rắc rối lớn khi bạn thay đổi thứ gì đó trên một dòng đã được bọc. Câu trả lời của bạn chỉ cần làm sạch khi gọi. Kết hợp với macro "lưu và định dạng", đây là vàng nguyên chất!
Patrick

1
Tôi muốn thêm một từ khóa ở đây, đó là thứ mà người ta có thể đang tìm kiếm: đây là cái được gọi là bọc cứng (trái ngược với bọc mềm - xem sự khác biệt ở đây ).
iled

1
Có cách nào để nó có số dòng chính xác thay vì chỉ đảm bảo nó không vượt quá mức tối đa? Ví dụ: Tôi gõ một số dòng dài, nó chia nó thành hai dòng, sau đó tôi xóa một cái gì đó trong dòng đầu tiên, và nó hợp nhất hai dòng trở lại thành một dòng.
dùng2259659

1
Ngoài ra: Không có hướng dẫn cho 2018.1
8bitjunkie

1
2017 "Bọc trên gõ" không hoạt động. văn bản vẫn vượt qua dòng và không có gì xảy ra trên định dạng lại
tylik

16

Việc bật "Đảm bảo lề phải không bị vượt quá" không phù hợp với tôi trong Intellij IDEA 2018.2. Tôi đã tìm thấy cách giải quyết, chúng ta cần thay đổi mọi yếu tố bên dưới từ "Không quấn" thành "Bọc nếu lâu".

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

Sau đó, chúng ta có thể xem trước loại bọc nào sẽ được thay đổi bằng cách nhìn vào bảng bên phải. Nếu chúng tôi hài lòng, nhấp vào "OK" hoặc "Áp dụng" để áp dụng các thay đổi. Cuối cùng, chúng ta cần một định dạng mannual bằng cách sử dụng CTRL+ ALT+ Ltrong Windows và Command+ Shift+ Ltrong MacOS.


Đây cũng là vấn đề đối với tôi. Nếu hộp kiểm đó được đặt nhưng phần còn lại được để mặc định IntelliJ cố gắng ngắt dòng, nhưng không thể vì mọi thứ được đặt thành "Không bọc".
Cướp

12

Hoặc bạn có thể sử dụng phím tắt:

Ctrl + Alt + L


4
Bạn có thể đăng tên của hành động này (Cài đặt -> Sơ đồ bàn phím) không? Trên hầu hết các Linux, tổ hợp CTRL + ALT + L được sử dụng để chặn máy tính. Tôi thậm chí không thể sử dụng "Tìm hành động bằng phím tắt".
tomrozb

2
@tomrozb phím tắt này dành cho Mã -> Mã định dạng lại.
AtomHeartFather

1
Điều đó khóa màn hình của tôi.
8bitjunkie

3

Bạn có thể tạo một macro cho Ctrl + Shift + S (ví dụ) thực hiện tất cả những điều này:

Chỉnh sửa> Macro> Bắt đầu ghi macro (quá trình ghi sẽ bắt đầu). Bấm vào nơi bạn cần.

Ví dụ:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

Sau đó, nhấp vào nút màu đỏ ở dưới cùng bên phải của IDE để dừng ghi Macro.

Đặt tên macro.

Chuyển đến Tệp> Cài đặt> Macro> TÊN MACRO CỦA BẠN .

Nhấp chuột phải> Thêm phím tắt bàn phím và nhập Ctrl + Shift + S.


Đây là một tính năng IDE cơ bản. Macro là OTT và quá phức tạp cho một cái gì đó quá đơn giản.
8bitjunkie

2

Để bọc văn bản trong trình chỉnh sửa mã trong cộng đồng IntelliJ IDEA 2020.1, hãy làm theo các bước sau:

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

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


0

Trong Intellij ver 2020 mới nhất, chúng tôi có một tùy chọn gọi là bọc mềm các tệp này. Cài đặt -> Trình chỉnh sửa -> Chung -> bọc mềm các tệp này. Kiểm tra tùy chọn này và thêm loại tệp bạn cần bọc.

tùy chọn bọc intellij mềm

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.