Sự thụt dòng trường hợp của IntelliJ Scala Plugin là vô lý


138

Khi một lớp trường hợp có nhiều trường và tên của chúng dài, thường nên viết từng trường trong mỗi dòng như:

case class Person (
  name: String,
  age: Int
)

Điều này giống với structđịnh nghĩa C / C ++ và hoàn toàn có thể đọc được ngay cả khi lớp case trở nên lớn hơn. Nhưng plugin Scala mặc định của IntelliJ IDEA sẽ tự động thay đổi thụt lề:

case class Person (
                    name: String,
                    age: Int
                    )

Điều này có vẻ kỳ lạ đối với tôi, nhưng Hướng dẫn Phong cách Scala không đề cập bất cứ điều gì về thụt lớp trường hợp.

Tôi không thể tìm thấy bất cứ điều gì trong cài đặt IDE có thể thay đổi hành vi này. Có một tùy chọn để làm cho tự động thụt lề hoạt động như cách tôi đã mô tả ở trên hoặc vô hiệu hóa thụt lề tự động cho các lớp trường hợp?


4
Sự thụt lề trong các định nghĩa lớp được mô tả ở đây: docs.scala-lang.org/style/declarations.html Họ nói rằng 4 khoảng trắng cần thiết trên dòng mới.
red1ynx

@ red1ynx Bạn có biết làm thế nào không?
Bin Wang

3
Đây là một vấn đề giải quyết rằng youtrack.jetbrains.com/su/SCL-4167 . Đến đó và bỏ phiếu nếu bạn không thích hành vi này.
kopiczko

Câu trả lời:


196

Thử tệp -> Cài đặt ... -> Kiểu mã -> Scala

Có rất nhiều cài đặt để tùy chỉnh định dạng mã của bạn trong đó.

Trong tab "Gói và Niềng răng", bên dưới "Tham số khai báo phương thức":

  • kiểm tra "sử dụng thụt lề bình thường cho các tham số"
  • bỏ chọn "Align when multiline"

Điều này sẽ thay đổi nó thành ví dụ bạn cung cấp.

Nếu bạn muốn nó sử dụng thụt lề trong "Tiếp tục thụt lề" trong "Tab và thụt lề", bạn phải chọn cả hai tùy chọn ở trên.


24
Tôi nghĩ bạn cũng phải tắt "Align when multiline".
FrontierPologistso

Nếu tôi muốn 4 khoảng trống trước nó thì sao?
Bin Wang

Chỉ cần đổi Indent thành 4
Micho

6
@BinWang: Bỏ chọn "sử dụng thụt lề bình thường cho các tham số" và "Căn chỉnh khi đa tuyến" và đặt "Tiếp tục thụt lề" thành 4 trong "Tab và thụt lề"
ingara

7
Nếu bạn muốn thụt lề 4 khoảng cách (theo hướng dẫn kiểu Scala) trong 'Tệp -> Cài đặt ... -> Kiểu mã -> Scala -> Khác' kiểm tra 'thụt lề thay thế cho các đối số của hàm tạo và khai báo tham số' với 4
Raman Yelianevich
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.