VSCode一重引用符から二重引用符の自動置換


109

Format DocumentVue Component.vueファイルでコマンドを実行すると、VSCodeはすべての一重引用符で囲まれた文字列を二重引用符で囲まれた文字列に置き換えます。

私の特定のケースでは、このルールは、シングルクォートを必要とするエレクトロニックビューリント構成と競合します。

私はよりきれいな拡張機能をインストールしていません(prettier.singleQuote私の設定にはありません)

これを回避するためにVSCodeをカスタマイズする方法は?



回答:


137

私は持っていけないprettier拡張機能がインストールされていますが、読んだ後に重複する可能性の答えを私は私のユーザー設定(スクラッチから追加したUserSetting.json、Ctrlキー+、ショートカット):

"prettier.singleQuote": true

緑の警告(Unknown configuration setting)の一部は、一重引用符で置き換えられなくなりました。

きれいな拡張機能は表示されていませんが、Vetur拡張機能の中に埋め込まれていると思います。


2
これは私にはうまくいきませんでした。vetur.format.defaultFormatterOptions代わりに使用する必要がありました。https://vuejs.github.io/vetur/formatting.html#settingsを参照してください
user16202 2019年

クイック検索を開いた後、「ユーザー設定」と入力し、「設定:ユーザー設定を開く」をクリックします。設定の検索ボックスに「prettier.singleQuote」と入力し、よりきれいな一重引用符のチェックボックスをクリックします。
コディ

4
これは、私のために動作しませんでしたquote_type = single[*.myDesiredFileExtension]内セクション.editorconfigファイル、ソリューションでした。
孤独な

82

まあ、男のように(@ user2982122)は述べたが、代わりにファイルへ行くコード- >設定- >設定は、その後、探し引用、選択きれいにし、両方のチェックボックスをオン

ここに画像の説明を入力してください ここに画像の説明を入力してください


1
これらの設定を有効にするには、これらの設定を再読み込みする必要がありますか?両方をチェックしましたが、.jsxファイルを保存しても、二重引用符は一重引用符に変更されません。
Jウッドチャック

それは奇妙です、私はこのバージョンを使用しています:リリース1.14ビルド1.14.0-17740
mustaphamekhatria19年

58

.editorconfigデフォルトでファイルを使用するプロジェクトの場合。フォーマッタは設定のルールを無視し、のルールを使用します.editorconfig。その後、次のいずれかを実行できます。

  • .editorconfigファイルを削除し、VSCode設定を使用します。
  • ファイルタイプに関してファイルに追加quote_type = single.editorconfigます。quote_type値をdoubleまたはに設定することもできますauto

1
私はこれを行いましたが、editorconfigをグローバルにインストールしたか、VS Codeのeditorconfigを訴えようとしても、機能しませんでした。:(
acarlstein

おかげで、私のAngularアプリは.editorconfigデフォルトで使用し(それを知りませんでした)、あなたのソリューションは私の問題を修正しました
benshabatnoam

考慮してください:.editorconfigそれが一般的なバージョンのプロジェクトである場合は削除できません
孤独な

36

この問題で未解決のバグのようです:Prettier Bug

上記の解決策はどれも私にはうまくいきませんでした。 動作したのは、package.jsonに次のコード行を追加することだけでした。

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


16

.editorconfigすべてを上書きすることを検討してください、使用してください:

[*]
quote_type = single

これが唯一の実用的な解決策でした。相棒、ありがとな!
ドナルドシャヒニ

どういたしまして@DonaldShahini;)
孤独な

12

正しい解決策:

メインルートプロジェクトに.prettierrc.jsファイルを追加して書き込みます

module.exports = {
    singleQuote: true
  };

これを試しましたが、エラーがスローされます:「ESLint:拡張元の構成 "defaults / configuration / eslint"のロードに失敗しました。」これをpackage.jsonに追加するのが最善です。解決策
AvjolSakaj19年

.prettierrc.jsファイルをプロジェクトのルートに配置しましたか?
オマール・ハッサン

8

私のような初心者の場合:

上部のメニューナビゲーションバーから:[ファイル]-> [設定]-> [設定]を選択します。検索テキストボックスに「見積もり」と入力します。下に表示されるフィルタリングされたリストで、歯車のアイコンを探し、その横にある「きれい」を探します。チェックボックスをクリックして、「よりきれい:一重引用符」を有効にします


7

よりきれいな拡張機能をインストールし、VSCodesettings.jsonファイルに以下のコードを貼り付けます

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

これは.editorconfigファイル設定を無視します。


6

@attdonaが指摘しているように、Vetur拡張機能にはよりきれいなものが含まれています。

受け入れられた回答に従って、よりきれいな設定を変更できますが、vueコンポーネントの特定の領域のフォーマッターを変更することもできます。

ここでは、たとえば、デフォルトで一重引用符を使用するため、vscode-typescriptフォーマッターを使用するようにVeturを設定しました。

vscodevetur設定



6

vscodeでも同じ問題が発生しました。ルートディレクトリに.prettierrcファイルを作成し、次のjsonを追加するだけです。 一重引用符の場合は、次を追加します。

{
  "singleQuote": true
}

二重引用符の場合は、次を追加します。

  {
      "singleQuote": false
  }

6

これらのソリューションのいずれかを試してください

  1. vscodesettings.jsonファイルにこのエントリを追加します "prettier.singleQuote": true
  2. vscodeで.editorconfigファイルがある場合は、ルート[*]記号の下にこの行を追加しますquote_type = single
  3. .prettierrcファイルがある場合はvscodeで、この行を追加します
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
2番目のオプションは、残念ながら、このページの他の答えが動作しませんでした、働いていた
ミズーリ州

5

私のために働いた唯一の解決策があります:そしてAngularプロジェクトのためだけに:

プロジェクトの「.editorconfig」ファイルに移動して、「quote_type = single」を貼り付けるだけです。それがあなたにもうまくいくことを願っています。


4

.prettierrcプロジェクトフォルダに呼び出されたファイルを追加しました。ファイルの内容:

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

2

これはsettings.jsonで使用できます

"javascript.preferences.quoteStyle": "single"



1

Prettierで一重引用符をチェックし、tslint.autoFixOnSaveをtrueとしてチェックすることは私にとってはうまくいきます

ここに画像の説明を入力してください

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.