Làm cách nào để thay đổi chế độ thụt đầu dòng trong Atom?


194

Tôi chưa thể tìm ra điều này. Atom dường như sử dụng khoảng trắng làm chế độ thụt lề mặc định. Tôi thích có các tab thay vì mặc dù. Sublime Text đã được xây dựng trong chức năng để chuyển đổi và chuyển đổi thụt lề.

Bất cứ ai cũng tìm ra cách thay đổi chế độ thụt đầu dòng của Atom?

Một số ảnh chụp màn hình từ Sublime Text:

Menu thụt lề văn bản tuyệt vời mở Menu thụt lề văn bản tuyệt vời


4
để chuyển đổi thụt lề, bạn có thể thực hiện tìm và thay thế biểu thức chính quy và sử dụng \ t để tìm hoặc chèn các tab.
mer10z_tech

1
Có cách nào dễ dàng để thay đổi mã hiện tại thành 4 từ chế độ thụt 2 không?
Charlie Parker

1
Tôi sử dụng plugin tự động phát hiện thụt lề, nó không chỉ tự động cấu hình phím tab để làm bất cứ điều gì đã có trong tệp, mà còn hiển thị chế độ thụt ở phía dưới bên trái.
while1fork

@CharlieParker Bạn vào phần tùy chọn, nhấp vào tab trình soạn thảo và đặt thụt lề thành 4.
Craig

Lưu ý: Nguyên tử theo mặc định hiển thị và di chuyển qua các không gian như các tab! Xem câu trả lời của tparker tại đây: stackoverflow.com/a/46333677/1599699
Andrew

Câu trả lời:


218

Xem Tab mềmĐộ dài tab trong Cài đặt> Cài đặt trình chỉnh sửa .

Để chuyển nhanh các chế độ thụt lề, bạn có thể sử dụng Ctrl-Shift-P và tìm kiếm Trình chỉnh sửa: Chuyển đổi Tab mềm .


1
Giống như @zamber đã nói, nếu tự động thụt lề một trang và nó không nhận cài đặt thụt lề của bạn, hãy mở lại và thử lại.
Victor S

58
Cũng như một ghi chú bên cạnh - các tab mềm là các ký tự khoảng trắng dưới dạng các tab, các tab cứng là các ký tự tab. Ngoài ra nếu cài đặt không bị lặp lại, hãy thửCtrl-Shift-P Editor: Toggle Soft Tabs
ivan-k

2
Tôi muốn thêm rằng KHÔNG CÓ các giải pháp trong chủ đề này hoạt động với tôi UNTIL Tôi đã đổi sang một phông chữ đơn cách. Sau khi hoán đổi sang một phông chữ đơn cách, tôi đã thử từng phương thức và tất cả chúng đều thực sự hoạt động. Hy vọng điều này sẽ giúp được ai đó trong tương lai ...
bản địa

Có cách nào dễ dàng để thay đổi mã hiện tại thành 4 từ chế độ thụt 2 không?
Charlie Parker

Tôi không thể thấy bất kỳ lợi ích nào khi KHÔNG sử dụng phông chữ đơn cách khi mã hóa, tôi phải thừa nhận.
Frank Bailey

65

Chuyển đến Tệp -> Cài đặt

Có 3 lựa chọn khác nhau ở đây.

  1. Tab mềm
  2. Độ dài tab
  3. Loại tab

Tôi đã làm một số thử nghiệm và đã đi đến những kết luận về những gì mỗi người làm.

Tab mềm - Kích hoạt tính năng này có nghĩa là nó sẽ sử dụng khoảng trắng theo mặc định (nghĩa là đối với các tệp mới).

Độ dài tab - Độ rộng của ký tự tab hiển thị hoặc có bao nhiêu khoảng trắng được chèn cho một tab nếu các tab mềm được bật.

Loại tab - Điều này xác định chế độ thụt đầu dòng để sử dụng cho các tệp hiện có. Nếu bạn đặt nó thành tự động, nó sẽ sử dụng thụt đầu dòng (tab hoặc dấu cách) hiện có. Nếu bạn đặt nó thành mềm hoặc cứng, nó sẽ buộc các khoảng trắng hoặc tab bất kể vết lõm hiện có. Tốt nhất để lại này trên ô tô.

Lưu ý: Mềm = dấu cách, cứng = tab


Bạn cũng có thể nói về Atomic Soft Tab ?
neeh

3
Có cách nào dễ dàng để thay đổi mã hiện tại thành 4 từ chế độ thụt 2 không?
Charlie Parker

1
Cảm ơn bạn đã giúp làm rõ một số sử dụng lingo Atom để hiểu vấn đề này.
MiFiHiBye


15

HĐH X:

  1. Đi đến Atom -> prefrenceshoặcCMD + ,

  2. Cuộn xuống và chọn "Độ dài tab" mà bạn thích.

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


11

Bạn có thể thử truy cập "Nguyên tử> Tùy chọn> Trình chỉnh sửa" và đặt độ dài Tab thành 4.

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

Đây là cho mac. Đối với cửa sổ, bạn sẽ phải tìm menu phù hợp.


7

Thêm câu trả lời @Manbroski ở đây có tác dụng với tôi:

thử Ctrl-Shift-P Editor: Toggle Soft Tabs


6

Đến bữa tiệc muộn, nhưng một cách sạch sẽ để làm điều này trên cơ sở từng dự án, là thêm tệp .editorconfig vào thư mục gốc của dự án. Giúp bạn không phải thay đổi cài đặt của Atom khi bạn đang làm việc trên một số dự án cùng một lúc.

Đây là một mẫu của một thiết lập rất cơ bản tôi hiện đang sử dụng. Hoạt động cho Atom, ST, v.v ...

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2

Tôi gần như đã ném hoàn toàn Atom cho đến khi tôi thấy điều này. Cài đặt config.cson dường như hoàn toàn không làm gì cho các tệp hiện có. Cảm ơn!
killthrush

3

Điều này được tích hợp vào cốt lõi: Xem Settings ⇒ Tab Typevà chọn auto:

Khi được đặt thành "tự động", trình chỉnh sửa sẽ tự động phát hiện loại tab dựa trên nội dung của bộ đệm (nó sử dụng khoảng trắng hàng đầu đầu tiên trên dòng không bình luận) hoặc sử dụng giá trị của cài đặt cấu hình Tab mềm nếu tự động- phát hiện thất bại.

Bạn cũng có thể muốn xem gói Tự động phát hiện thụt lề . Từ các tài liệu:

Tự động phát hiện thụt lề của các tập tin đã mở. Nó xem xét từng tệp được mở và đặt cài đặt tab cụ thể của tệp (tab cứng / mềm, độ dài tab) dựa trên nội dung của tệp thay vì luôn sử dụng mặc định của trình chỉnh sửa.

Bạn có thể có cấu hình nguyên tử để sử dụng 4 khoảng trắng cho các tab nhưng mở một dự án đường ray mặc định thành 2 khoảng trắng. Nếu không có gói này, bạn sẽ phải thay đổi cài đặt tabstop trên toàn cầu hoặc có nguy cơ có khoảng cách dẫn không nhất quán trong các tệp của bạn.


Nếu sử dụng 'tự động' và nó bị lỗi (trong trường hợp của tôi, nó đã quyết định sử dụng khoảng trắng khi tôi muốn tab, trên tệp cụ thể này), làm thế nào để bạn (với một menu nhanh hoặc tổ hợp phím, không đi sâu vào cài đặt) thay đổi ý định? Tôi không nghĩ rằng tự động phát hiện đã thất bại, nó đã sai. Nó sẽ không gõ một tab cứng cho tôi. Tôi đã thực hiện tìm kiếm và thay thế ở mọi nơi, nhưng vẫn có phím tab chèn 4 khoảng trắng.
Ed Randall

Tôi sẽ không sử dụng search-and-replaceTôi sẽ sử dụng bảng lệnh convert spaces to tabs(hoặc một cái gì đó tương tự). Tôi nghĩ rằng điều đó đã làm việc cho tôi trong quá khứ.
jcuenod

3

Tôi chỉ có cùng một vấn đề, và không có gợi ý nào ở trên hoạt động. Cuối cùng, tôi đã thử bỏ chọn "tab mềm nguyên tử" trong menu Cài đặt trình chỉnh sửa, hoạt động.


OH! Điều đó có nghĩa là gì! Tôi đã tự hỏi tại sao các phím mũi tên của tôi lại lướt qua khoảng trống khi không có bất kỳ \ttệp nào trong tệp ...
Andrew

2

Nếu bạn đang sử dụng Babel, bạn cũng có thể muốn đảm bảo cập nhật gói "Ngôn ngữ Babel". Đối với tôi, mặc dù tôi đã đặt Độ dài tab thành 2 trong cài đặt trình chỉnh sửa lõi của mình, cài đặt Tương tự trong cấu hình Ngôn ngữ Babel đã ghi đè lên 4.

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

Đảm bảo Ngữ pháp phù hợp, Có "Ngữ pháp Javascript Babel ES6", "Ngữ pháp mở rộng ngôn ngữ" cũng như "Biểu thức chính quy". Bạn có thể muốn cập nhật tất cả chúng để được nhất quán.


2

Kiểm soát tab cung cấp kiểm soát tốt theo cách tương tự như được mô tả trong câu hỏi của bạn.

Cũng tốt, đối với các nhà phát triển JavaScript, là Độ dài tab của ESLint để sử dụng cấu hình ESLint.

Hoặc nếu bạn đang sử dụng .editorconfigđể xác định quy tắc thụt lề dành riêng cho dự án, thì có EditorConfig


1

Nếu cài đặt thụt lề / không gian toàn cầu không còn phù hợp với nhu cầu của bạn (IE bạn thấy mình đang làm việc với các cơ sở mã kế thừa với các định dạng thụt lề khác nhau và bạn cần nhanh chóng chuyển đổi giữa chúng và tự động phát hiện không hoạt động), bạn có thể thử tab -control plugin, loại sao chép chức năng của menu trong ảnh chụp màn hình của bạn.


1

Khi phát hiện thụt lề tự động của Atom đã vô vọng và từ chối cho phép tôi nhập một ký tự Tab theo nghĩa đen, cuối cùng tôi đã tìm thấy tiện ích mở rộng 'Force-Tab' - cho phép tôi kiểm soát lại. Tôi muốn giữ tab shift để hết hạn, vì vậy hãy đặt tab ctrl để chèn một tab cứng. Trong sơ đồ chính của tôi, tôi đã thêm:

'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'


1

Nếu bạn đang sử dụng phiên bản 1.21.1:

  1. Nhấp vào Gói / Cài đặt Xem / Mở
  2. Chọn "Trình chỉnh sửa" trên bảng điều khiển bên trái
  3. Scrool xuống cho đến khi bạn thấy "Độ dài tab"
  4. Chỉnh sửa giá trị. Tôi thích đặt nó thành 4.

Bây giờ, chỉ cần đóng khung tab hoạt động và bạn đã hoàn tất.


0

Tất cả các câu trả lời phổ biến nhất ở đây đều là những câu trả lời tuyệt vời và sẽ bật khoảng trắng cho các tab, nhưng tất cả chúng đều thiếu một điều. Làm thế nào để áp dụng các khoảng trắng thay vì các tab cho mã hiện có.

Để thực hiện việc này, chỉ cần chọn tất cả mã bạn muốn định dạng, sau đó chuyển đến Chỉnh sửa-> Dòng-> Tự động thụt lề và nó sẽ sửa mọi thứ đã chọn.

Ngoài ra, bạn chỉ có thể chọn tất cả mã bạn muốn định dạng, sau đó sử dụng Ctrl Shift P và tìm kiếm Tự động thụt lề. Chỉ cần nhấp vào nó trong kết quả tìm kiếm và nó sẽ sửa mọi thứ đã chọn.


0

Thay đổi cấu hình ngôn ngữ cụ thể

Tôi đã thay đổi cài đặt tab mặc định và nó vẫn không ảnh hưởng khi tôi chỉnh sửa các tệp của mình, đó là các tệp Python. Nó cũng không thay đổi khi tôi sửa đổi cài đặt "*" trong ~ / .atom / config.cson. Tôi không có một lời giải thích tốt cho một trong hai.

Tuy nhiên, khi tôi thêm phần sau vào config.cson, tôi đã có thể thay đổi tab trong tệp Python của mình thành 2 khoảng trắng:

'.source.python':
  editor:
    tabLength: 2

Nhờ tài nguyên này cho giải pháp: Phím tab không tôn trọng chiều dài tab

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.