在使用Visual Studio代码时,如何自定义制表符到空格的转换因子?
例如,现在在HTML中,每次按TAB键会产生两个空格,但在TypeScript中会产生4个空格。
在使用Visual Studio代码时,如何自定义制表符到空格的转换因子?
例如,现在在HTML中,每次按TAB键会产生两个空格,但在TypeScript中会产生4个空格。
当前回答
@ alexo -dima从2015年开始的解决方案将改变所有文件的制表符大小和空格,@Tricky从2016年开始的解决方案似乎只改变当前文件的设置。
截至2017年,我找到了另一种针对每种语言的解决方案。Visual Studio Code没有为Elixir使用合适的标签大小或空间设置,所以我发现我可以更改所有Elixir文件的设置。
我点击状态栏中的语言(在我的例子中是“Elixir”),选择“Configure 'Elixir' language based settings…”,并编辑Elixir特定的语言设置。我只是复制了“编辑器”。tabSize和编辑器。“insertSpaces”设置从左边的默认设置(我很高兴显示这些设置),然后在右边修改它们。
它工作得很好,现在所有Elixir语言文件都使用了适当的制表符大小和空间设置。
其他回答
默认情况下,Visual Studio Code将根据您打开的文件尝试猜测缩进选项。
你可以通过"editor.detectIndentation": false关闭缩进猜测。
您可以通过以下三个设置轻松自定义:Windows菜单中的文件→首选项→用户设置,Mac菜单中的代码→首选项→设置或⌘,:
// The number of spaces a tab is equal to. This setting is overridden
// based on the file contents when `editor.detectIndentation` is true.
"editor.tabSize": 4,
// Insert spaces when pressing Tab. This setting is overriden
// based on the file contents when `editor.detectIndentation` is true.
"editor.insertSpaces": true,
// When opening a file, `editor.tabSize` and `editor.insertSpaces`
// will be detected based on the file contents. Set to false to keep
// the values you've explicitly set, above.
"editor.detectIndentation": false
在Visual Studio Code版本1.31.1或更高版本中(我认为):像sed Alex Dima一样,您可以通过这些设置轻松地自定义
Windows菜单中的文件→首选项→用户设置或使用短键Ctrl + Shift + P Mac在菜单代码→首选项→设置或⌘,
菜单文件→首选项→设置
添加到用户设置:
"editor.tabSize": 2,
"editor.detectIndentation": false
然后右键单击你的文档,如果你已经打开了一个,然后单击格式化文档,让你现有的文档遵循这些新的设置。
你想要确保你的编辑配置不与你的用户或工作区设置配置冲突,因为我只是有一点烦恼,认为设置文件设置没有被应用时,它是我的编辑器配置撤消这些更改。
那是孤独。要怪vcode -js-css-html-formatter。禁用它,并安装HookyQR.beautify。
现在保存你的标签不会被转换。