VSCode编写Python时保存后缩进变为两个Tab的问题求助
问题描述
我在VSCode设置中将Tab Size设为2,同时在Prettier中也配置为2个空格缩进。输入时一切正常:换行后自动缩进1个Tab(对应2个空格),按下Tab键也能在光标处插入一个Tab。但保存文件后,所有用于缩进的单个Tab都变成了两个Tab。我正在开发Discord机器人,期望保存后的效果是单个Tab对应2个空格的缩进。
解决步骤
调整VSCode核心缩进设置
打开VSCode设置(快捷键Ctrl+,),搜索editor.insertSpaces,确保该选项处于关闭状态。如果开启,VSCode会自动将Tab字符转换为空格,和Prettier的配置产生冲突。明确Prettier配置
在项目根目录的.prettierrc或.prettierrc.json文件中添加以下配置:{ "tabWidth": 2, "useTabs": true }useTabs: true指定Prettier使用Tab字符进行缩进,tabWidth: 2确保Tab字符在显示时对应2个空格宽度,和VSCode的Tab Size设置统一。设置Prettier为默认格式化器
在VSCode设置中搜索editor.defaultFormatter,将其值设置为esbenp.prettier-vscode,避免其他格式化插件干扰。同时确认editor.formatOnSave选项是开启的,确保保存时自动用Prettier格式化。排查局部配置干扰
如果项目中有.vscode/settings.json文件,检查其中是否有覆盖全局设置的缩进相关配置,如有则删除或修改为和全局一致的设置。
内容的提问来源于stack exchange,提问作者AgentStrawberry

