PCon全球产品创新大会开幕在即,查看大会全部精彩内容这里直达 了解详情
写点什么

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

评论

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

实力卓越,旺链科技与IBM、华为等共登「超级账本」年度贡献榜!

旺链科技

区块链 超级账本 产业区块链

用python制作心型照片墙

36度道

Python基础

你的数据产品应该是一套解决方案

第519区

数据产品经理 解决方案 数据产品 2月月更

DGIOT物联网架构设计

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

买贵不买对?这个情人节,你的礼物选对了吗?

易观分析

情人节 美妆

阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南

阿里云云效

阿里云 DevOps 云原生 测试 研发提效

如何利用 AHAS 保障 Web 服务稳如磐石?

阿里巴巴云原生

阿里云 高可用 云原生 AHAS

阿里云容器服务差异化 SLO 混部技术实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 混部技术

我们找回了泄露的内存

Qunar技术沙龙

KubeDL HostNetwork:加速分布式训练通信效率

阿里巴巴云原生

阿里云 云原生 分布式训练 KubeDL

1月月更获奖名单公布!快来获取专属海报

InfoQ写作社区官方

热门活动

网络安全kali渗透学习 web渗透入门 如何进行基于Nmap的扫描方式

学神来啦

年轻用户逐渐成为数字营销主流受众,品牌营销方式该如何创新?

易观分析

内容营销

今天踩了一个基础坑

编程三昧

JavaScript 2月月更

【网络安全】记一次挖矿病毒的应急响应

H

网络安全 应急响应

Java&Go高性能队列之Disruptor性能测试

FunTester

Disruptor 性能测试 高性能 消息队列 FunTester

一篇文章讲懂prometheus

流沙

云原生 监控 Prometheus

Spring Boot Serverless 实战 | Serverless 应用的监控与调试

阿里巴巴云原生

阿里云 Serverless 云原生

http请求中的payload

喀拉峻

网络安全

如何用建木CI发送邮件

Jianmu

html 自动化 发送邮件

被催稿了,所以聊聊 长链接在移动端开发中如何做到和短链接一样高效

百瓶技术

TCP 计算机网络 websocket

从IPv4 到 IPv6 的过渡技术

郑州埃文科技

ipv6 ipv4 过渡技术

dart系列之:集合使用最佳实践

程序那些事

flutter dart 程序那些事 2月月更

SAE 最佳实践范本:助力视野数科进入云原生“快车道”

阿里巴巴云原生

阿里云 Serverless 云原生 SAE

从冬奥看中国科技(三):数字人的觉醒与进化

脑极体

【附赠PPT】 KubeMeet 成都站回顾:让云原生应用交付和管理变得更简单!

阿里巴巴云原生

阿里云 Kubernetes 云原生 活动 开源项目

运营给产品送的情人节礼物是?

阿里云弹性计算

产品运营 情人节 轻量征文 用户投稿

小程序框架与平台编译对比

Speedoooo

编译 ios开发 APP开发 Andriod开发 小程序框架

7*24 小时业务不中断!菜鸟乡村应用多活落地实践

阿里巴巴云原生

阿里云 云原生 实践案例 多活

情人节,码了一个程序员专属冰墩墩(内含源码免费获取)

ZEGO即构

前端 html/css 情人节 表白 冬奥会

Serverless 架构开发手册 — “人人都是 Serverless 架构师”先导篇

阿里巴巴云原生

阿里云 Serverless 架构 云原生

金融行业数据库架构实践与运维

金融行业数据库架构实践与运维

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