必须手动选择python解释器路径,否则import报错、调试断连、补全失效;操作为ctrl+shift+p → python: select interpreter → 选带明确路径的项(如./venv/bin/python),右下角显示路径即生效。

Python开发:ms-python.python + Pylance是默认组合,但别忽略Python解释器路径
VS Code不会自动识别你系统里装的Python,哪怕python --version能跑通。安装ms-python.python后,必须手动选一次解释器,否则import补全、类型提示、调试都会失效。
操作路径是:Ctrl+Shift+P → 输入Python: Select Interpreter → 从列表选中你的虚拟环境或系统Python路径(比如~/venv/bin/python或C:\Users\name\AppData\Local\Programs\Python\Python312\python.exe)。
常见错误现象:
- 写
requests.get没补全,点进去跳转失败 - 类型注解如
def foo(x: str) -> int:不报错,哪怕返回了字符串 - 调试时提示
No Python interpreter specified
原因不是插件没装,而是解释器未指定。Pylance依赖解释器路径来加载site-packages里的类型存根(stub files),路径错一点,整个智能感知就降级成纯文本匹配。
C/C++开发:cpptools配置核心在c_cpp_properties.json,不是随便点一下就完事
ms-vscode.cpptools装完只是开始。它靠c_cpp_properties.json告诉IntelliSense“头文件在哪、宏怎么定义、用哪个标准”。这个文件不配,#include补全基本瘫痪,__linux__这类宏定义也不生效。
生成方式:Ctrl+Shift+P → C/C++: Edit Configurations (UI) → 填好编译器路径(如/usr/bin/gcc或C:\MinGW\bin\gcc.exe)、includePath、defines,保存后自动生成.vscode/c_cpp_properties.json。
容易踩的坑:
- 在多根工作区里,每个文件夹都得有自己独立的
c_cpp_properties.json,共用一个会出错 - Windows下用MinGW但
compilerPath填了clang.exe,会导致头文件路径解析失败 -
intelliSenseMode设成gcc-arm却在x86项目里用,补全会漏掉大量标准库函数
TypeScript/JavaScript:原生支持≠开箱即用,tsdk路径和jsconfig.json常被忽略
VS Code自带TS支持,但只用默认配置,node_modules里的类型、项目级路径别名(如@/components)全都不认。关键在于两处:
- 在工作区设置里加
"typescript.tsdk": "./node_modules/typescript/lib",强制使用项目本地TS版本,避免VS Code内置TS和项目TS版本不一致导致const enum或moduleResolution行为异常 - 根目录放
jsconfig.json(JS项目)或tsconfig.json(TS项目),里面至少要有"compilerOptions.baseUrl"和"compilerOptions.paths",否则路径别名补全和跳转全部失效
典型错误表现:
- 写
import Button from '@/ui/Button',按住Ctrl点不跳转 - 写
Array.from没提示,但Array.prototype.map有——说明lib配置没对上 - 改了
tsconfig.json后补全没更新,要重启TS服务器(Ctrl+Shift+P →TypeScript: Restart TS server)
Java开发:扩展链路长,XML支持和语言服务器必须同时到位
Java在VS Code里不是单个插件的事。基础三件套是:redhat.java(JDT语言服务器)、vscode-java-debug(调试器)、xml-language-support(XML语法校验)。缺任何一个,体验断层明显。
最常被跳过的环节是xml-language-support。不装它,MyBatis的<select></select>标签里写错或<code>>,VS Code根本不会标红,等运行时报XML parse error才傻眼。
另外,redhat.java启动需要时间,首次打开Java项目会卡几秒显示“Loading Java project”,这是正常现象。但如果你看到Language Server is not running警告,大概率是Java环境变量JAVA_HOME没设对,或者指向了JRE而非JDK。
验证方法:终端执行$JAVA_HOME/bin/java -version,输出必须包含javac相关字眼,否则重设JAVA_HOME到JDK安装路径。
复杂点在于,Java项目结构(Maven/Gradle)会影响redhat.java的索引范围。如果pom.xml不在根目录,得在设置里手动指定"java.configuration.updateBuildConfiguration": "interactive",否则依赖类根本进不了补全列表。











