Bagaimana cara mengubah mode lekukan di Atom?

194

Saya belum bisa memikirkan hal ini. Atom tampaknya menggunakan spasi sebagai mode indentasi default. Saya lebih suka memiliki tab saja. Sublime Text memiliki fungsi bawaan untuk berpindah dan mengubah lekukan.

Adakah yang tahu cara mengubah mode indentasi Atom?

Beberapa tangkapan layar dari Sublime Text:

Menu lekukan Teks luhur terbuka Menu lekukan teks luhur

Jon Koops
sumber
4
untuk mengonversi lekukan, Anda dapat melakukan pencarian dan penggantian ekspresi reguler serta menggunakan \ t untuk menemukan atau menyisipkan tab.
mer10z_tech
1
adakah cara mudah untuk mengubah kode saat ini menjadi 4 dari 2 mode indentasi?
Charlie Parker
1
Saya menggunakan plugin deteksi otomatis indentasi, yang tidak hanya akan secara otomatis mengkonfigurasi kunci tab untuk melakukan apa pun yang sudah ada dalam file, tetapi juga menampilkan mode indentasi di kiri bawah.
while1fork
@CharlieParker Anda masuk ke preferensi, klik pada tab editor dan atur Indentation ke 4.
Craig
Catatan: Atom secara default menunjukkan dan melintasi spasi seperti tab! Lihat jawaban tparker di sini: stackoverflow.com/a/46333677/1599699
Andrew

Jawaban:

218

Lihat Soft Tab dan Panjang Tab di bawah Pengaturan> Pengaturan Editor .

Untuk mengganti mode indentasi dengan cepat, Anda dapat menggunakan Ctrl-Shift-P dan mencari Editor: Toggle Soft Tabs .

blom
sumber
1
Seperti yang dikatakan @zamber, jika otomatis membuat indentasi sebuah halaman dan itu tidak mengambil pengaturan indentasi Anda, buka kembali dan coba lagi.
Victor S
58
Sama seperti catatan samping - tab lunak adalah karakter spasi sebagai tab, tab keras adalah karakter tab. Juga jika pengaturannya tidak dicerminkan, cobaCtrl-Shift-P Editor: Toggle Soft Tabs
ivan-k
2
Saya ingin menambahkan bahwa TIDAK ada solusi di utas ini yang berfungsi untuk saya SAMPAI saya bertukar ke font satu spasi. Setelah bertukar ke font satu spasi saya mencoba setiap metode dan mereka semua memang bekerja. Semoga ini bisa membantu seseorang di masa depan ...
Native Coder
adakah cara mudah untuk mengubah kode saat ini menjadi 4 dari 2 mode indentasi?
Charlie Parker
Saya tidak dapat melihat manfaat untuk TIDAK menggunakan font monospace saat coding, saya harus akui.
Frank Bailey
65

Buka File -> Pengaturan

Ada 3 opsi berbeda di sini.

  1. Tab Lembut
  2. Panjang Tab
  3. Jenis Tab

Saya melakukan beberapa pengujian dan sampai pada kesimpulan ini tentang apa yang masing-masing lakukan.

Soft Tabs - Mengaktifkan ini berarti akan menggunakan spasi secara default (yaitu untuk file baru).

Panjang Tab - Seberapa lebar karakter tab ditampilkan, atau berapa banyak ruang yang dimasukkan untuk tab jika tab lunak diaktifkan.

Jenis Tab - Ini menentukan mode lekukan yang digunakan untuk file yang ada. Jika Anda mengaturnya ke otomatis, itu akan menggunakan lekukan yang ada (tab atau spasi). Jika Anda mengaturnya menjadi lunak atau keras, itu akan memaksa spasi atau tab terlepas dari lekukan yang ada. Terbaik untuk membiarkan ini di otomatis.

Catatan: Soft = spasi, hard = tab

pengembang
sumber
Anda juga dapat berbicara tentang Tab Lunak Atom ?
neeh
3
adakah cara mudah untuk mengubah kode saat ini menjadi 4 dari 2 mode indentasi?
Charlie Parker
1
Terima kasih telah membantu menjelaskan beberapa istilah yang digunakan Atom untuk memahami masalah ini.
MiFiHiBye
23

Tambahkan ini ke ~/.atom/config.cson

editor:
    tabLength: 4
Leif Gruenwoldt
sumber
15

OS X:

  1. Pergi ke Atom -> prefrencesatauCMD + ,

  2. Gulir ke bawah dan pilih "Panjang Tab" yang Anda inginkan.

masukkan deskripsi gambar di sini

Kata Kholov
sumber
11

Anda dapat mencoba membuka "Atom> Preferences> Editor" dan mengatur panjang Tab menjadi 4.

masukkan deskripsi gambar di sini

Ini untuk mac. Untuk windows Anda harus menemukan menu yang sesuai.

Craig
sumber
7

Menambahkan jawaban @Manbroski di sini yang berfungsi untuk saya:

mencoba Ctrl-Shift-P Editor: Toggle Soft Tabs

OscarRyz
sumber
6

Terlambat ke pesta, tetapi cara bersih untuk melakukan ini berdasarkan per proyek, adalah menambahkan file .editorconfig ke root proyek. Menghemat Anda dari keharusan mengubah pengaturan Atom ketika Anda sedang mengerjakan beberapa proyek secara bersamaan.

Ini adalah contoh pengaturan yang sangat dasar yang saya gunakan saat ini. Bekerja untuk Atom, ST, dll ...

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
ConorLuddy
sumber
Saya hampir membuang Atom sampai saya melihat ini. pengaturan config.cson tampaknya sama sekali tidak melakukan apa pun untuk file yang ada. Terima kasih!
killthrush
3

Ini dibangun ke dalam inti: Lihat Settings ⇒ Tab Typedan pilih auto:

Ketika diatur ke "otomatis", editor secara otomatis mendeteksi tipe tab berdasarkan pada isi dari buffer (ia menggunakan spasi putih terkemuka pertama pada baris non-komentar), atau menggunakan nilai pengaturan konfigurasi Soft Tabs jika otomatis deteksi gagal.

Anda mungkin juga ingin melihat pada paket Indentasi Deteksi Otomatis . Dari dokumen:

Secara otomatis mendeteksi lekukan file yang dibuka. Itu terlihat pada setiap file yang dibuka dan menetapkan pengaturan tab spesifik file (tab keras / lunak, panjang tab) berdasarkan konten file alih-alih selalu menggunakan default editor.

Anda mungkin memiliki atom yang dikonfigurasikan untuk menggunakan 4 spasi untuk tab tetapi buka proyek rel yang defaultnya adalah 2 spasi. Tanpa paket ini, Anda harus mengubah pengaturan tabstop Anda secara global atau berisiko memiliki spasi lead yang tidak konsisten dalam file Anda.

jcuenod
sumber
Jika menggunakan 'otomatis' dan itu salah (dalam kasus saya diputuskan untuk menggunakan spasi ketika saya ingin tab, pada file khusus ini) bagaimana Anda (dengan menu cepat atau keystroke, tidak mempelajari pengaturan) berubah pikiran? Saya tidak berpikir bahwa deteksi otomatis telah gagal, itu hanya salah. Itu tidak akan mengetikkan tab keras untuk saya. Saya telah melakukan pencarian-dan-ganti di mana-mana, tetapi tombol tab tetap memasukkan 4 spasi.
Ed Randall
Saya tidak akan menggunakan search-and-replacesaya akan menggunakan palet perintah convert spaces to tabs(atau sesuatu seperti itu). Saya pikir itu berhasil bagi saya di masa lalu.
jcuenod
3

Saya hanya memiliki masalah yang sama, dan tidak ada saran di atas yang berfungsi. Akhirnya saya mencoba menghapus centang "Tab lunak atom" di menu Pengaturan Editor, yang berfungsi.

Tparker
sumber
OH! Itu artinya! Saya bertanya-tanya mengapa tombol panah saya melompati ruang ketika tidak ada \tdalam file ...
Andrew
2

Jika Anda menggunakan Babel, Anda mungkin juga ingin memastikan untuk memperbarui paket "Babel Bahasa" Anda. Bagi saya, meskipun saya memiliki Panjang Tab yang diatur ke 2 di pengaturan editor inti saya, pengaturan yang sama di konfigurasi Babel Bahasa menimpanya dengan 4.

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

Pastikan Tata Bahasa yang sesuai, Ada "Babel ES6 Javascript Grammar", "Grammar bahasa-babel-ekstensi" serta "Ekspresi Reguler". Anda mungkin ingin memperbarui semuanya agar konsisten.

Mike M
sumber
2

Kontrol Tab memberikan kontrol yang bagus dengan cara yang mirip dengan yang dijelaskan dalam pertanyaan Anda.

Juga bagus, untuk pengembang JavaScript, adalah ESLint Tab Length untuk menggunakan konfigurasi ESLint.

Atau jika Anda menggunakan .editorconfiguntuk mendefinisikan aturan indentasi spesifik proyek, ada EditorConfig

Brett Zamir
sumber
1

Jika pengaturan lekukan tab / spasi global tidak lagi sesuai dengan kebutuhan Anda (yaitu Anda bekerja dengan basis kode lama dengan berbagai format lekukan, dan Anda perlu dengan cepat beralih di antara mereka, dan deteksi otomatis tidak berfungsi) Anda dapat mencoba tab Plugin -control, yang merupakan duplikat fungsionalitas menu pada tangkapan layar Anda.

Ed Halferty
sumber
1

Ketika Atom auto-indent-detection mendapatkannya dengan sangat salah dan menolak untuk membiarkan saya mengetik karakter Tab literal, saya akhirnya menemukan ekstensi 'Force-Tab' - yang memberi saya kontrol kembali. Saya ingin menjaga shift-tab untuk ketinggalan zaman, jadi atur ctrl-tab untuk memasukkan tab keras. Dalam keymap saya menambahkan:

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

Ed Randall
sumber
1

Jika Anda menggunakan versi 1.21.1:

  1. Klik pada Paket / Pengaturan Lihat / Buka
  2. Pilih "Editor" di panel sebelah kiri
  3. Turun sampai Anda melihat "Panjang Tab"
  4. Edit nilainya. Saya suka mengaturnya menjadi 4.

Sekarang, tutup saja panel tab aktif dan Anda selesai.

Caiuby Freitas
sumber
0

Semua jawaban paling populer di sini adalah semua jawaban bagus dan akan mengaktifkan spasi untuk tab, tetapi semuanya hilang satu hal. Cara menerapkan spasi alih-alih tab ke kode yang ada.

Untuk melakukan ini cukup pilih semua kode yang ingin Anda format, kemudian pergi ke Edit-> Lines-> Auto Indent dan itu akan memperbaiki semua yang dipilih.

Atau, Anda bisa memilih semua kode yang ingin Anda format, lalu gunakan Ctrl Shift P dan cari Auto Indent. Cukup klik di hasil pencarian dan itu akan memperbaiki semua yang dipilih.

ajpieri
sumber
0

Mengubah konfigurasi khusus bahasa

Saya mengubah pengaturan tab default, dan itu masih tidak berdampak ketika saya mengedit file saya, yang merupakan file Python. Itu juga tidak berubah ketika saya mengubah pengaturan "*" di ~ / .atom / config.cson. Saya tidak punya penjelasan yang bagus untuk keduanya.

Namun, ketika saya menambahkan berikut ini ke config.cson saya, saya bisa mengubah tab di file Python saya menjadi 2 spasi:

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

Berkat sumber daya ini untuk solusinya: Kunci tab tidak menghargai panjang tab

MK Hunter
sumber