一个插件把Web VS Code变为C/C++ IDE

电子说

1.3w人已加入

描述

用两周开发一个插件,能提升更多人的开发效率,这事还是挺划算的。

程序员也分青铜和王者。青铜只专注于埋头搬砖,王者致力于造轮子,为了更轻松地敲代码...

每一个想成为王者的程序员,一定要熟练地使用工具来实现自己的想法,没有工具,那就自己造,让写代码如丝般顺滑。

VS Code 开发中的那些障碍

“开源”、“比 Atom 快”、“比 Webstorm 轻量”,VS Code 对于很多人来讲就是个优质的轻量编辑器。从去年开始,种种迹象标明,微软著名的 IDE Visual Studio 将被由它衍生而来的开源编辑器 Visual Studio Code 所取代。

然而在把 VS Code 作为 IDE 来使用的时候,尤其是作为 C/C++ IDE 来使用时肯定会遇到这些问题:

你需要在 c_cpp_property.json 中编写配置

你需要在 tasks.json 中编写 build 脚本

你还要在 launch.json 中编写 Launch 脚本

Workspace 是以文件构成的,而非项目

不像是在 Visual Studio 中,你不需要考虑以上这些问题,通过点击几个按钮就可以完成 build、debug,Visual Studio 也会自动添加诸如 include、define 之类的配置。

这些问题,声网的工程师在实际开发中也遇到过。这会在一定程度上影响开发效率,当然更影响心情。追求完美的声网程序员怎么能容忍这种不完美存在。郑佳佳就默默写了一个“CPP Solution Explorer”插件来解决这些问题。同时,配合 CMake 和微软官方提供的 cpptools 插件,可以让 VS Code 成为一个轻量的 Visual Studio。

CPP Solution Explorer 能做什么呢?

CPP Solution Explorer 可帮你做这些:

在根文件夹下分析 CMakeLists.txt

在 CMakeLists.txt 中加载项目,并按项目 struct 源文件

从 CMake 获取信息并生成 c_cpp_property.json

自动生成 build、launch 脚本

每当你选择一个源文件时,都会自动更新 c_cpp_property.json

可以在 project view 中执行 build、rebuild、clean

C/C++

图:自动加载 cmake 项目

C/C++

图:在 CMakeLists.txt  更新后重加载 CMake 项目

C/C++

C/C++

图: 动态生成 c_cpp_property.json, launch.json 和 tasks.json

图:在 Project View 中执行 Build、Rebuild、Clean 操作

CPP Solution Explorer 的背后

为了让自己能够用VS Code愉快的写代码,郑佳佳默默开发了这个插件。他开发这个插件的目标就是,用VScode拥有Visual Studio同级别的顺滑体验。

他从很多项目中汲取过灵感。比如付费 IDE 的 Clion。Clion 使用了 cmake 作为项目引擎,通过 cmake-GCodeBlock来生成 CodeBlock 项目文件,我们可以从中获得需要的项目信息。 CPP Solution Explorer 支持在 *nix 系统和 Windows 系统下生成 CodeBlock 项目。而且,CPP Solution Explorer 是免费的。

另外,郑佳佳也参考了插件 vscode-solution-explorer。这个插件对于.Net 开发者来讲提供了很强大的支持。

写在最后

目前这款插件已经在 Visual Studio Marketplace 上架。大家可以免费获取。同时,我们还在做一些准备工作,计划在近期将这个插件的代码开源出来,上传至我们的 Github 账号 “Agora-IO”中。这个插件在公司内VS Code用户中迅速传开了,非常成功的口碑传播!现在我们把这个插件郑重推荐给你!

在今年的微软 Build 大会上,Visual Studio Code 已经推出了 Web 版,支持开发者远程访问开发环境。CPP Solution Explorer 也同样支持,欢迎大家在新环境中体验这款插件。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分