写点什么

用这个插件,帮你把 Web VS Code 变为 C/C++ IDE

  • 2019-11-30
  • 本文字数:1538 字

    阅读完需:约 5 分钟

用这个插件,帮你把 Web VS Code 变为 C/C++ IDE

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


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


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

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



图:自动加载 cmake 项目



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




图: 动态生成 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 也同样支持,欢迎大家在新环境中体验这款插件。我们 Web 上见。


Q&A


Q:目前在哪里可以下载到 CPP Solution Explorer?


A:可以在 Visual Studio MarketPlace 中免费下载到,点击「阅读原文」即可访问 MarketPlace 页面。


Q:在该插件开源后,我们可以在哪里找到它?


A:我们会在近期开源,上传至 Github:https://github.com/AgoraIO


Q:在哪些系统平台上可以使用?


A:*nix、Windows、macOS


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接:


https://mp.weixin.qq.com/s/DpjXTUpl8o5VouXGQoEeDw


2019-11-30 20:561774

评论

发布
暂无评论
发现更多内容

Authing 身份云招聘:增长黑客

Authing

招聘 科技

生命科学领域下的医药研发通过什么技术?冷冻电镜?分子模拟?IND?

GPU算力

极速调取客户保单,YRCloudFile 助力保险存储架构升级

焱融科技

AI 存储 NAS 数字金融

SysAK 应用抖动诊断篇—— eBPF又立功了! | 龙蜥技术

OpenAnolis小助手

Linux 工具 内核 ebpf 龙蜥技术

大家谈的视频体验指标,都有哪些?如何测定?

声网

视频 Qoe Dev for Dev

代码之外:校招该如何准备开发项目

宇宙之一粟

校招 项目开发 5月月更

Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?

蒋川

Vue vite vue cli

美团二面:为什么Redis会有哨兵?

Java全栈架构师

Java 数据库 redis 程序员 面试

【LeetCode】数组中的第K个最大元素Java题解

Albert

LeetCode 5月月更

windows下C语言使用curl库访问HTTP下载文件

DS小龙哥

5月月更

在线HTML转TSV工具

入门小站

工具

【活动报名】TiDB 社区天津站 Meetup 要来啦!

TiDB 社区干货传送门

数据结构之时间复杂度和空间复杂度

芒果酱

数据结构 算法 5月月更

css基本概念学习篇【四】

恒山其若陋兮

5月月更

【高并发】什么是ForkJoin?看这一篇就够了!

冰河

并发编程 多线程 高并发 协程 异步编程

青藤入选信通院“数据安全推进计划”成员单位

青藤云安全

数据安全 信通院

使用 Provider 实现 Flutter 多组件的状态共享

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 5月月更

大模型走向产业的一小步,AI走向普惠的一大步

脑极体

天翼云推荐新人返好礼,最高返利千元

天翼云开发者社区

半年面试数百场,我总结出了这份10w字Java面试复盘笔记

Java全栈架构师

Java spring 程序员 架构 面试

JSON在线对比差异工具

入门小站

工具

Authing 被世界经济论坛评选为 2022 技术先锋企业

Authing

身份云 科技 Idaas 科技企业

Redis「9」主从、高可用性方案

Samson

redis 学习笔记 5月月更

All in ONE!博睿数据重磅推出一体化智能可观测平台

博睿数据

博睿数据 IT运维 ONE平台

AIRIOT物联网低代码平台如何配置OPC UA驱动?

AIRIOT

4月券商App行情刷新及交易体验评测报告,7家券商入围领导者象限

博睿数据

性能测试 系统运维 博睿数据 券商排行

明天,龙蜥2位专家直播,第22届计算机系统会议等活动来了!

OpenAnolis小助手

Linux 开源 直播 内核 龙蜥技术

linux之awk使用技巧

入门小站

源码解读预告 |TiFlash DeltaTree 引擎设计及实现解析!

TiDB 社区干货传送门

数据库连接池 -Druid 源码学习(十)

wjchenge

Druid 数据库连接池

5.26直播预告|《观见话题》第一期:跨境组网与加速上云的硬核解法

观测云

用这个插件,帮你把 Web VS Code 变为 C/C++ IDE_文化 & 方法_声网_InfoQ精选文章