VS Code添加自定义C++代码片段时字符串无法正常输出
VS Code自定义C++片段字符串不显示问题修复
故障原因
配置存在两处语法错误,导致片段解析失败:
- 代码片段配置为JSON格式,字符串内部的双引号未做转义:写在
freopen参数里的双引号会直接和包裹配置行的外层双引号提前闭合,input.txt、output.txt这类内容会被判定为非法JSON语法被截断,无法正常输出。 body数组的各行元素之间缺失逗号分隔,会直接导致整个JSON结构解析失败,片段无法正常加载。- 额外小问题:配置对象最后一个属性末尾多了冗余逗号,部分严格JSON解析场景下也会报错。
修正后可直接使用的配置
"Default cpp formate": { "prefix": [ "include", "default" ], "body": [ "#ifndef ONLINE_JUDGE", " freopen(\"input.txt\", \"r\", stdin);", " freopen(\"output.txt\", \"w\", stdout);", "#endif", "", "$0" ], "description": "This is a c++ snippet" }
配置注意事项
- 所有需要在最终生成代码里显示的双引号,都必须在前面加反斜杠
\转义,例如要输出"demo.txt",配置中必须写为\"demo.txt\"。 - JSON数组、对象的属性/元素之间必须用逗号分隔,最后一个属性/元素末尾不要加冗余逗号,避免解析报错。
内容的提问来源于stack exchange,提问作者Puneet
相关产品推荐
相关产品推荐

