写点什么

用这个插件,帮你把 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:561847

评论

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

GPT会上网了,ChatGPT插件的原理揭秘

Apifox

人工智能 程序员 OpenAPI openai ChatGPT

负载均衡算法的实现

王玉川

c++ 负载均衡 高可用 高并发 一致性哈希

架构师日记-如何写的一手好代码

京东科技开发者

代码质量 代码 京东云 企业号 4 月 PK 榜

深入理解MySQL索引底层数据结构

京东科技开发者

MySQL 京东云 京东技术 企业号 4 月 PK 榜

首届“兴智杯”产业赛收官,文心大模型助推产业创新

飞桨PaddlePaddle

人工智能 深度学习 飞桨 产业赋能

火山引擎DataLeap:3小时分享,体系化讲透企业数据治理如何做?

字节跳动数据平台

活动 数据治理 论坛 数据研发 企业号 4 月 PK 榜

2023年郑州市等级保护测评机构名单汇总

行云管家

等保 郑州 等保测评机构

适用于所有 Mac 的温度监控、风扇控制和诊断:TG Pro

Rose

Mac硬件温度检测 TG Pro for mac 苹果软件资源站 macw软件站

Meetup 回顾|Data Infra 研究社第十期(含资料发布)

Databend

MySQL 驱动中虚引用 GC 耗时优化与源码分析

PPPHUANG

MySQL 性能优化 JVM

限失真信源编码

timerring

限失真信源编码

单机最快的队列Disruptor解析和使用

小小怪下士

Alfred 教程:如何在 Mac 之间同步 Alfred 设置?

Rose

Alfred 5 苹果效率工具 Alfred 教程 Mac 之间同步 Alfred

One Switch:Mac上一个集合一键切换系统各项功能的神奇菜单

Rose

Mac软件 苹果软件下载 One Switch Mac资源站

高新技术产业包括哪些?拥有高新企业证书说明什么?

行云管家

高新企业 高新技术 高新

云计算时代前端如何保证开源代码的安全性

京东科技开发者

前端 安全 京东云 京东科技 企业号 4 月 PK 榜

JSF预热功能的实践与探索

京东科技开发者

京东云 jsf 企业号 4 月 PK 榜

MySQL 索引常见问题汇总,一次性梳理

做梦都在改BUG

Java MySQL 数据库 索引

Spring Boot+Nacos+gRPC,一个区别于 OpenFeign 的微服务通信方案!

江南一点雨

gRPC nacos springboot

微前端架构:将应用拆分为多个小型模块,实现模块化设计

没有用户名丶

小程序容器

大咖直播专场 | 当人工智能遇到数据库

KaiwuDB

KaiwuDB DB4AI AI4DB

NCH Switch Plus mac版:音频转换工具

Rose

全能音频格式转换 Switch Plus NCH 软件 NCH Switch Plus mac版

新一代分布式任务调度框架

程序员大彬

Java 面试

肝完阿里最新Java并发编程全优笔记,我成功晋升公司架构组

程序员小毕

Java 源码 程序员 面试 并发编程

生物计算大模型技术在药物研发领域的应用

百度开发者中心

人工智能 文心 ERNIE 生物医药

好用的图片管理器:ImageRanger Pro Edition激活版

真大的脸盆

图片管理器 图片管理 管理图片 图片处理工具

MarsEdit for Mac 快速方便的博客编辑器

Rose

mac软件下载 MarsEdit下载 博客写作软件

基于ArkUI框架开发-ImageKnife渲染层重构

OpenHarmony开发者

面试官:聊一聊Spring中Bean的作用域

做梦都在改BUG

Java spring bean

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