मैं टैब से अंतरिक्ष रूपांतरण कारक को कैसे अनुकूलित कर सकता हूं?


852

विज़ुअल स्टूडियो कोड का उपयोग करते समय मैं टैब-टू-स्पेस रूपांतरण कारक को कैसे अनुकूलित करूं?

उदाहरण के लिए, अभी HTML में यह प्रति प्रेस के लिए दो स्थान TABउत्पन्न करता है, लेकिन टाइपस्क्रिप्ट में यह 4 का उत्पादन करता है।

जवाबों:


1359

डिफ़ॉल्ट रूप से, विज़ुअल स्टूडियो कोड आपके द्वारा खोले गए फ़ाइल के आधार पर आपके इंडेंटेशन विकल्पों का अनुमान लगाने की कोशिश करेगा।

आप इंडेंटेशन अनुमान लगाकर बंद कर सकते हैं "editor.detectIndentation": false

आप इन तीन के लिए सेटिंग्स के माध्यम से आसानी से इस अनुकूलित कर सकते हैं विंडोज मेनू में फ़ाइलप्राथमिकताएंउपयोगकर्ता सेटिंग और के लिए मैक मेनू में कोडप्राथमिकताएंसेटिंग या ⌘,:

// The number of spaces a tab is equal to. This setting is overridden
// based on the file contents when `editor.detectIndentation` is true.
"editor.tabSize": 4,

// Insert spaces when pressing Tab. This setting is overriden
// based on the file contents when `editor.detectIndentation` is true.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces`
// will be detected based on the file contents. Set to false to keep
// the values you've explicitly set, above.
"editor.detectIndentation": false

1
अरे, क्या आप मुझे एक फ़ाइल पर इंगित करने के लिए तैयार होंगे जहां अनुमान गलत है? कृपया यह भी साझा करें कि आपने इन दोनों सेटिंग्स को कैसे कॉन्फ़िगर किया है (tabSize & insertSpaces) और आप क्या पाने की उम्मीद करेंगे। धन्यवाद! :)
एलेक्स

5
मैंने दोनों सेटिंग्स को "ऑटो" में कॉन्फ़िगर किया है, और व्यवहार वैसा नहीं है जैसा मैं उम्मीद करता हूं (हालांकि मैं इसे "गलत" कहने के लिए नहीं जाऊंगा)। मैं क्या फ़ाइल मेरी सम्मेलन का समर्थन करने के बदला जाना चाहिए पता नहीं है, लेकिन मैं एक खोला कि के लिए UserVoice टिकट के रूप में के जवाब में सुझाव दिया, सवाल # 30057721
Guss

4
क्या नई, रिक्त फ़ाइलों के लिए डिफ़ॉल्ट सेट करने का विकल्प भी है? उस परिदृश्य में अनुमान लगाने के लिए बहुत कुछ नहीं है और मुझे लगता है कि VSCode रिक्त स्थान का उपयोग करने के लिए डिफ़ॉल्ट होगा (जो मुझे पसंद नहीं है) ...
Stijn de Witt

Fwiw, एक कार्यस्थल सेटिंग्स विकल्प भी है ताकि आप उपयोगकर्ता सेटिंग्स को ओवरराइड करने वाले प्रोजेक्ट द्वारा एक अलग व्यवहार सेट कर सकें। 2
रफिन

1
धन्यवाद रफिन। क्या tabSizeप्रति भाषा बदलने का कोई तरीका है ? उदाहरण के लिए जब एक ही कार्यक्षेत्र (जैसे रूबी, जावास्क्रिप्ट, सीएसएस, आदि) में विभिन्न भाषाओं के साथ कई फाइलों को संपादित करना - रूबी 2रिक्त स्थान होगा , लेकिन सीएसएस होगा 4... आमतौर पर।
याकूब बर्नार्ड

692

मैं संस्करण 1.21 चला रहा हूं, लेकिन मुझे लगता है कि यह पहले के संस्करणों पर भी लागू हो सकता है।

स्क्रीन के नीचे दाईं ओर एक नज़र डालें। आपको कुछ ऐसा देखना चाहिए जो कहता है Spacesया Tab-Size

मेरा स्थान दिखाता है, →

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

  1. रिक्त स्थान (या टैब-आकार ) पर क्लिक करें
  2. टैब का उपयोग करके रिक्त स्थान या इंडेंट का उपयोग करके इंडेंट चुनें
  3. आप की तरह रिक्त स्थान या टैब का चयन करें।

यह केवल दस्तावेज़ के अनुसार काम करता है, परियोजना-व्यापी नहीं। यदि आप इसे प्रोजेक्ट-वाइड लागू करना चाहते हैं, तो आपको "editor.detectIndentation": falseअपनी उपयोगकर्ता सेटिंग में भी जोड़ना होगा।


# 3 कैसे किया जाता है # 2 चुनने के बाद, "रिक्त स्थान की राशि ... आपको पसंद है" का चयन करने का एक तरीका प्रतीत नहीं होता है। धन्यवाद।
6:22 पर क्रिस

हर समय मैंने सोचा: "यह जल्दबाजी किसी भी तरह संभव है ..." यह बताता है कि कैसे।
vlz

189

ठीक है, अगर आपको डेवलपर तरीका पसंद है, तो विजुअल स्टूडियो कोड आपको विभिन्न फ़ाइल प्रकारों को निर्दिष्ट करने की अनुमति देता है tabSize। यहाँ settings.jsonडिफ़ॉल्ट चार स्थानों और जावास्क्रिप्ट / JSON दो स्थानों के साथ मेरा उदाहरण है :

{
  // I want my default to be 4, but JavaScript/JSON to be 2
  "editor.tabSize": 4,
  "[javascript]": {
    "editor.tabSize": 2
  },
  "[json]": {
    "editor.tabSize": 2
  },

  // This one forces the tab to be **space**
  "editor.insertSpaces": true
}

PS: ठीक है, अगर आप नहीं जानते कि इस फ़ाइल को कैसे खोला जाए (विशेष रूप से विजुअल स्टूडियो कोड के नए संस्करण में), तो आप कर सकते हैं:

  1. लेफ्ट-बॉटम गियर →
  2. सेटिंग → टॉप राइट ओपन सेटिंग्स

 

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


105

डिफ़ॉल्ट रूप से, दृश्य स्टूडियो कोड ऑटो वर्तमान फ़ाइल के इंडेंटेशन का पता लगाता है। यदि आप इस सुविधा को बंद करना चाहते हैं और सभी इंडेंटेशन करना चाहते हैं, उदाहरण के लिए, दो स्थान, तो आप अपनी उपयोगकर्ता सेटिंग या रीस्पेस सेटिंग में निम्न कार्य करेंगे।

{
    "editor.tabSize": 2,

    "editor.detectIndentation": false
}

57

हम VS कोड एक्सटेंशन के लिए EditorConfig और उसके EditorConfig के साथ फ़ाइल प्रकार द्वारा टैब का आकार नियंत्रित कर सकते हैं । हम फिर प्रत्येक फ़ाइल प्रकार के लिए + + विशिष्ट बना सकते हैं ।AltShiftF

स्थापना

ext install EditorConfig

उदाहरण विन्यास

.editorconfig

[*]
indent_style = space

[*.{js,ts,json}]
indent_size = 2

[*.java]
indent_size = 4

[*.go]
indent_style = tab

settings.json

EditorConfig जो भी सेटिंग्स को ओवरराइड करता है। संपादक के लिए कॉन्फ़िगर किया गया। बदलने की कोई जरूरत नहीं है editor.detectIndentation


यह extआप किससे कहते हैं (कृपया अपने उत्तर को संपादित करके जवाब दें, यहाँ टिप्पणियों में नहीं (उचित रूप में)) कुछ Node.js बातूनी? क्या मंच?
पीटर मोर्टेंसन

12

यदि आप Visual Studio कोड में प्रीटियर एक्सटेंशन का उपयोग करते हैं, तो सेटिंग में इसे जोड़ने का प्रयास करें। json फ़ाइल:

"editor.insertSpaces": false,
"editor.tabSize": 4,
"editor.detectIndentation": false,

"prettier.tabWidth": 4,
"prettier.useTabs": true  // This made it finally work for me

8

में दृश्य स्टूडियो कोड संस्करण 1.31.1 या बाद में (मुझे लगता है कि): जैसा sed एलेक्स Dima , आप के लिए इन सेटिंग्स के माध्यम से आसानी से इस अनुकूलित कर सकते हैं

  • मेनू में विंडोज फ़ाइलप्राथमिकताएंउपयोगकर्ता सेटिंग या छोटे कुंजी का उपयोग Ctrl+ Shift+P
  • मेनू में मैक कोडवरीयताएँसेटिंग्स या ,

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

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


7

आप यह सुनिश्चित करना चाहते हैं कि आपका Editorconfig आपके उपयोगकर्ता या कार्यक्षेत्र सेटिंग्स कॉन्फ़िगरेशन के साथ विरोध नहीं कर रहा है, क्योंकि मुझे यह सोचकर थोड़ी सी खीझ हुई थी कि सेटिंग्स फ़ाइल सेटिंग्स को लागू नहीं किया जा रहा था जब यह मेरा संपादक कॉन्फ़िगरेशन उन परिवर्तनों को पूर्ववत कर रहा था।


7

वह lonefy.vscode-js-css-html-formatterदोष है। इसे अक्षम करें, और इंस्टॉल करें HookyQR.beautify

अब सेव पर आपके टैब कन्वर्ट नहीं होंगे।



4

टाइपस्क्रिप्ट का उपयोग करते समय, डिफ़ॉल्ट टैब की चौड़ाई हमेशा दो होती है, चाहे वह टूलबार में कुछ भी कहे। आपको इसे बदलने के लिए अपनी उपयोगकर्ता सेटिंग में "prettier.tabWidth" सेट करना होगा।

Ctrl+ P, टाइप → उपयोगकर्ता सेटिंग्स, जोड़ें:

"prettier.tabWidth": 4

4

यदि इस पोस्ट पर स्वीकृत उत्तर काम नहीं करता है, तो इसे आज़माएं:

मैंने अपने संपादक में विजुअल स्टूडियो कोड के लिए EditorConfig स्थापित किया था, और यह मेरी उपयोगकर्ता सेटिंग्स को ओवरराइड करता रहा, जो रिक्त स्थान का उपयोग करके फ़ाइलों को इंडेंट करने के लिए सेट किया गया था। हर बार जब मैंने संपादक टैब के बीच स्विच किया, तो मेरी फ़ाइल स्वचालित रूप से टैब के साथ इंडेंट हो जाएगी, भले ही मैंने रिक्त स्थान के लिए इंडेंटेशन बदल दिया हो !!!

मेरे द्वारा इस एक्सटेंशन को अनइंस्टॉल करने के तुरंत बाद, इंडेंटेशन स्विचिंग एडिटर टैब के बीच कोई बदलाव नहीं करता है, और मैं फ़ाइलों को स्विच करने के दौरान टैब को मैन्युअल रूप से बदलने के बजाय अधिक आराम से काम कर सकता हूं - जो कि दर्दनाक है।


4

हमारे प्यारे समुदाय के सदस्यों द्वारा पहले से ही बहुत सारे अच्छे उत्तर दिए गए हैं। मैं वास्तव में C # कोड टैब जोड़ना चाहता था और इस धागे को पाया। मेरे द्वारा पाए गए कई समाधान हैं और आधिकारिक वीएस कोड डॉक्स भयानक हैं। मैं सिर्फ अपनी C # सेटिंग साझा करना चाहता हूं:

"[csharp]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 4
},

बस अपनी settings.jsonफ़ाइल में कोड के ऊपर कॉपी और पेस्ट करें और सहेजें। धन्यवाद


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

2

मेनू फ़ाइलवरीयताएँसेटिंग्स

उपयोगकर्ता सेटिंग्स में जोड़ें:

"editor.tabSize": 2,
"editor.detectIndentation": false

उसके बाद अपने दस्तावेज़ पर राइट क्लिक करें यदि आपने पहले से खोला है और अपने मौजूदा दस्तावेज़ को इन नई सेटिंग्स का पालन करने के लिए फ़ॉर्मेट दस्तावेज़ पर क्लिक करें।


2

@ 2015 से एलेक्सा-डिमा का समाधान सभी फ़ाइलों के लिए टैब आकार और रिक्त स्थान बदल देगा और 2016 से ट्रिकी का समाधान केवल वर्तमान फ़ाइल के लिए सेटिंग्स को बदलने के लिए प्रकट होता है।

2017 तक, मुझे एक और समाधान मिला जो प्रति भाषा के आधार पर काम करता है। विजुअल स्टूडियो कोड Elixir के लिए उचित टैब आकार या स्थान सेटिंग्स का उपयोग नहीं कर रहा था, इसलिए मैंने पाया कि मैं सभी Elixir फ़ाइलों के लिए सेटिंग्स बदल सकता हूं।

मैंने स्थिति पट्टी ("मेरे मामले में" अमृत ") में भाषा पर क्लिक किया," एलिक्सिर 'भाषा आधारित सेटिंग्स कॉन्फ़िगर करें ... ", और अमृत-विशिष्ट भाषा सेटिंग्स को संपादित किया। मैंने बस बाईं ओर डिफ़ॉल्ट सेटिंग्स से "editor.tabSize" और "editor.insertSpaces" सेटिंग की प्रतिलिपि बनाई (मुझे खुशी है कि वे दिखाए गए हैं) और फिर उन्हें दाईं ओर संशोधित किया।

इसने बहुत अच्छा काम किया, और अब सभी अमृत भाषा की फाइलें उचित टैब आकार और स्थान सेटिंग्स का उपयोग करती हैं।


1

मुझे पिछले उत्तरों की तरह बहुत सारी सेटिंग्स एडिट करनी थीं, इसलिए मुझे नहीं पता कि इसमें बहुत सारे संशोधनों के बाद काम किया गया।

कुछ भी नहीं काम किया जब तक मैं बंद कर दिया और मेरी आईडीई openen, लेकिन पिछले तीन बातें मैंने किया था अक्षम था lonefy.vscode-js-css-html-formatter, "html.format.enable": true,और दृश्य स्टूडियो को पुनरारंभ करें।

{
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "workbench.colorTheme": "Default Light+",
    "[html]": {
        "editor.defaultFormatter": "vscode.html-language-features",
        "editor.tabSize": 2,
        "editor.detectIndentation": false,
        "editor.insertSpaces": true
    },
    "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
    "editor.tabSize": 2,
    "typescript.format.insertSpaceAfterConstructor": true,
    "files.autoSave": "afterDelay",
    "html.format.indentHandlebars": true,
    "html.format.indentInnerHtml": true,
    "html.format.enable": true,
    "editor.detectIndentation": false,
    "editor.insertSpaces": true,
}

0

यदि यह कोणीय 2 के लिए है, और सीएलआई फाइलें उत्पन्न कर रहा है, जिन्हें आप अलग-अलग स्वरूपित करना चाहते हैं, तो आप इन फ़ाइलों को संपादित कर सकते हैं कि क्या उत्पन्न होता है:

npm_modules/@angular/cli/blueprints/component/files/__path__/*

व्यापक रूप से एक एनपीएम अपडेट के रूप में अनुशंसित आपके काम को नष्ट नहीं करेगा, लेकिन इसने मुझे बहुत समय बचाया है।


0

मैंने संपादक .tabSizeको 4 में बदलने की कोशिश की , लेकिन .editorConfigजो भी सेटिंग मैंने निर्दिष्ट की थी, उसे ओवरराइड करता है, इसलिए उपयोगकर्ता सेटिंग्स में किसी भी कॉन्फ़िगरेशन को बदलने की कोई आवश्यकता नहीं है। आपको बस .editorConfig फ़ाइल को संपादित करने की आवश्यकता है:

set indent_size = 4

-1

User3550138 सही है। lonefy.vscode-js-css-html-formatterअन्य उत्तरों में उल्लिखित सभी सेटिंग्स को ओवरराइड करता है। हालाँकि, आपको इसे अक्षम या अनइंस्टॉल नहीं करना पड़ेगा क्योंकि इसे कॉन्फ़िगर किया जा सकता है।

एक्सटेंशन साइडबार को खोलकर और इस एक्सटेंशन पर क्लिक करके पूर्ण निर्देश पाया जा सकता है और यह संपादक कार्यक्षेत्र में कॉन्फ़िगरेशन निर्देशों को प्रदर्शित करेगा। कम से कम यह मेरे लिए विजुअल स्टूडियो कोड संस्करण 1.14.1 में है।

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