私はTypeScript
とHTML
ファイルを書いています、そしてタブはスペースに変換されます。
設定を変更して再起動しようとしましたが、何も変わりませんでした。
私が設定した設定:
// Place your settings in this file to overwrite default and user settings.
{
"editor.insertSpaces": false
}
私はそれをグーグルしようとしました、そして、私は私が"editor.insertSpaces": false
を加えたときに私が正しいステップをしたのを見つけました、しかしそれは私の好みを変えませんでした。
編集1:
タブは.html
ファイルでは機能するが、.ts
ファイルでは機能しないことがわかりました。
3つの選択肢があります。
// The number of spaces a tab is equal to.
"editor.tabSize": 4,
// Insert spaces when pressing Tab.
"editor.insertSpaces": true,
// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": true
editor.detectIndentation
はあなたのファイルからそれを検出します、あなたはそれを無効にしなければなりません。それでも解決しない場合は、優先順位の高い設定がないことを確認してください。たとえば、ユーザー設定に保存すると、プロジェクトフォルダにあるワークスペース設定によって上書きされる可能性があります。
更新:
これで、これらのオプションを手動で編集する代わりになります。
エディタの右下にあるセレクタSpaces:4をクリックします。
既存のwsをtabに変換したい場合は、Marketplaceから拡張機能をインストールしてください。
編集:
既存のインデントをスペースからタブに変換するにはCtrl+Shift+P
を押して次のように入力します。
>Convert indentation to Tabs
これにより、タブの定義設定に基づいて文書のインデントが変更されます。
Ctrl + shift + Pを押してから「インデントをタブに変換」
File
➤Preferences
➤Settings
に移動するか、Ctrl + ,
を押しますeditor.insertSpaces
F1
を押す➤reload window
を入力する➤Enter
を押す)プラグインがインストールされているためと思われますJS-CSS-HTML Formatter
(File
➤Preferences
➤Extensions
に移動するか、単にCtrl + Shift + X
を押すと、Enabledのリストに表示されますJS-CSS -HTMLフォーマッタ)
その場合、このプラグインを変更できます。
F1
を押します➤Formatter config
を入力します➤Enter
を押します(ファイルformatter.json
を開きます)ファイルを次のように変更します。
4| "indent_size": 1,
5| "indent_char": "\t"
——|
24| "indent_size": 1,
25| "indentCharacter": "\t",
26| "indent_char": "\t",
——|
34| "indent_size": 1,
35| "indent_char": "\t",
36| "indent_character": "\t"
保存します(File
➤Save
に移動するか、Ctrl + S
を押します)
F1
を押す➤reload window
を入力する➤Enter
を押す)私の場合、問題は1月の更新後にインストールされたJS-CSS-HTML Formatter拡張でした。デフォルトのindent_charプロパティは空白です。私はそれをアンインストールし、そして奇妙な行動は止まります。
以下の設定は私にはうまくいきます、
"editor.insertSpaces": false,
"editor.formatOnSave": true, // only if you want auto fomattting on saving the file
"editor.detectIndentation": false
上記の設定はすべてのファイルに反映され適用されます。すべてのファイルを手動でインデント/フォーマットする必要はありません。
公式のvscode設定からこれをチェックしてください:
// Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents.
"editor.detectIndentation": true,
// The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
"editor.tabSize": 4,
// Configure editor settings to be overridden for [html] language.
"[html]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.autoIndent": false
}