当前位置: 首页 > news >正文

VS Code 终端完全指南

1. 简介

Visual Studio Code (VS Code) 集成终端是一个功能完备的命令行界面,直接内置于编辑器中,让开发者无需离开 VS Code 即可执行命令、管理文件和运行程序。它支持多种 shell(如 Bash、PowerShell、Zsh),并提供丰富的自定义选项和高级功能,极大提升了开发效率。

image.png

2. 快速入门

打开终端

有多种方式可以打开 VS Code 终端:

  • 菜单:Terminal > New Terminal 或 View > Terminal
  • 快捷键:`Ctrl+`` (反引号)
  • 命令面板Ctrl+Shift+P 输入 View: Toggle Terminal
  • 资源管理器:右键文件夹选择 Open in Integrated Terminal

基本操作

打开终端后,你可以立即执行常见的 shell 命令:

# 列出当前目录文件
ls# 创建新目录
mkdir my-project# 切换目录
cd my-project# 创建文件
touch index.js

image.png

交互输出

VS Code 终端提供智能链接检测功能:

  • 文件路径:按住 Ctrl/Cmd 点击文件路径可直接在编辑器中打开
  • URL:点击网址会在浏览器中打开
  • 行号信息:如 app.js:15 会直接跳转到文件的对应行

image.png

3. 终端管理

多终端与标签

VS Code 支持同时打开多个终端,并通过标签进行管理:

  • 新建终端Ctrl+Shift+`` 或点击终端面板中的 +` 图标
  • 重命名终端:右键标签选择 “重命名”
  • 切换终端:点击标签或使用 Ctrl+PageUp/PageDown

image.png

分屏与分组

你可以将终端拆分为多个窗格,实现多任务并行:

  • 拆分终端:右键标签选择 “拆分” 或使用 Ctrl+\
  • 切换窗格
    • macOS: Alt+Cmd+Left/Right
    • Windows/Linux: Alt+Ctrl+Left/Right
  • 调整大小:拖动窗格分隔线调整比例

image.png

终端位置

终端可以灵活调整位置:

  • 面板模式:默认在编辑器底部
  • 编辑器标签:拖动终端标签到编辑器区域,成为独立标签
  • 浮动窗口:将终端拖出 VS Code 窗口,成为独立窗口

4. 配置文件 (Profiles)

终端配置文件允许你自定义不同的 shell 环境,适用于不同项目或任务需求。

访问配置文件

  1. 打开终端下拉菜单(终端面板右上角的 ▼ 图标)
  2. 选择 Select Default Profile
  3. 点击对应 shell 右侧的设置图标进行配置

image.png

自定义配置文件

settings.json 中可以手动配置终端 profiles:

{"terminal.integrated.profiles.windows": {"PowerShell - NoProfile": {"source": "PowerShell","args": ["-NoProfile"]},"Custom Bash": {"path": "C:\\Program Files\\Git\\bin\\bash.exe","args": ["--login"]}},"terminal.integrated.defaultProfile.windows": "Custom Bash"
}

环境变量

可以为特定 profile 设置环境变量:

{"terminal.integrated.profiles.windows": {"Dev Environment": {"path": "cmd.exe","env": {"NODE_ENV": "development","PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin"}}}
}

5. Shell 集成

VS Code 终端与 shell 深度集成,提供增强功能:

命令检测与导航

  • 命令历史:使用 Ctrl+Up/Down 在命令历史中导航
  • 命令重运行:点击命令左侧的圆形图标可重新运行该命令
  • 输出分组:每个命令的输出被清晰分组,便于查看

image.png

特殊序列支持

VS Code 支持 Final Term 和 OSC 633 序列,实现高级功能:

  • 命令开始 / 结束标记
  • 工作目录跟踪
  • 命令状态指示

这些功能通常自动启用,无需额外配置。

6. 外观自定义

字体与颜色

自定义终端的视觉样式:

{"terminal.integrated.fontFamily": "'Fira Code', 'Hack NF', monospace","terminal.integrated.fontSize": 14,"terminal.integrated.lineHeight": 1.2,"terminal.integrated.cursorStyle": "line","terminal.integrated.cursorWidth": 2,"terminal.integrated.cursorBlinking": true
}

主题与颜色方案

通过工作区颜色自定义修改终端颜色:

{"workbench.colorCustomizations": {"terminal.background": "#1a1a1a","terminal.foreground": "#e0e0e0","terminalCursor.foreground": "#ffcc00"}
}

image.png

高级视觉设置

  • 字体连字:启用后可将 => 显示为箭头符号
    "terminal.integrated.fontLigatures": true
    
  • GPU 加速:默认启用,提升渲染性能
    "terminal.integrated.gpuAcceleration": "auto"
    

7. 高级功能

键盘快捷键配置

自定义终端快捷键,提升操作效率:

// keybindings.json
[{"key": "ctrl+shift+t","command": "workbench.action.terminal.newWithProfile","args": { "profileName": "Python" }},{"key": "ctrl+k","command": "workbench.action.terminal.clear","when": "terminalFocus"}
]

持久会话

终端会话可以在 VS Code 重启后保留:

{"terminal.integrated.enablePersistentSessions": true,"terminal.integrated.persistentSessionReviveProcess": true
}

远程开发支持

在远程开发场景中,终端会自动连接到远程环境:

  • 本地终端:在远程窗口中,使用 Terminal: Create New Integrated Terminal (Local) 打开本地终端
  • 输入延迟优化:启用本地回显减少远程连接延迟
    "terminal.integrated.localEchoEnabled": true
    

8. 常见问题与解决方案

问题解决方案
终端中文显示乱码确保系统 locale 设置正确,并在 VS Code 中配置:
"terminal.integrated.detectLocale": "on"
无法使用某些快捷键调整快捷键跳过 shell 的设置:
"terminal.integrated.commandsToSkipShell": ["-workbench.action.quickOpen"]
终端启动缓慢优化 shell 配置文件,或创建无启动脚本的 profile:
"terminal.integrated.profiles.windows": { "Fast Bash": { "path": "bash.exe", "args": ["--noprofile", "--norc"] } }
粘贴多行文本警告禁用多行粘贴警告:
"terminal.integrated.enableMultiLinePasteWarning": false

总结

VS Code 集成终端不仅仅是一个命令行工具,更是一个功能丰富的开发环境中心。通过灵活的配置和强大的功能,它可以适应各种开发 workflow,显著提升开发效率。无论是前端、后端还是 DevOps 工作流,掌握 VS Code 终端的使用技巧都将使你的开发体验更加流畅。

希望本指南能帮助你充分利用 VS Code 终端的全部功能!如有其他问题,欢迎查阅 VS Code 官方文档。

http://www.dtcms.com/a/339967.html

相关文章:

  • Pandas中数据清理、连接数据以及合并多个数据集的方法
  • 仿新浪微博 typecho 主题模板源码
  • 1. AutoSAR 技术学习
  • Spring AOP核心原理与实战指南
  • 任务十一 搜索页面开发
  • Incredibuild 新增 Unity 支持:击破构建时间过长的痛点
  • AutoSarAP状态管理的状态机能否理解成C++的类?
  • 电视系统:开启视听新时代
  • 一个多功能的文件分享工具--zdir手动部署教程
  • 垂直领域大模型构建:法律行业“类ChatGPT”系统的训练与落地
  • el-table合并单元格
  • 接口自动化测试大全(python+pytest+allure)
  • Angular极速入门
  • 【CUDA教程--3】通过简单的矩阵运算入门CUDA
  • cursor+mcp-clickhouse进行数据分析
  • Spring循环依赖源码调试详解,用两级缓存代替三级缓存
  • JB4-9-任务调度
  • 网络通信基础:从数据链路层到传输层
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘paramiko’问题
  • Leetcode 3652. Best Time to Buy and Sell Stock using Strategy
  • 【20250819】mathtype的使用
  • Sklearn 机器学习 房价预估 计算房价和特征值的相关性
  • 差分约束系统SPFA判负环
  • 【自动驾驶】8月 端到端自动驾驶算法论文(arxiv20250819)
  • 决策树1.1
  • 设计模式笔记_行为型_解释器模式
  • 集成电路学习:什么是Thresholding阈值处理
  • PowerBI VS FineBI VS QuickBI实现帕累托分析
  • Go 并发入门:从 goroutine 到 worker pool
  • 用 C++ 构建高性能测试框架:从原型到生产实战指南