Podczas pracy w języku TypeScript w programie Visual Studio Code sugestia importu dotycząca typu (wyzwalana przez spację + kropkę) spowoduje wygenerowanie importu przy użyciu podwójnych cudzysłowów.
Nasz linter TypeScript sprawdza, czy w miarę możliwości używane są pojedyncze cudzysłowy.
Jak widać poniżej, sugestia zawiera podwójne cudzysłowy („@angular / ...”)
Jak mogę dostosować ustawienia importu?
typescript
visual-studio-code
Boris van Katwijk
źródło
źródło
Odpowiedzi:
Od wersji VSCode 1.10 nie jest to (niestety) jeszcze możliwe. Ale wydaje się, że jest to problem dla wielu użytkowników. Motyw VSCode jest świadomy tego problemu i możesz śledzić to, aby wiedzieć, kiedy zostanie wdrożony: https://github.com/Microsoft/TypeScript/issues/13270
Aktualizacja czerwiec 2018
Od wersji 1.24 VSCode (czerwiec 2018) istnieje taka opcja!
"typescript.preferences.quoteStyle": "single"
Więcej informacji:
https://code.visualstudio.com/updates/v1_24#_preferences-for-auto-imports-and-generated-code
źródło
"typescript.preferences.quoteStyle": "single"
Możesz również skonfigurować poniższą linię w ustawieniach użytkownika VScode, aby dostosować to ustawienie.
"prettier.singleQuote": true
źródło
Naprawiłem to za pomocą konfiguracji Edytora , otwórz plik .editorconfig w katalogu głównym projektu (jeśli nie masz, utwórz ten plik) i dodaj tę linię po [*]
Na wiki możesz zobaczyć pełną listę nieruchomości.
źródło
Od VS Code 1.21.1 musisz edytować
W systemie Windows
W systemie Windows 10 (wersja vscode 1.30. * (Konfiguracja użytkownika) później)
W sekcji „Importuj moduł zewnętrzny” tego pliku ustaw właściwość tablicy body jako wartość
"import { $0 } from '${1:module}';"
Sekcja będzie wtedy wyglądać następująco:"Import external module.": { "prefix": "import statement", "body": [ "import { $0 } from '${1:module}';" ], "description": "Import external module." },
źródło
Alternatywą obsługującą tę konfigurację jest TypeScript Toolbox .
Można go skonfigurować przez ustawienie
genGetSet.pathStringDelimiter
, które ma już domyślnie import pojedynczych ofert.źródło
genGetSet.spacedImportLine
również zwrócić uwagę na ustawienie, aby nowe linie importu wyglądały jakimport { Router }....
zamiast domyślnychimport {Router}...
Przejdź do „Plik> Preferencje> Ustawienia”, a następnie dodaj to w ustawieniach użytkownika:
"typescript.preferences.quoteStyle": "single", "javascript.preferences.quoteStyle": "single"
źródło
// Preferred quote style to use for quick fixes: 'single' quotes, 'double' quotes, or 'auto' infer quote type from existing imports. Requires using TypeScript 2.9 or newer in the workspace.
Począwszy od TypeScript 2.5, pierwsza instrukcja importu lub eksportu w pliku zostanie przeskanowana w celu określenia, czy podczas korzystania z sugestii importu używane są pojedyncze czy podwójne cudzysłowy.
https://github.com/Microsoft/TypeScript/pull/17750
źródło
Możesz również skonfigurować poniższy wiersz w ustawieniach użytkownika vscode, aby zezwolić na pojedynczy cudzysłów w ciągu.
Przejdź do Preferencje> Ustawienia użytkownika
"prettier.singleQuote": true
Pozwoli to na pojedyncze cudzysłowy w String. W przeciwnym razie, jeśli ręcznie zmienisz wszystkie podwójne cudzysłowy na pojedyncze cudzysłowy, zostanie to cofnięte podczas zapisywania. Dodaj także
"tslint.autoFixOnSave": true
do automatycznej naprawy podczas zapisywania.
źródło
Jest to już zaimplementowane (jak wspomniano w innej odpowiedzi)! Ale prawdopodobnie nie korzystasz jeszcze z najnowszej wersji TypeScript.
Rozwiązanie jest proste:
Kliknij numer wersji TypeScript (na przykład 2.3.4) między „TypeScript” a małą uśmiechniętą buźką w prawym dolnym rogu. Następnie przejdź do wersji wbudowanej programu Visual Studio Code (obecnie 2.5.3).
Po tym kod programu Visual Studio wywnioskuje styl importowania oferty, patrząc na pierwszą instrukcję importu . Zauważ, że mała etykieta wyskakująca i tak będzie nadal wyświetlać podwójne cudzysłowy.
Zgłoszenie błędu
Odpowiednie żądanie ściągnięcia :
źródło
Powyższe rozwiązania u mnie nie działają
Oto moje obejście, gdy używasz vscode,:
"tslint.autoFixOnSave"
true w twojejsettings.json
woli automatycznie naprawi te cytaty importu po zapisaniu pliku.źródło
Unknown Configuration Setting