VSCode tek ila çift tırnak otomatik değiştirme


109

Bir Format DocumentVue Component.vue dosyası VSCode üzerinde bir komutu çalıştırdığımda, tüm tek tırnaklı dizeleri çift tırnaklı dizeyle değiştirin.

Benim özel durumumda bu kural, tek alıntı gerektiren elektron-vue tiftik konfigürasyonu ile çelişir.

Daha güzel uzantılara sahip değilim ( prettier.singleQuotebenim ayarımda yok )

Bundan kaçınmak için VSCode nasıl özelleştirilir?



Yanıtlar:


138

Uzantım prettieryüklü değil, ancak Kullanıcı Ayarıma sıfırdan ekledim olası yinelenen yanıtı okuduktan sonra ( UserSetting.json, Ctrl +, kısayol):

"prettier.singleQuote": true

Yeşil bir uyarı ( Unknown configuration setting) parçası , tek tırnaklar artık değiştirilmez.

Daha güzel uzantının görünmediğinden ancak Vetur uzantısının içine gömülü olduğundan şüpheleniyorum .


2
Bu benim için işe yaramadı. Onun vetur.format.defaultFormatterOptionsyerine kullanmak zorunda kaldım . Bkz. Https://vuejs.github.io/vetur/formatting.html#settings .
user1620220

Hızlı aramayı açtıktan sonra, "> kullanıcı ayarları" yazın ve "Tercihler: Kullanıcı Ayarlarını Aç" seçeneğini tıklayın. Tercihlerinizin arama kutusuna "güzel.singleQuote" yazın ve daha güzel tek alıntı için onay kutusunu tıklayın.
Kody

6
Bu benim için işe yaramadı, dosya quote_type = singleiçindeki [*.myDesiredFileExtension]bölümde .editorconfigçözüm oldu.
Lonely

82

Eh, adam gibi (@ user2982122) sözü ancak yerine Dosya için halindeyken Kanunu -> Tercihler -> Ayarlar ve ardından aramaya Alıntı seçin daha güzel ve iki kutuyu

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin


1
Etkili olabilmeleri için bu ayarları yeniden yüklemeniz gerekiyor mu? İkisini de kontrol ettim, ancak .jsx dosyamı kaydettiğimde çift tırnaklar tek olarak değişmiyor.
J Woodchuck

Bu garip, bu sürümü kullanıyorum: Sürüm 1.14, 1.14.0-17740 sürümü
mustapha mekhatria

58

.editorconfigVarsayılan olarak dosya kullanan projeler için . Biçimlendirici, ayarlardaki kuralları yok sayacak ve içindeki kuralları kullanacaktır .editorconfig, ardından şunlardan birini yapabilirsiniz:

  • .editorconfigDosyayı kaldırın ve VSCode ayarlarınızı kullanın.
  • Ekle quote_type = singleiçin .editorconfigdosya türü ile ilgili dosyanın. Ayrıca quote_typedeğeri doubleveya olarak da ayarlayabilirsiniz auto.

1
Bunu yaptım ve editorconfig'i global olarak yüklesem veya VS Code için editorconfig'i dava etmeye çalışsam da işe yaramadı. :(
acarlstein

Teşekkürler, Angular uygulamam .editorconfigvarsayılan olarak kullanıyor (bunu bilmiyordum) ve çözümünüz sorunumu çözdü
benshabatnoam

lütfen göz önünde bulundurun: .editorconfigyaygın sürümü olan bir proje ise silmeyebilirsiniz
Lonely

36

Görünüşe göre bu sorun için açık bir hata var: Prettier Bug

Yukarıdaki çözümlerin hiçbiri benim için işe yaramadı. İşe yarayan tek şey, bu kod satırını package.json içine eklemekti:

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


16

lütfen .editorconfigher şeyin üzerine yazmayı düşünün , şunu kullanın:

[*]
quote_type = single

12

Doğru çözüm:

.Prettierrc.js dosyasını ana kök projeme ekliyorum ve yazıyorum

module.exports = {
    singleQuote: true
  };

Bunu denedim ama bir hata veriyor: "ESLint:" Varsayılanlar / yapılandırmalar / eslint "ile genişletilecek yapılandırma yüklenemedi." En iyisi bunu package.json'a eklemek olacaktır. Çözüm
Avjol Sakaj

.prettierrc.js dosyanızı projenin kök dizinine mi koydunuz?
Omar Hasan

8

Benim gibi yeni başlayanlar için:

Üstteki menü Gezinme çubuğundan: Dosya -> Tercihler -> Ayarlar'ı seçin. Arama metin kutusuna Alıntı yazın Aşağıda görünen filtrelenmiş listede, dişli simgesini ve yanında "Daha Güzel" olup olmadığına bakın. "Güzel: Tek Alıntı" özelliğini etkinleştirmek için onay kutusunu tıklayın


7

Daha güzel uzantı yükleyin ve VSCode settings.jsondosyanıza aşağıdaki kodu yapıştırın

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

bu, .editorconfigdosya ayarınızı göz ardı eder .


6

@Attdona tarafından belirtildiği gibi, Vetur uzantısı daha güzeldir.

Kabul edilen cevaba göre daha güzel ayarları değiştirebilirken, bir vue bileşeninin belirli bölgeleri için formatlayıcıyı da değiştirebilirsiniz.

Burada, örneğin, Vetur'u varsayılan olarak tek tırnaklar kullandığı için vscode-typecript biçimlendiricisini kullanacak şekilde ayarladım:

vscode vetur ayarları



6

Vscode'da da aynı sorunu yaşadım. Kök dizininizde bir .prettierrc dosyası oluşturun ve aşağıdaki json'u ekleyin. Tek tırnak için şunu ekleyin:

{
  "singleQuote": true
}

Çift tırnak için şunu ekleyin:

  {
      "singleQuote": false
  }

6

Bu çözümlerden birini deneyin

  1. Vscode settings.json dosyasında bu girişi ekleyin "prettier.singleQuote": true
  2. Vscode'da dosyanız varsa .editorconfig, bu satırı kök [*] sembolünün altına ekleyinquote_type = single
  3. Vscode'da dosyanız varsa .prettierrcbu satırı ekleyin
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
İkinci seçenek ne yazık ki bu sayfadaki diğer cevaplar işe yaramadı çalıştı
Mo

5

Benim için çalışan tek çözüm var: ve sadece Angular Projeler için:

Proje ".editorconfig" dosyanıza gidin ve 'quote_type = single' yapıştırın. Umarım sizin için de çalışmalıdır.


4

.prettierrcProje klasörüme adlı dosyayı ekledim . Dosya içeriği:

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

2

Bunu settings.json'da kullanabilirsiniz

"javascript.preferences.quoteStyle": "single"



1

Prettier'daki tek alıntıyı ve tslint.autoFixOnSave'i true olarak kontrol etmek benim için çalışıyor

görüntü açıklamasını buraya girin

görüntü 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.