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

VSCODE为什么要用launch.json,有没有模板大全?

VSCODE为什么要用launch.json 1,配置是英文的,所以有必要做一个中文版,每项名称,可选内容也有中文 2,每项不知要选什么 3,不同编程语言要选的配置也不同,需要多种配置模板 比如调试JS,用node进程,调试网页中的js,用edge tools 需要显示页面,还是隐藏,弹窗,还是选项卡式 4,为什么VSCODE不做一些launch的可视化配置选项?

先把你这段配置完整汉化 + 解释,再回答你那 4 个核心疑问,一次性讲明白。

一、你的 launch.json 完整中文对照

json

{ "version": "0.2.0", // 配置文件版本(固定,不用改) "configurations": [ // 调试配置列表(可放多个调试方案) { "type": "node", // 调试类型:node.js 调试 "request": "launch", // 调试方式:启动程序(而非附加到已有进程) "name": "调试当前JS文件", // 调试按钮上显示的名字(可随便改中文) "program": "${file}", // 要运行的文件:当前打开的文件 "skipFiles": [ // 调试时跳过的文件 "<node_internals>/**" // 跳过 node 内部代码,不进入底层 ] } ] }

二、VSCode 为什么一定要用 launch.json?

简单说:调试比运行复杂得多,必须有个地方存 “怎么调” 的规则。

  1. 调试不是简单 “点运行”调试需要:

    • 用什么环境(node?浏览器?Python?)
    • 从哪个文件启动
    • 传什么参数
    • 环境变量
    • 是否跳过系统代码
    • 控制台怎么显示这些信息必须存在一个文件里,就是 launch.json。
  2. 统一、可复制、可分享写好一份 launch.json,团队所有人调试方式完全一样,不会 “你那能跑我这不行”。

  3. VSCode 本身不绑定任何语言它是通用编辑器,不是专门 JS 编辑器。调试逻辑由插件实现,配置必须开放给用户存起来。


三、你的 4 个问题直接回答

1)为什么不做中文版配置?

  • VSCode 核心是英文体系,配置项是标准键名,不能随便改成中文。
  • 鼠标悬停都有中文提示,只是文件本身必须是英文 key。
  • 你完全可以把name写成全中文,其他键名只能英文。

2)每项不知道选什么?

正常,因为它是给工具用的格式,不是给人看的。但 VSCode 其实自带智能提示

  • {}里按Ctrl + 空格
  • 会弹出所有可选配置 + 中文说明你不用背,编辑器会提示你。

3)不同语言配置完全不一样,需要模板

对,而且 VSCode已经内置大量模板

  • 打开左侧「运行调试」按钮 ▶️
  • 点击「创建 launch.json 文件」
  • 直接选择:
    • Node.js
    • Chrome/Edge
    • Python
    • PHP
    • Java 等它会自动生成对应语言的标准模板,不用手写。

比如你要调试网页里的 JS,就选:

  • chrome/msedge类型而不是node

4)为什么 VSCode 不做可视化配置界面?

其实是有的,只是藏得比较深。

VSCode 官方思路是:

  • 新手:用自动生成模板
  • 老手:直接改 JSON 更快
  • 做可视化界面要适配几十种语言,成本极高,还不如 JSON 通用

你能看到的 “半可视化”:

  • 调试面板下拉框可以切换配置
  • 插件会在设置页提供一些开关但完全图形化填表界面一直没做,因为JSON 已经足够灵活且通用

四、最简单总结

  • launch.json = 调试的 “说明书”
  • 必须英文键名,但显示名可以中文
  • 不用手写,VSCode 会自动生成模板
  • 调试 Node 选 node,调试网页选 edge/chrome
  • 没有完全可视化界面,是因为 JSON 更通用、扩展性更强
http://www.jsqmd.com/news/659183/

相关文章:

  • 少室山上,八大AI编程高手齐聚,比的不是武功,是谁先把bug修完
  • Agent能适配不同行业的合规要求吗?——2026年企业级AI Agent合规技术架构与落地全解析
  • 2026年靠谱的庭院景观灯/古建景观灯/陕西公园景观灯推荐厂家精选 - 品牌宣传支持者
  • 从B站Sign算法看移动端API安全:如何用IDA Pro快速定位关键Native函数
  • Hive数据重塑实战:从Lateral View与Explode的列转行到Collect_Set的行转列
  • 从原理到选型:深入解析IMU误差模型、标定方法及主流产品对比
  • Cover Letter、Declaration of Interests 与 Highlights 撰写实战指南 —— 附最新模板与避坑要点
  • 别光看init.rc了!/system、/vendor、/odm下那些*.rc文件,Android 11是怎么决定谁先谁后的?
  • cmake应用:集成gtest进行单元测试
  • 告别单调方块!在Unity里用Slider制作风格化游戏血条的完整思路(含资源替换与层级管理)
  • 别再让媒体库变砖!解决Emby免费版视频无法播放的常见问题排查指南
  • Qwen3-VL-8B Web系统定制化改造:修改chat.html主题色/Logo/欢迎语教程
  • OpenWrt时区与夏令时配置:从原理到实战避坑指南
  • AI核心知识125—大语言模型之 混合专家架构(简洁且通俗易懂版)
  • 终极画中画体验:如何用Chrome扩展实现高效多任务视频观看
  • 从问卷设计到论文答辩:验证性因子分析(CFA)的全流程保姆级攻略
  • mysql如何获取最后插入的ID_使用LAST_INSERT_ID函数
  • nRF52832实战指南(一、GPIO与GPIOTE:从寄存器到任务事件)
  • 别再只用小圆点了!微信小程序Swiper轮播图,这3种自定义指示器让你的页面更高级
  • 基于Proteus仿真的单片机数字频率计设计与实现
  • 告别阻塞等待!深入理解STM32 HAL库中ADC与DMA的协作机制(以F407为例)
  • Linux-RGMII PHY 88E1512 双模式驱动适配与调试实战
  • 树莓派4B无头模式极简指南:5分钟搞定SSH+WiFi预配置(含国内源加速)
  • 从EfficientNet到EfficientDet:源码实战与BiFPN设计精讲
  • Spring Boot集成MinIO:实现图片预览的三种路径获取策略
  • BGE-Large-Zh部署教程:NVIDIA驱动/CUDA/cuDNN版本兼容性清单与验证方法
  • Typora Markdown写作伴侣:集成Qwen1.5-1.8B GPTQ进行内容润色与大纲生成
  • SiameseAOE使用技巧:特殊符号#的用法,让情感分析更准确
  • 别再混淆了!一文搞懂目标检测中Pascal VOC、COCO、YOLO三种bounding box格式互转(附Python代码)
  • DataX实战:从源码编译到首个同步任务