Làm thế nào để bạn thay đổi cách mã định dạng tự động intellij? [đóng cửa]


13

IntelliJ thực hiện một số định dạng kỳ lạ với mã Javascript và tôi đang cố gắng tìm ra cách để làm cho nó dừng định dạng theo cách này. Bất cứ khi nào tôi xâu chuỗi các hàm jQuery lại với nhau, nó sẽ thụt mã tự động được tạo như thế này:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

Tôi muốn nó trông như thế này:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

Làm thế nào để tôi thay đổi điều này?


các bản sửa lỗi ở đây không hoạt động với tôi vì vậy tôi đã liên lạc với jetbrains và họ đã mở một vấn đề. Vui lòng bỏ phiếu cho nó tại đây: youtrack.jetbrains.com/su/weB-15066
JonnyRaa

4
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì nó là về một công cụ phần mềm, tuy nhiên, nó quá cũ để di chuyển sang Stack Overflow.

Câu trả lời:


11

Như @intarg đề cập, trong các ý kiến. Bạn có thể thay đổi File|Settings|Code Style|Generalvà trên tab Javascript được đặt Continuation Indentthành 0 cho Javascript.

Điều đó sẽ giúp bạn có được hầu hết những gì bạn muốn. vấn đề là mã của bạn thực sự là tất cả 1 câu lệnh dài.

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

Không chắc chắn rằng có một tùy chọn có liên quan để ngăn chặn ngắt dòng sau focus(

Ồ, và chắc chắn rằng bạn có tab mẫu mã Javascript hoạt động khi bạn thay đổi tùy chọn - nếu không, bạn sẽ không thay đổi chúng cho Javascript.

EDIT: Bây giờ tôi đã nhìn xa hơn. Trình định dạng Javascript được mã hóa để thêm ngắt dòng trong trường hợp cụ thể đó, không có tùy chọn nào cho nó.


Điều này không hiệu quả với tôi - Tôi vẫn nhận được creep đi ngang như đã nêu ở trên
JonnyRaa

0

Tất cả các cài đặt bạn cần để kiểm soát định dạng mã trong intellij đều nằm trong Tệp> Cài đặt khác> Cài đặt mẫu.

Nếu Javascript không được liệt kê (tức là bạn chưa cài đặt plugin Javascript), bạn có thể xác định định dạng mã trong tab Chung và sau đó là tab Khác. Sẽ có các tùy chọn để kiểm soát thụt đầu dòng và khoảng cách.


Tôi nghĩ vấn đề là nó nghĩ hàm từ .blur () là một thụt lề tiếp tục. Cách duy nhất tôi có thể ngăn nó làm điều này là đặt thụt lề tiếp tục thành 0, nhưng điều đó làm cho các mã khác trông cũng tệ. Bạn có thể biết một cách để nói với nó rằng đây không phải là một sự thụt dòng tiếp tục hay là một số nội bộ đang diễn ra?
intargc

Bạn đã cài đặt plugin Javascript vào intellij chưa? Tôi biết có một vài cái có sẵn. Nếu bạn không sử dụng bất kỳ ứng dụng nào trong số chúng, IDE sẽ chỉ dự phòng theo cách thụt lề / khoảng cách tiêu chuẩn. Bạn lý tưởng nhất là sử dụng một plugin để làm cho IDE biết về các cấu trúc này.
Hành tinh hoang vắng

Bạn đã thử dùng jetbrains chưa? Ngoài ra, bạn đã thử làm điều này với Eclipse. Tôi đã không chạm vào intellij trong một thời gian, nhưng tôi biết Eclipse đã hỗ trợ plugin khá tốt và đủ dễ để kiểm soát sự thụt lề, nhưng bạn thực sự không nên gặp vấn đề với intellij.
Hành tinh hoang vắng

Vì phiên bản cộng đồng là mã nguồn mở, bạn luôn có thể lấy mã nguồn, xây dựng nó và chèn các điểm dừng nơi nó thực hiện định dạng để loại trừ nếu có vấn đề nội bộ. Nếu nó không làm những gì bạn muốn, hãy áp dụng một bản sửa lỗi và gửi một bản vá cho một trong những chủ sở hữu repo, nếu bạn có thời gian và thiên hướng để làm như vậy :)
Desolate Planet

Tôi đã cài đặt plugin javascript. Tôi sẽ thử jetbrains và xem có ai ở đó có manh mối không. Cảm ơn.
intargc
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.