实测有效:解决VSCode编译运行C++前无故卡顿的方案
最近用VSCode写C其实C也一样的时候发现了一个很闹心的问题编译和运行本身速度没问题但每次点执行后VSCode会先卡好几秒才正式开始编译加载圈完全是空转白白浪费时间。踩了不少坑后终于找到了根源默认配置下VSCode会反复扫描工具链路径才导致了前置卡顿手动固定工具链配置就能完美解决下面给大家上完整实操步骤。PS如果你的项目用的不是CMake而是VSCode自带的launch.json和task.json同时遇到了同样的问题那么在build任务那里把gcc、g路径改为绝对路径也许就能解决。第一步创建工具链配置文件首先在项目根目录下新建gcc_toolchain.cmake文件直接固定编译器路径避免VSCode每次重复搜索set(CMAKE_C_COMPILER /usr/bin/gcc-12 CACHE FILEPATH C compiler FORCE) set(CMAKE_CXX_COMPILER /usr/bin/g-12 CACHE FILEPATH C compiler FORCE)⚠️ 这里的CACHE FILEPATH C compiler FORCE和CACHE FILEPATH C compiler FORCE是关键它会把编译器路径存入CMake缓存没有这行后续调试会报No compiler found in cache file.的错误。第二步配置基础CMake预设在项目根目录新建CMakePresets.json用来定义基础编译规则{ version: 2, configurePresets: [ { name: base, generator: Unix Makefiles, binaryDir: build } ] } 这里说明一下踩过的坑最开始我用的是Ninja生成器它默认的编译行为是并行的速度比Unix Makefiles的默认行为快但实际使用发现Ninja每次编译都会重新扫描GLOB规则反而会额外增加耗时最终还是更推荐用Unix Makefiles。第三步配置用户自定义预设再新建CMakeUserPresets.json区分Release和Debug模式同时添加并行编译配置提升编译速度{ version: 2, configurePresets: [ { name: gcc, inherits: base, cacheVariables: { CMAKE_TOOLCHAIN_FILE: gcc_toolchain.cmake, CMAKE_BUILD_TYPE: Release } }, { name: gcc_debug, inherits: base, cacheVariables: { CMAKE_TOOLCHAIN_FILE: gcc_toolchain.cmake, CMAKE_BUILD_TYPE: Debug } } ], buildPresets: [ { name: parallel, configurePreset: gcc, jobs: 128 }, { name: parallel_debug, configurePreset: gcc_debug, jobs: 128 } ] }jobs参数可以根据自己CPU的线程数调整开并行后编译速度会有非常明显的提升。最后说明只要你在项目里手动创建了CMakePresets.jsonVSCode会自动关闭默认的工具链扫描逻辑优先使用你写的配置不需要额外改其他设置。改完后再运行C项目之前的几秒空转等待直接消失体验顺畅太多有同样问题的朋友可以直接抄作业~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2408650.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!