必须手动触发AWS: Login命令(Cmd+Shift+P或Ctrl+Shift+P输入),选Profile方式时需确保~/.aws/credentials文件格式严格正确、region设置匹配,且项目须以文件夹形式打开才能右键部署template.yaml。

VSCode 中 AWS Toolkit 插件装完不配置,等于没装——它不会自动读取 ~/.aws/credentials,也不会默认选对区域,更不会识别你本地 CLI 配置里的命名 profile。必须手动触发登录流程,且路径、格式、权限三者缺一不可。
如何触发 AWS Toolkit 的凭证加载流程
插件安装后不会自动弹出登录界面,必须主动调用命令。快捷键或命令面板是唯一可靠入口,靠“点图标等提示”会卡住。
- macOS:按
Cmd+Shift+P,Windows/Linux:按Ctrl+Shift+P - 输入
AWS: Login并回车(注意大小写和冒号) - 不要选
AWS: Configure AWS Credentials—— 这个命令只改本地文件,不刷新插件会话 - 若列表为空,说明插件未完全加载,重启 VSCode 再试一次
为什么选了 Profile 却提示 "No credentials found"
常见原因是 ~/.aws/credentials 文件存在但格式非法,或 profile 名与选择项不一致。Toolkit 不做容错解析,错一个字符就失败。
- 文件必须是纯文本,不能是 Windows 的
.txt后缀或带 BOM 的 UTF-8 - profile 段落必须严格以
[my-profile]开头,不能有空格、下划线以外的符号 - 确保
aws_access_key_id和aws_secret_access_key两行都在该段落内,且无拼写错误 - 如果用了
aws_session_token(例如临时凭证),必须连同前两项一起放在同一段落中
区域(Region)设错会导致哪些服务不可见
AWS Explorer 默认只显示当前 region 下的资源。EC2 实例在 us-west-2,但插件 region 设成 ap-southeast-1,那列表就是空的——不是没权限,是根本没查那个区。
- 区域设置独立于凭证文件,需在 VSCode 设置里搜
aws.region修改,或通过命令面板运行AWS: Change Region - 若使用 IAM Identity Center 登录,region 由单点登录时的 session 决定,无法在 VSCode 里覆盖
- S3 存储桶名全局唯一,但插件只列出当前 region 的 bucket 列表;跨 region 访问需手动在 URL 栏输入完整 endpoint
部署 SAM 应用时 template.yaml 右键没反应
右键菜单项 Deploy Serverless Application 是条件渲染的:只有当 VSCode 当前打开的是 workspace 根目录,且该目录下存在 template.yaml 或 template.yml 时才会出现。
- 不要双击打开单个
template.yaml文件就右键——必须通过File > Open Folder...打开整个项目根目录 - 确认文件名是
template.yaml(不是aws-template.yaml或serverless.yaml) - 检查文件是否被 VSCode 识别为 YAML:右下角状态栏应显示
YAML,否则安装官方YAML扩展 - 如果仍不出现,运行
AWS: Refresh AWS Explorer强制重载上下文
最容易被忽略的是:AWS Toolkit 的登录状态和 VSCode 窗口绑定,关掉窗口再重开,得重新 AWS: Login;多窗口工作时,每个窗口都可能处于不同 profile 或 region 下。


















