vscode缩进设为2个空格需同时配置editor.tabsize为2、editor.insertspaces为true、editor.detectindentation为false;语言专属设置可避免冲突,如json用2空格、python用4空格;右下角状态栏可快速临时调整当前文件缩进;prettier等格式化工具会覆盖编辑器设置,需通过.prettierrc统一配置。

缩进设为2个空格,关键看这三个配置项
VSCode里“缩进两个”通常指用2个空格代替Tab,这不是单个开关能搞定的,而是由editor.tabSize、editor.insertSpaces和editor.detectIndentation三者共同决定的。
-
editor.tabSize: 设为2,表示每次缩进占2个字符宽度 -
editor.insertSpaces: 必须设为true,否则按Tab键插入的是\t字符,不是空格 -
editor.detectIndentation: 建议设为false,否则VSCode打开已有文件时可能无视你的设置,自动改成文件里原本的缩进(比如看到4个空格就强行切到tabSize: 4)
全局设2空格 vs 某些语言设4空格(如Python)
很多项目要求JSON/JS/HTML用2空格,但Python必须用4空格——直接改全局设置会冲突。正确做法是用语言专属配置,避免互相覆盖。
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
- 打开命令面板(
Ctrl+Shift+P),输入并选择Preferences: Configure Language Specific Settings - 选中
json,填入:{"editor.tabSize": 2, "editor.insertSpaces": true, "editor.detectIndentation": false} - 再选
python,填入:{"editor.tabSize": 4, "editor.insertSpaces": true, "editor.detectIndentation": false} - 注意语言ID必须准确:
json不是jsonc,python不是py,可在右下角点击语言名确认
状态栏点一点,5秒临时改当前文件缩进
写一半发现缩进不对?不用翻设置,右下角状态栏就是最快调试入口。
- 看到
Spaces: 4或Tab Size: 2,直接点击它 - 菜单里选
Convert Indentation to Spaces可把全文Tab全转成空格 - 再点数字(如
4),输入2回车,立刻生效——但只对当前文件有效,关了再开就恢复语言设置 - 如果粘贴后缩进错乱,大概率是剪贴板带了Tab,而你设了
insertSpaces: true,混用导致视觉错位
格式化工具(如Prettier)会悄悄覆盖你的缩进设置
装了Prettier还设editor.tabSize: 2?大概率没用——它的tabWidth配置优先级更高。
- 检查
settings.json里有没有类似"[json]": {"editor.defaultFormatter": "esbenp.prettier-vscode"} - 想让Prettier听你的缩进,得在项目根目录加
.prettierrc,写{"tabWidth": 2} - 或者干脆禁用Prettier对某类文件的接管:
"[json]": {"editor.defaultFormatter": "vscode.json-language-features"} - 别忘了开
editor.formatOnSave,否则保存时不会自动对齐
editor.detectIndentation默认为true这件事——它像后台静默程序,不报错也不提醒,但会把你精心配好的语言规则一把掀翻。关掉它,比调10次tabSize都管用。









