Visual Studio CodeのTypeScriptで作業する場合、タイプのインポートの提案(スペース+ピリオドによってトリガーされる)は、二重引用符を使用してインポートを生成します。
TypeScript linterは、可能な限り一重引用符が使用されていることを確認します。
以下に示すように、提案には二重引用符( "@angular/...")があります
インポートの設定を調整するにはどうすればよいですか?
VSCode 1.10の時点では、これはまだ(残念ながら)不可能です。しかし、多くのユーザーにとっては問題のようです。 VSCodeテーマはこの問題を認識しており、これを実行して、いつ実装されるかを知ることができます。 https://github.com/Microsoft/TypeScript/issues/1327
2018年6月更新
VSCode 1.24(2018年6月)以降、このオプションがあります!詳細については、以下を参照してください。
https://code.visualstudio.com/updates/v1_24#_preferences-for-auto-imports-and-generated-code
この設定を調整するには、vscodeユーザー設定で次の行を構成することもできます。
"prettier.singleQuote": true
VS Code 1.21.1の時点で、編集する必要があります
/ usr/share/code/resources/app/extensions/TypeScript-basics/snippets/TypeScript.json
Windowsの場合
/ Applications/Visual Studio Code.app/Contents/Resources/app/extensions/TypeScript-basics/snippets/TypeScript.json。
Windows 10(vscodeバージョン1.30。*(ユーザーセットアップ)以降)
* C:\ Users\<yourusername>\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\TypeScript-basics\snippets\TypeScript.json
そのファイルの「外部モジュールのインポート」セクションで、body配列プロパティーの値を"import { $0 } from '${1:module}';"
にします。セクションは次のようになります。
"Import external module.": {
"prefix": "import statement",
"body": [
"import { $0 } from '${1:module}';"
],
"description": "Import external module."
},
この構成をサポートする代替手段は TypeScript Toolbox です。
genGetSet.pathStringDelimiter
を設定することで構成可能です。デフォルトでは、すでに一重引用符のインポートがあります。
[ファイル]> [設定]> [設定]に移動し、ユーザー設定の下にこれを追加します。
"TypeScript.preferences.quoteStyle": "single",
"javascript.preferences.quoteStyle": "single"
Editor config を使用して修正し、プロジェクトのルートディレクトリにある。editorconfigファイルを開きます(持っていない場合は、そのファイルを作成して)[*]の後にこの行を追加します
[*]
...
quote_type = single
wiki で、プロパティの完全なリストを見ることができます。
TypeScript 2.5以降、ファイル内の最初のインポートまたはエクスポートステートメントがスキャンされ、インポート候補の使用時に一重引用符または二重引用符が使用されているかどうかが判断されます。
また、vscodeユーザー設定で次の行を構成して、文字列で一重引用符を許可することもできます。
[設定]> [ユーザー設定]に移動します
"prettier.singleQuote": true
これにより、文字列で単一引用符を使用できます。それ以外の場合、すべての二重引用符を手動で単一引用符に変更すると、保存中に元に戻ります。また、追加
"tslint.autoFixOnSave": true
保存中に自動修正します。
これは既に実装されています(別の返信で述べたように)!ただし、TypeScriptの最新バージョンをまだ使用していない可能性があります。
解決策は簡単です。
「TypeScript」と右下隅の小さな笑顔の顔の間のTypeScriptバージョン番号(たとえば2.3.4)をクリックします。次に、Visual Studio Codeビルトインバージョン(現時点では2.5.3)に切り替えます。
このVisual Studioコードは、最初のインポートステートメントを見ることで、インポート引用スタイルを推論します。いずれにしても、小さなポップアップラベルには二重引用符が表示されることに注意してください。
これにより、コード修正によって追加された新しいインポートに一重引用符を使用するか二重引用符を使用するかを決定する機能が追加されます。新しいインポートが追加されると、モジュール指定子を使用して、既存のインポートまたはエクスポート宣言のソースファイルの最上位ステートメントをスキャンします。次に、最初に見つかったものの引用スタイルを使用します。ファイルに既存のインポートがない場合、二重引用符を使用することにフォールバックします。
上記の解決策はうまくいきませんでした
そこで、私の回避策は次のとおりです。vscodeを使用する場合、"tslint.autoFixOnSave"
:settings.json
のtrueは、ファイルを保存するときにこれらのインポート引用を自動的に修正します。