Sostituzione automatica delle virgolette VSCode da singole a doppie


109

Quando Format Documenteseguo un comando su un file Vue Component.vue, VSCode sostituisce tutte le singole stringhe tra virgolette con doppie virgolette.

Nel mio caso specifico questa regola è in conflitto con la configurazione lint di electron-vue che richiedono una citazione singola.

Non ho installato estensioni più carine (no prettier.singleQuotenelle mie impostazioni)

Come personalizzare VSCode per evitarlo?



Risposte:


137

Non ho prettierinstallato l'estensione, ma dopo aver letto la possibile risposta duplicata ho aggiunto da zero nelle mie Impostazioni utente ( UserSetting.json, Ctrl +, scorciatoia):

"prettier.singleQuote": true

A parte un avviso verde ( Unknown configuration setting) le virgolette singole non vengono più sostituite.

Sospetto che l'estensione più carina non sia visibile ma sia incorporata all'interno dell'estensione Vetur .


2
Questo non ha funzionato per me. Ho dovuto usare vetur.format.defaultFormatterOptionsinvece. Vedi https://vuejs.github.io/vetur/formatting.html#settings .
user1620220

Dopo aver aperto la ricerca rapida, digita "> impostazioni utente" e fai clic su "Preferenze: Apri impostazioni utente". Nella casella di ricerca delle tue preferenze, digita "prettier.singleQuote" e fai clic sulla casella di controllo per una citazione singola più carina.
Kody

5
Questo non ha funzionato per me, quote_type = singlenella [*.myDesiredFileExtension]sezione all'interno del .editorconfigfile, era la soluzione.
Solitario

82

Bene, come il ragazzo (@ user2982122) menzionato ma invece di File vai su Codice -> Preferenze -> Impostazioni, quindi cerca Citazione , seleziona Più carino e seleziona entrambe le caselle

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


1
È necessario ricaricare queste impostazioni affinché abbiano effetto? Li ho controllati entrambi, ma quando salvo il mio file .jsx le virgolette doppie non cambiano in singole.
J marmotta

È strano, sto usando questa versione: Release 1.14 build 1.14.0-17740
mustapha mekhatria

58

Per i progetti che utilizzano .editorconfigfile per impostazione predefinita. Il formattatore ignorerà le regole nelle impostazioni e utilizzerà le regole in .editorconfig, quindi puoi:

  • Rimuovi il .editorconfigfile e usa le tue impostazioni VSCode.
  • Aggiungi quote_type = singleal .editorconfigfile per quanto riguarda il tuo tipo di file. È inoltre possibile impostare il quote_typevalore su doubleo auto.

1
L'ho fatto e non ha funzionato a prescindere se ho installato editorconfig a livello globale o ho provato a citare in giudizio l'editorconfig per VS Code. :(
acarlstein

Grazie, la mia app Angular viene utilizzata .editorconfigper impostazione predefinita (non lo sapevo) e la tua soluzione ha risolto il mio problema
benshabatnoam

per favore considera: non puoi cancellare .editorconfigse si tratta di un progetto con versione comune
Lonely

36

Sembra che si tratti di un bug aperto per questo problema: Bug più carino

Nessuna delle soluzioni sopra ha funzionato per me. L'unica cosa che ha funzionato è stata l'aggiunta di questa riga di codice in package.json:

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


16

per favore considera .editorconfigsovrascrive tutto, usa:

[*]
quote_type = single

Questa era l'unica soluzione funzionante. Grazie compagno!
Donald Shahini

Sei il benvenuto @DonaldShahini;)
Solitario

12

Soluzione corretta:

Aggiungo il file .prettierrc.js nel mio progetto principale principale e scrivo

module.exports = {
    singleQuote: true
  };

Ho provato questo ma genera un errore: "ESLint: Impossibile caricare la configurazione" defaults / configurations / eslint "da cui estendere." La cosa migliore sarebbe aggiungerla in package.json. Soluzione
Avjol Sakaj

hai messo il tuo file .prettierrc.js nella root del progetto?
Omar Hasan

8

Per i neofiti come me:

Dal menu Barra di navigazione in alto: Seleziona File -> Preferenze -> Impostazioni. Nella casella di testo di ricerca, digita Citazione. Nell'elenco filtrato che appare sotto, cerca l'icona dell'ingranaggio e accanto ad essa - "Più bella". Fare clic sulla casella di controllo per abilitare "Prettier: Single Quote"


7

Installa l'estensione più carina e incolla sotto il codice nel tuo settings.jsonfile VSCode

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

questo ignorerà le .editorconfigimpostazioni del file.


6

Come notato da @attdona, l'estensione Vetur include più belle.

Sebbene sia possibile modificare le impostazioni più belle, in base alla risposta accettata, è anche possibile modificare il formattatore per regioni specifiche di un componente vue.

Qui, ad esempio, ho impostato Vetur per utilizzare il formattatore vscode-typescript poiché utilizza le virgolette singole per impostazione predefinita:

Impostazioni vscode vetur



6

Ho avuto lo stesso problema in vscode. Basta creare un file .prettierrc nella directory principale e aggiungere il seguente json. Per virgolette singole aggiungi:

{
  "singleQuote": true
}

Per le virgolette doppie aggiungi:

  {
      "singleQuote": false
  }

6

Prova una di queste soluzioni

  1. Nel file vscode settings.json aggiungi questa voce "prettier.singleQuote": true
  2. In vscode, se hai un .editorconfigfile, aggiungi questa riga sotto il simbolo [*] radicequote_type = single
  3. In vscode se hai .prettierrcfile, aggiungi questa riga
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
la seconda opzione ha funzionato, sfortunatamente le altre risposte in questa pagina non hanno funzionato
Lunedì

5

C'è solo la soluzione che ha funzionato per me: e solo per i progetti angolari:

Basta andare nel file ".editorconfig" del progetto e incollare "quote_type = single". Spero che funzioni anche per te.


4

Ho aggiunto il file chiamato .prettierrcnella cartella del mio progetto. Contenuto del file:

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

2

Puoi usarlo in settings.json

"javascript.preferences.quoteStyle": "single"



1

Per me funziona anche controllare le virgolette singole in Prettier e tslint.autoFixOnSave come true

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.