写点什么

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

评论

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

Django ListView DetailView等基于类的视图如何添加装饰器?

BigYoung

Python django LiveView 装饰器

大厂为什么不招30岁以上程序员,看这篇就够了

金刚小书童

程序员 职业规划 技术管理 职业成长

谈谈控制感(11):这样提升控制感,谁都能做到

史方远

心理 成长

广告的发展历程

子悠

广告 计算广告 广告系统 互联网广告 RTB

Vite for Vue 是什么?

꯭🇫꯭

Vue vuejs vite Vue3

vue-router 容易被忽视的几个地方

꯭🇫꯭

Vue vuejs vue-router router

设计模式:建造者设计模式

毛佳伟🐳

平台化服务的基石:权限模型设计

孤岛旭日

企业架构 用户权限 数据建模

写给产品经理的信(6):时间管理

punkboy

极客时间,项目管理 职场 产品经理 时间分配 时间管理

ARTS-week-1

youngitachi

ARTS 打卡计划 arts

终于找到了一篇文章!通俗地讲解计算机工作原理

图灵社区

cpu 存储器 编译器 计算机工作原理

Spring源码

云淡风轻

spring 源码

Vol.10 Java 25岁了!

pyfn2030

Java jdk 编程语言 Java25周年

只需CSS的下拉式导航菜单

寇云

CSS css3

一位测试工程师的自我介绍

姬翔

测试

不忘初心,继续努力

一周思进

ARTS 打卡计划

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

如何存储1个二进制位&锁存器的核心和本质

姜海天

计算机 数字逻辑

SpringBoot之多模块开发

北漂码农有话说

恭喜你,赢得了爱情长跑的胜利

小天同学

爱情 兄弟 祝福

产业区块链:产业是本质,区块链是工具

CECBC

新基建 CECBC 区块链技术 中国电子

【CSS】为什么a标签的伪类选择器要注意书写顺序?

德育处主任

CSS html css3 大前端 Web

2020年5月30日 泛型程序设计

瑞克与莫迪

图片与标题的Ken Burns动效

寇云

CSS css3

Spring Bean生命周期——初始化和销毁

xiaoxi666

Java spring

毫无意义的人生唯有编织图案

xyz

面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

程序员柠檬

微服务 后台开发 架构设计

python实现·十大排序算法之桶排序(Bucket Sort)

南风以南

Python 排序算法 桶排序

JUC整理笔记四之梳理VarHandle(上)

JFound

Java

贴吧电纸书资深用户,从7个方面详谈BOOX Poke2上手体验!

DT极客

关于字符编码那些你应该知道的事情

꯭🇫꯭

Java MySQL emoji utf-8 ASCII

用这个插件,帮你把 Web VS Code 变为 C/C++ IDE_文化 & 方法_RTE开发者社区_InfoQ精选文章