VSCode सिंगल टू डबल कोट ऑटोमैटिक रिप्लेस


109

जब मैं Format Documentएक Vue Component.vue फ़ाइल पर एक कमांड निष्पादित करता हूं, तो VSCode सभी एकल उद्धृत स्ट्रिंग को डबल उद्धृत स्ट्रिंग से बदल देता है।

मेरे विशिष्ट मामले में यह नियम इलेक्ट्रॉन-वीयूआई लिंट कॉन्फ़िगरेशन के साथ संघर्ष करता है जिसके लिए एकलोट की आवश्यकता होती है।

मेरे पास पहले से स्थापित एक्सटेंशन नहीं हैं ( prettier.singleQuoteमेरी सेटिंग में नहीं )

इससे बचने के लिए VSCode को कैसे अनुकूलित करें?


जवाबों:


137

मेरे पास prettierएक्सटेंशन इंस्टॉल नहीं है , लेकिन मैंने अपने उपयोगकर्ता सेटिंग ( , Ctrl +, शॉर्टकट) में स्क्रैच से जोड़े गए संभावित डुप्लिकेट उत्तर को पढ़ने के बाद UserSetting.json:

"prettier.singleQuote": true

हरे रंग की चेतावनी का एक हिस्सा ( Unknown configuration setting) एकल उद्धरणों को प्रतिस्थापित नहीं किया जाता है।

मुझे संदेह है कि पूर्ववर्ती विस्तार दिखाई नहीं दे रहा है लेकिन वेतुर विस्तार के अंदर सन्निहित है।


2
यह मेरे लिए काम नहीं किया। मुझे vetur.format.defaultFormatterOptionsइसके बजाय उपयोग करना था। Https://vuejs.github.io/vetur/formatting.html#settings देखें ।
user1620220

त्वरित खोज खोलने के बाद, "> उपयोगकर्ता सेटिंग्स" टाइप करें और "प्राथमिकताएं: उपयोगकर्ता सेटिंग्स खोलें" पर क्लिक करें। अपनी वरीयताओं के खोज बॉक्स में, "prettier.singleQuote" टाइप करें और प्रीटीयर एकल उद्धरण के लिए चेकबॉक्स पर क्लिक करें।
कोडी

3
यह मेरे लिए काम नहीं किया, quote_type = singleमें [*.myDesiredFileExtension]भीतर अनुभाग .editorconfigफ़ाइल, समाधान था।
लोनली

82

खैर, पुरुष की तरह (@ user2982122) उल्लेख किया, लेकिन के बजाय फाइल करने के लिए जाने कोड -> वरीयताएँ -> सेटिंग्स, तो देखने के लिए बोली , चयन सुंदर और दोनों बॉक्स को चेक

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


1
क्या आपको उन्हें प्रभावी बनाने के लिए इन सेटिंग्स को फिर से लोड करना होगा? मैंने उन दोनों को जाँच लिया है, लेकिन जब मैं अपने .jsx फ़ाइल को सहेजता हूँ तो दोहरे उद्धरण चिह्नों को एकल में नहीं बदलते हैं।
जे वुडकच

यह अजीब है, मैं इस संस्करण का उपयोग कर रहा हूं: रिलीज 1.14 बिल्ड 1.14.0-17740
मुस्तफा मेखत्रिया

58

.editorconfigडिफ़ॉल्ट रूप से फ़ाइल का उपयोग करने वाली परियोजनाओं के लिए । सूत्रकार सेटिंग में नियमों की अनदेखी करेगा और नियमों का उपयोग करेगा .editorconfig, तो आप या तो कर सकते हैं:

  • .editorconfigफ़ाइल निकालें , और अपनी VSCode सेटिंग्स का उपयोग करें।
  • अपनी फ़ाइल प्रकार के बारे quote_type = singleमें .editorconfigफ़ाइल में जोड़ें । आप quote_typeमान को doubleया पर भी सेट कर सकते हैं auto

1
मैंने यह किया और अगर मैं विश्व स्तर पर Editorconfig स्थापित करता हूं तो यह परवाह किए बिना काम नहीं करता है या मैं VS कोड के लिए editorconfig पर मुकदमा चलाने की कोशिश करता हूं। :(
एक्रेलस्टीन

धन्यवाद, मेरा कोणीय एप्लिकेशन .editorconfigडिफ़ॉल्ट रूप से उपयोग नहीं करता है (यह नहीं पता है) और आपके समाधान ने मेरी समस्या को ठीक कर दिया है
benshabatnoam

कृपया विचार करें: .editorconfigयदि आप एक सामान्य संस्करण वाली परियोजना नहीं है, तो आप इसे नहीं हटा सकते हैं
लोनली

36

ऐसा लगता है कि यह इस मुद्दे के लिए एक बग खुला है: प्रीटीयर बग

उपरोक्त किसी भी समाधान ने मेरे लिए काम नहीं किया। केवल एक चीज जो काम करती थी, वह था पैकेज की इस पंक्ति को पैकेज में जोड़ना। json:

"prettier": {
    "singleQuote": true
  },


14

कृपया .editorconfigसब कुछ अधिलेखित करें, उपयोग पर विचार करें:

[*]
quote_type = single

12

सही समाधान:

मैं अपने मुख्य रूट प्रोजेक्ट में .prettierrc.js फ़ाइल जोड़ता हूं और लिखता हूं

module.exports = {
    singleQuote: true
  };

मैंने यह कोशिश की, लेकिन यह एक त्रुटि फेंकता है: "ESLint: से कॉन्फ़िगर करने के लिए" डिफॉल्ट्स / कॉन्फ़िगरेशन / एस्लिंट "को लोड करने में विफल"। पैकेज में इसे जोड़ना सबसे अच्छा होगा। json। समाधान
अवजोल सकाज

क्या आपने प्रोजेक्ट के रूट में अपनी .prettierrc.js फ़ाइल डाली थी?
उमर हसन

8

मेरे जैसे नए लोगों के लिए:

शीर्ष पर मेनू नव बार से: फ़ाइल का चयन करें -> वरीयताएँ -> सेटिंग्स। खोज टेक्स्ट बॉक्स में, नीचे दिखाई देने वाली फ़िल्टर की गई सूची में Quote टाइप करें, गियर आइकन देखें और उसके आगे - "Preierier"। "Prettier: Single Quote" को सक्षम करने के लिए चेक बॉक्स पर क्लिक करें


6

जैसा कि @attdona ने उल्लेख किया है कि वेटुर एक्सटेंशन में प्रीटीयर शामिल हैं।

जबकि आप स्वीकार किए गए उत्तर के अनुसार प्रीटियर सेटिंग्स बदल सकते हैं, आप किसी विशिष्ट घटक के विशिष्ट क्षेत्रों के लिए फॉर्मेटर भी बदल सकते हैं।

उदाहरण के लिए, मैंने Vetur को vscode-typecript फॉर्मैटर का उपयोग करने के लिए सेट किया है क्योंकि यह डिफ़ॉल्ट रूप से एकल उद्धरण का उपयोग करता है:

vscode vetur सेटिंग्स


6

मैं टाइपस्क्रिप्ट का उपयोग कर रहा हूं, मेरे लिए इसे प्रेटियर सेटिंग्स (विस्कोस प्रचार में) के तहत "Tslint इंटीग्रेशन" झंडे की जाँच के साथ हल किया गया है:

Prettier के लिए vscode सेटिंग्स, डबल कोट ऑटो फॉर्मेटिंग समस्या को ठीक करना


github.com/microsoft/vscode/issues/21424#issuecomment-282524286 - यह वह समय है जब / जहां यह VSCode में चला गया
सैम

6

मैं एक ही मुद्दा बनाम में था। बस अपनी रूट डायरेक्टरी में एक .prettierrc फ़ाइल बनाएं और निम्नलिखित json जोड़ें। एकल उद्धरण के लिए जोड़ें:

{
  "singleQuote": true
}

दोहरे उद्धरण जोड़ें के लिए:

  {
      "singleQuote": false
  }

6

इनमें से कोई एक उपाय आजमाएं

  1. Vscode settings.json फ़ाइल में यह प्रविष्टि जोड़ें "prettier.singleQuote": true
  2. Vscode में अगर आपके पास .editorconfigफाइल है, तो इस लाइन को रूट [*] सिंबल के नीचे जोड़ेंquote_type = single
  3. Vscode में अगर आपके पास .prettierrcफ़ाइल है, तो इस लाइन को जोड़ें
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
दूसरा विकल्प काम किया, दुर्भाग्यवश इस पृष्ठ के अन्य उत्तर काम नहीं किए
Mo.

6

अपने VSCode settings.jsonफ़ाइल में कोड के नीचे प्रीटियर एक्सटेंशन और पेस्ट स्थापित करें

 "prettier.useEditorConfig": false,
 "prettier.singleQuote": true

यह आपकी .editorconfigफ़ाइल सेटिंग की अनदेखी करेगा ।


5

वहाँ केवल समाधान है कि मेरे लिए काम किया: और केवल कोणीय परियोजनाओं के लिए:

बस अपनी परियोजना ".editorconfig" फ़ाइल में जाएं और 'quot_type = single' पेस्ट करें। आशा है कि यह आपके लिए भी काम करे।


4

मैंने .prettierrcअपने प्रोजेक्ट फोल्डर में फाइल जोड़ी । फ़ाइल सामग्री:

{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

2

आप सेटिंग में इसका उपयोग कर सकते हैं। json

"javascript.preferences.quoteStyle": "single"


1

यह मेरे लिए प्रिटियर में एक उद्धरण के साथ-साथ tslint.autoFixOnSave को सच मानने के लिए काम करता है

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

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


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