Atom editöründe kodu otomatik olarak girintiye nasıl ekleyebilirim?


393

Atom editöründe kodunuzu otomatik olarak nasıl girintilersiniz? Diğer editörlerde genellikle bir kod seçebilir ve otomatik girintili yapabilirsiniz.

Klavye kısayolu da var mı?

Yanıtlar:


664

Seçeneği menüde Düzenle> Çizgiler> Otomatik Girinti altında buldum. Varsayılan bir tuş eşlemesi bağlı görünmüyor.

Bunun gibi bir anahtar eşleme (Atom> Anahtar Eşlemenizi Açın [Windows'ta: Dosya> Ayarlar> Anahtar Bağlantıları> "anahtar eşlem dosyanız"]) eklemeyi deneyebilirsiniz:

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'

Benim için çalıştı :)


Pencereler için:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'

1
Teşekkür ederim! Bir çekirdek yapsaydı iyi olurdu: daha önce select-all, ancak bunu nasıl yazacağınıza dair hiçbir ipucu yok.
doobdargent

3
@doobdargent Burada iki komutun yeni bir komuta nasıl dönüştürüleceği ile ilgili bir soru oluşturdum: stackoverflow.com/questions/24456995/…
Lee

15
Ayrıca, bulabilir cmd + shift + pveEditor: Auto Indent
codingninja

1
Bu yaklaşımı önce "Tümünü Seç" ile bağlamanın bir yolunu buldum (sonra orijinal seçimi daha sonra geri yükleyin), böylece hepsini tek bir tuşa basarak yapabilirsiniz - aşağıdaki cevabımı görün. stackoverflow.com/a/33927654/398630
BrainSlugs83

4
Ubuntu için, [Düzenle> Anahtar Haritanızı Açın]. Ve ctrl-alt-lubuntu'nun kilit ekranı için varsayılan kısayolu olduğu gibi , şimdilik eşleştiriyorum ctrl-shift-].
vusan

91

Kabul edilen cevap işe yarıyor, ama önce bir "Tümünü Seç" - her seferinde - ve bunun için çok tembelim.

Ve ortaya çıkıyor, bu çok önemsiz değil - bunu tüm bunları takip etmek için gereken 30 dakikayı benzer düşünen bireyleri kurtarmak için buraya göndereceğimi düşündüm. - Ayrıca dikkat: Bu yaklaşım tamamlandığında orijinal seçimi geri yükler (ve bu kadar hızlı gerçekleşir, seçimin değiştiğini bile fark etmezsiniz).

1.) İlk olarak, init betiğinize özel bir komut ekleyin (Dosya-> Init Betiğinizi Açın, ardından bunu en alttaki yapıştırın):

atom.commands.add 'atom-text-editor', 'custom:reformat', ->
    editor = atom.workspace.getActiveTextEditor();
    oldRanges = editor.getSelectedBufferRanges();
    editor.selectAll();
    atom.commands.dispatch(atom.views.getView(editor), 'editor:auto-indent')
    editor.setSelectedBufferRanges(oldRanges);

2.) "custom: reformat" ı bir tuşa bağlayın (Dosya-> Anahtar Haritanızı Açın, ardından bunu en alttaki yapıştırın):

'atom-text-editor':
    'ctrl-alt-d': 'custom:reformat'

3.) Atom'u yeniden başlatın (init.coffee betiği yalnızca atom ilk başlatıldığında çalışır).


İlginç. Yine de her şeyi otomatik olarak girintili hale getirmesini isteyeceğimden emin değilim. Yerleşik, seçimi girintilemeye izin verir. Uygun girintinin her zaman olması gereken bir şey olduğunu iddia edebilirsiniz.
Zelphir Kaltstahl

2
@Zelphir Genellikle girinti seçimi için bir tuş bağlama ve tüm girinti için başka bir tuş bağlama var. - Girintiyi çok sık kullanmıyorum, ancak ihtiyacınız olduğunda buna sahip olmak güzel.
BrainSlugs83

@ BrainSlugs83 Belki biraz oftopik: Kodları işaretlemek için parantez kullanmayan ve diğerleri içindeki işlevleri veya sınıfları tanımlamaya izin veren dilleri otomatik olarak girintiye koymaya çalışırken bir sorun olduğunu fark ettim. Editör bu durumlarda neyin hangi seviyede olduğunu bilemez.
Zelphir Kaltstahl

2
if oldRanges != null && oldRanges[0].start.column == oldRanges[0].end.column && oldRanges[0].start.row == oldRanges[0].end.rowbu koşulun eklenmesi editor.selectAll();yine de yalnızca seçimi girintilemeye izin verir. Seçim yoksa, dosyanın tamamını girintili hale getirir.
manish_s

1
Komutun tamamı için tek bir geri alma adımı almak istiyorsanız, editörü tanımladıktan sonra bunu ekleyin: checkpoint = editor.createCheckpoint();ve sonunda:editor.groupChangesSinceCheckpoint(checkpoint);
Dan

43

Paket otomatik girinti için otomatik girinti uygulamak için var tüm dosya ile bu kısayolları :

ctrl+ shift+i

veya

cmd+ shift+i

Paket url'si: https://atom.io/packages/auto-indent


bence bir güncelleme gerekiyor - benim için çalışmıyor. API'ya kullanımdan kaldırılmış çağrılar kullanma
Dean_Wilson

1
Bunun yerine github.com/griiin/atom-auto-indent adresinden manuel olarak indirip yükledim ve şimdi çalışıyor gibi görünüyor ...
Dean_Wilson

Not: varsayılan olarak 1 sekme girintisi kullanır: /
King'in şakası

24

Atom güzelleştirmeyi tercih ederim, CTRL+ ALT+B (linux, pencerelerde de olabilir) daha iyi her türlü formatı işler ve ayrıca dosya formatı başına özelleştirilebilir.

daha fazla ayrıntı burada: https://atom.io/packages/atom-beautify


Dal ile pathfonksiyon için bir boşluk ekler, böylece rota bulunamadı
Rodolfo Velasco

Bence bu en basit ve daha temiz çözüm. Teşekkürler.
Alessandro

17

Komut paletini hızlı bir şekilde açabilir ve orada yapabilir
Cmd + Shift + pve Editor: Auto Indentşunları arayabilirsiniz :

ekran görüntüsü


10
Güçlü bir kullanıcıysanız bu hızlı değil :)
Jad Joubran

5

Bu benim için çalışıyor:

'atom-workspace atom-text-editor':
    'ctrl-alt-a': 'editor:auto-indent'

Hepsini ctrl-a ile seçmelisiniz .



2

Eğer kısayol tuşları ile sorun varsa, açmaya Key Binding Resolver Windowile Cmd + .. Size gerçek zamanlı olarak bastığınız tuşları gösterecektir.

Örneğin Cmd + Shift + ', aslındaCmd + "


2

Linux'ta

(Ununtu KDE'de test edilmiştir)

Menüde, Düzenle> Çizgiler> Otomatik Girinti altında bir seçenek vardır veya tuşuna basın Cmd + Shift + p.Editor: Auto Indent yalnızca "ai" girerek

Not: KDE'de ctrl-alt-lzaten küresel olarak "kilit ekranı" için ayarlanmıştır, bu yüzden daha iyi kullanımctrl-alt-i bunun yerine .

Atom'a bir anahtar eşleme ekleyebilirsiniz:

  • Cmd + Shift + p"Ayarlar Görünümü: Tuş Bağlantılarını Göster" için arama yapın.
  • "keymap dosyanız" ı tıklayın
  • Bu bölüme böyle bir bölüm ekleyin:

     'atom-text-editor':
        'ctrl-alt-i': 'editor:auto-indent'
    

Girinti çalışmıyorsa, dosya sonlandırmanın Atom tarafından tanınmamasının bir nedeni olabilir. Diliniz için desteği ekleyin, örneğin "Lua" için "language-lua" paketini yükleyin.

Bir Dosya diliniz için tanınmıyorsa:

  • ~/.atom/config.csondosyayı açın (CTRL + ÜST KRKT + p ile: `` open config '' yazın)
  • aşağıdaki gibi bir customFileTypesbölümü ekleyin / düzenleyin core:

    core:
      customFileTypes:
        "source.lua": [
          "conf"
        ]
        "text.html.php": [
          "thtml"
        ]
    

(Dillerin kapsam adlarını ("source.lua", "text.html.php" ...) dil paketi ayarlarında buraya bakın )


0

Ayrıca, dosyadaki tüm kodu otomatik olarak seçip girintili hale getirmek için bir anahtar eşleme cadı eklemeyi deneyebilirsiniz:

'atom-text-editor':
  'ctrl-alt-l': 'auto-indent:apply'

@IB 'atom-text-editor' ile deneyin: 'ctrl-alt-l': 'editor: auto-indent' Kısayola basmadan önce dosyadaki tüm metni seçin.
Hristian Yordanov

0

Kaydetme sırasında otomatik formatlamayan bazı harika kodlar üzerinde çalışıyordum. Yaptığım kod bölmesine sağ tıklayıp ESLint Fix'i seçtim. Bu benim girintilerimi düzeltti.

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.