एटम संपादक में ऑटो-इंडेंट कोड कैसे करें?


393

आप एटम संपादक में अपने कोड को ऑटो-इंडेंट कैसे करते हैं? अन्य संपादकों में आप आमतौर पर कुछ कोड और ऑटो-इंडेंट का चयन कर सकते हैं।

क्या कोई कीबोर्ड शॉर्टकट भी है?

जवाबों:


664

मुझे मेनू में Edit> Lines> Auto Indent के तहत विकल्प मिला। यह एक डिफ़ॉल्ट कीमैप बाध्य नहीं लगता है।

आप एक कुंजी मैपिंग जोड़ने का प्रयास कर सकते हैं (Atom> Windows पर अपना कीमैप खोलें: फ़ाइल> सेटिंग्स> कीबाइंडिंग> "आपकी कीमैप फ़ाइल"]) इस तरह:

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

यह मेरे लिए काम :)


विंडोज के लिए:

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

1
धन्यवाद! अच्छा होगा अगर यह एक कोर किया: ठीक से पहले का चयन करें, लेकिन कैसे स्क्रिप्ट के लिए पर कोई सुराग नहीं है।
डोबडर्जेंट

3
@doobdargent I ने दो कमांड को एक नई कमांड में कैसे लिखें, इस पर एक उत्तर के साथ एक सवाल बनाया: stackoverflow.com/questions/24456995/…
ली

15
आप यह भी कर सकते हैं cmd + shift + pऔर के लिए खोजEditor: Auto Indent
codingninja

1
मैंने पहले "सेलेक्ट ऑल" के साथ इस दृष्टिकोण को बांधने का एक तरीका निकाला (और उसके बाद मूल चयन को पुनर्स्थापित किया), तो आप यह सब एक कुंजी प्रेस में कर सकते हैं - नीचे मेरा जवाब देखें। stackoverflow.com/a/33927654/398630
BrainSlugs83

4
Ubuntu के लिए, इसका [संपादित करें> अपना कीमैप खोलें]। और ctrl-alt-lलॉक स्क्रीन के लिए उबंटू का डिफ़ॉल्ट शॉर्टकट है, मैं ctrl-shift-]अभी के लिए मैप कर रहा हूं ।
वुसन्

91

स्वीकृत उत्तर काम करता है, लेकिन आपको हर बार पहले "सिलेक्ट ऑल" करना होगा - और मैं इसके लिए बहुत आलसी हूं।

और यह पता चला है, यह सुपर तुच्छ नहीं है - मुझे लगा कि मैं यहाँ इस तरह के दिमाग वाले व्यक्तियों को बचाने के प्रयास में 30 मिनट लगाऊंगा जो इस सब को ट्रैक करने में लगते हैं। - यह भी ध्यान दें: यह दृष्टिकोण मूल चयन को पुनर्स्थापित करता है जब यह किया जाता है (और यह इतनी तेजी से होता है, आपको यह भी ध्यान नहीं है कि चयन कभी भी बदल गया था)।

1.) सबसे पहले, अपने init स्क्रिप्ट में एक कस्टम कमांड जोड़ें (फ़ाइल-> अपनी Init स्क्रिप्ट खोलें, फिर इसे नीचे चिपकाएँ):

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.) एक कुंजी के लिए "कस्टम: रिफॉर्मैट" को बांधें (फ़ाइल-> अपना कीमैप खोलें, फिर इसे नीचे पेस्ट करें):

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

3.) एटम को पुनः आरंभ करें (init.cfi स्क्रिप्ट केवल तभी चलती है जब परमाणु पहली बार लॉन्च किया जाता है)।


दिलचस्प। मुझे यकीन नहीं है कि मैं इसे स्वचालित रूप से सब कुछ ऑटो इंडेंट करना चाहता हूँ। अंतर्निहित इंडेंटिंग चयन के लिए अनुमति देता है। आप तर्क दे सकते हैं, कि उचित इंडेंटेशन हमेशा कुछ है, जो होना चाहिए था।
ज़ेल्फिर कल्टस्टाल

2
@Zelphir मेरे पास आमतौर पर इंडेंट चयन के लिए एक कीबाइंडिंग है, और इंडेंट के लिए एक और कीबाइंडिंग है। - मैं अक्सर सभी के रूप में इंडेंट का उपयोग नहीं करता, लेकिन जब आपको इसकी आवश्यकता होती है तो यह अच्छा होता है।
BrainSlugs83

@ BrainSlugs83 शायद थोड़ा सा अपमानित: मैंने देखा है कि ऑटो इंडेंट भाषाओं की कोशिश करते समय एक समस्या है, जो कोड के ब्लॉक को चिह्नित करने और दूसरों के भीतर कार्यों या कक्षाओं को परिभाषित करने की अनुमति नहीं देते हैं। संपादक यह नहीं जान सकता कि उन मामलों में किस स्तर पर है।
जेलिफ़िर कलस्टहल

2
if oldRanges != null && oldRanges[0].start.column == oldRanges[0].end.column && oldRanges[0].start.row == oldRanges[0].end.rowइस शर्त को जोड़ने editor.selectAll();से अभी भी केवल चयन के लिए इंडेंटिंग की अनुमति होगी। यदि कोई चयन नहीं है, तो यह संपूर्ण फ़ाइल को इंडेंट करेगा।
मनीष_

1
यदि आप पूरे कमांड के लिए एक पूर्ववत कदम रखना चाहते हैं, तो इसे एडिटर को परिभाषित करने के बाद जोड़ें: checkpoint = editor.createCheckpoint();और यह अंत में:editor.groupChangesSinceCheckpoint(checkpoint);
Dan

43

पैकेज ऑटो-इंडेंट इस शॉर्टकट के साथ पूरी फ़ाइल में ऑटो-इंडेंट लागू करने के लिए मौजूद है :

ctrl+ shift+i

या

cmd+ shift+i

पैकेज url: https://atom.io/packages/auto-indent


मुझे लगता है कि एक अद्यतन की जरूरत है - मेरे लिए काम नहीं कर रहा। एपीआई पर
डिनर

1
इसके बजाय मैंने github.com/griiin/atom-auto-indent से मैन्युअल रूप से डाउनलोड और इंस्टॉल किया है और अब काम करने लगता है ...
Dean_Wilson

नोट: यह डिफ़ॉल्ट रूप से 1 टैब इंडेंट का उपयोग करता है: /
किंग्स जेलर

24

मैं परमाणु-सौंदर्यीकरण का उपयोग करना पसंद करता हूं, CTRL+ ALT+B (लिनक्स में, विंडोज़ में भी हो सकता है) बेहतर अल प्रकार के प्रारूपों को संभालता है और यह प्रति फ़ाइल प्रारूप भी अनुकूलन योग्य है।

यहाँ और अधिक विवरण: https://atom.io/packages/atom-beautify


टहनी के साथ यह pathकार्य के लिए एक स्थान जोड़ता है ताकि मार्ग नहीं मिल सके
रोडोल्फो वेलास्को

मुझे लगता है कि यह सबसे सरल और क्लीनर समाधान है। धन्यवाद।
एलेसेंड्रो

17

आप बस जल्दी से कमांड पैलेट खोल सकते हैं और इसे वहां कर सकते हैं
Cmd + Shift + pऔर खोज सकते हैं Editor: Auto Indent:

स्क्रीनशॉट


10
अगर आप एक पॉवर यूजर हैं तो यह जल्दी नहीं है :)
Jad Joubran

5

यह मेरे लिए काम करता है:

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

आपको ctrl-a के साथ सभी का चयन करना होगा ।



2

आप हॉटकी साथ मुसीबतों है, तो खोलने का प्रयास Key Binding Resolver Windowके साथ Cmd + .। यह आपको उन कुंजियों को दिखाएगा जो आप रियलटाइम में दबा रहे हैं।

उदाहरण के लिए, Cmd + Shift + 'वास्तव में हैCmd + "


2

लिनक्स पर

(ऊंटु केडीई में परीक्षण किया गया)

मेनू में विकल्प है, संपादित करें> लाइन्स> ऑटो इंडेंट या प्रेस के तहत Cmd + Shift + p, Editor: Auto Indentबस "एआई" दर्ज करके खोज करें

नोट: KDE ctrl-alt-lमें पहले से ही "लॉक स्क्रीन" के लिए विश्व स्तर पर सेट किया गया है, इसलिए ctrl-alt-iइसके बजाय बेहतर उपयोग करें ।

आप एटम में एक मुख्य मानचित्रण जोड़ सकते हैं:

  • Cmd + Shift + p, "सेटिंग देखें: शो कीबाइंडिंग" के लिए खोजें
  • "अपनी कीमैप फ़ाइल" पर क्लिक करें
  • इस तरह एक अनुभाग जोड़ें:

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

यदि इंडिकेशन काम नहीं कर रहा है, तो यह एक कारण हो सकता है, कि फाइल-एंडिंग एटम द्वारा मान्यता प्राप्त नहीं है। अपनी भाषा के लिए समर्थन जोड़ें, उदाहरण के लिए "लुआ" के लिए पैकेज "भाषा-लुआ" स्थापित करें।

यदि कोई फ़ाइल आपकी भाषा के लिए मान्यता प्राप्त नहीं है:

  • ~/.atom/config.csonफ़ाइल खोलें (CTRL + SHIFT + p: टाइप करें `` ओपन कॉन्फ़िगर '')
  • निम्न customFileTypesके coreलिए उदाहरण के लिए एक अनुभाग जोड़ें / संपादित करें :

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

(आपको भाषा पैकेज सेटिंग्स यहाँ दिखाई दे रही हैं )


0

आप एक कुंजी मैपिंग विच जोड़ने की कोशिश कर सकते हैं ऑटो फ़ाइल में सभी कोड का चयन करें और इसे इंडेंट करें:

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

@IB 'परमाणु-पाठ-संपादक' के साथ आज़माएँ: 'ctrl-alt-l': 'संपादक: ऑटो-इंडेंट' शॉर्टकट दबाने से पहले फ़ाइल में सभी पाठ का चयन करें।
हिस्टेरियन योरडानोव

0

मैं कुछ ग्रूवी कोड पर काम कर रहा था, जो ऑटो-फॉर्मेट को सेव नहीं करता है। मैंने जो किया वह कोड फलक पर राइट-क्लिक किया, फिर ESLint Fix चुना। वह मेरे इंडेंट तय करता है।

यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.