VS Code 中 Vue 文件 Emmet 补全、代码运行与调试配置指南
Vue 文件中 Tab 键无法触发 HTML 标签补全
在使用 VS Code 编辑 Vue 文件时,若按下 Tab 键无法自动补全 HTML 标签,通常是因为 Emmet 功能未正确启用。可通过修改用户设置解决。
按下 Ctrl+, 打开设置界面,切换到 JSON 模式(即编辑 settings.json),添加以下配置:
{
"html-css-class-completion.enableEmmetSupport": true,
"emmet.triggerExpansionOnTab": true,
"emmet.showAbbreviationSuggestions": true,
"emmet.showExpandedAbbreviation": "always",
"emmet.includeLanguages": {
"javascript": "html"
}
}
其中关键配置为 triggerExpansionOnTab,它允许通过 Tab 键触发 Emmet 缩写展开。此外,将 JavaScript 中的片段识别为 HTML 可提升 JSX 或模板字符串中的补全体验。
使用 Run Code 插件运行 Python 报错"模块未找到"
当使用 Code Runner 插件执行 Python 脚本时,可能会因解释器路径或环境问题导致"Module not found"错误。可通过自定义执行命令解决。
在 settings.json 中配置 code-runner.executorMap,明确指定 Python 解释器路径:
{
"code-runner.executorMap": {
"python": "/usr/bin/python3 -u $fullFileName"
}
}
更灵活的方式是动态获取当前选中的解释器:
{
"code-runner.executorMap": {
"python": "${command:python.interpreterPath} -u $fullFileName"
},
"code-runner.runInTerminal": false
}
设置 runInTerminal 为 false 可使输出显示在插件专用面板而非终端中,便于快速查看结果。
为代码文件自动插入头部注释
可通过创建用户代码片段(User Snippets)实现一键插入标准化文件头,如作者信息、创建时间等。
- 使用快捷键
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux)打开命令面板。 - 输入并选择 Preferences: Configure User Snippets。
- 选择全局片段或语言专属片段(如
python.json)进行编辑。
示例:为 Python 添加带元信息的头部模板:
{
"Python File Header": {
"prefix": "hdr",
"body": [
"#!/usr/bin/env python",
"# -*- coding: utf-8 -*-",
"# @Author: ${1:YourName}",
"# @Created: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}",
"# @Desc: ${2:Description here}"
],
"description": "Insert standard Python file header"
}
}
保存后,在任意 Python 文件中输入 hdr 并按 Tab 即可生成该头部。
调试配置详解与最佳实践
VS Code 的调试功能通过 .vscode/launch.json 文件定义,合理配置可大幅提升开发效率。
核心字段说明
| 字段 | 类型 | 必填 | 说明 | 常用值 |
|---|---|---|---|---|
name |
string | 否 | 调试配置的名称,出现在启动菜单中 | "Debug Main Module" |
type |
string | 是 | 调试器类型,Python 推荐使用 debugpy |
"debugpy", "python" |
request |
string | 是 | 请求类型:launch 启动新进程,attach 连接已有进程 |
"launch", "attach" |
program |
string | 条件必填 | 要运行的脚本文件路径 | "${file}", "main.py" |
module |
string | 条件必填 | 以模块形式运行(支持相对导入) | "src.app.cli" |
cwd |
string | 否 | 程序运行时的工作目录 | "${workspaceFolder}" |
console |
string | 否 | 输出目标控制台 | "integratedTerminal" |
args |
array | 否 | 传递给程序的命令行参数 | ["--debug", "--port", "8000"] |
python |
string | 否 | 指定 Python 解释器路径 | "${command:python.interpreterPath}" |
启动方式对比:program vs module
program 和 module 不应同时存在,二者逻辑互斥:
- program:对应命令
python script.py,适用于独立脚本。 - module:对应命令
python -m package.module,适用于包结构项目,支持相对导入(如from .utils import helper)。
建议:对于包含 src/ 目录和 __init__.py 的工程化项目,优先使用 module 避免导入错误。
工作目录与交互控制台设置
cwd 决定相对路径资源的查找位置。例如读取配置文件 config.yaml 时,若未设置 cwd,可能导致文件找不到。推荐统一设置为项目根目录:
"cwd": "${workspaceFolder}"
console 控制输出行为:
internalConsole:不支持input()输入,适合日志观察。integratedTerminal:支持用户交互,推荐使用。externalTerminal:弹出外部窗口,适合长时间运行任务。
常用内置变量
在配置中可使用动态变量提升灵活性:
${file}:当前文件完整路径${workspaceFolder}:项目根目录${command:python.interpreterPath}:当前 Python 解释器路径${cwd}:当前工作目录
典型调试配置模板
模板一:调试当前打开的文件(脚本场景)
{
"name": "Run Current Script",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}"
}
模板二:运行模块(工程化项目)
{
"name": "Launch CLI Module",
"type": "debugpy",
"request": "launch",
"module": "src.myproject.cli",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}",
"args": ["--interactive"]
}
模板三:复杂参数与环境变量调试
{
"name": "Full Debug Setup",
"type": "debugpy",
"request": "launch",
"module": "src.api.server",
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"args": ["--host", "localhost", "--port", "5000"],
"env": {
"ENV": "development",
"LOG_LEVEL": "DEBUG"
},
"justMyCode": false
}