写点什么

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

评论

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

利用Flutter和小程序容器打造更强大的用户体验

FinFish

flutter 小程序 跨端开发 小程序容器 跨端框架

C语言实现单链表-增删改查

DS小龙哥

6 月 优质更文活动

费报只是小 case!电子影像系统,工作效率up无限

风来兮

管理 技术管理 电子档案 财务 数字化工具

OpenCV开箱即用的功能

互联网工科生

OpenCV C++

怎样确保舞台LED显示屏的安全

Dylan

安全性 环境 维护 LED显示屏 户内led显示屏

Hive执行计划之只有map阶段SQL性能分析和解读

不在线第一只蜗牛

sql 开发语言 开发框架

Go 语言中 database/sql 是如何设计的

江湖十年

数据库 后端 Go 语言 数据库操作

基于smardaten无代码快速开发一个智慧城管系统

陈橘又青

无代码开发

AWS 亚马逊云科技 1 亿美金入局AIGC,哪些AI云服务已经可以对标微软、谷歌?

B Impact

对线面试官-Redis(作为缓存的一致性问题)

派大星

Java 面试题

语音厅源码实用功能屏幕的转换

山东布谷科技

软件开发 源码搭建 语音源码 语音厅平台搭建

如何扩展及优化CI/CD流水线?

SEAL安全

CI/CD 优化 扩展

精选8道ES高频面试题和答案,后悔没早点看。

王中阳Go

elasticsearch 面试题 go面试题 后端面试题 ES面试题

基于 LRU-K 模型如何实现高效的元数据缓存?

焱融科技

#高性能 #文件存储 #分布式存储

百度召开CVPR首个大模型研讨会,吸引超1000支队伍参与文心大模型国际比赛

新消费日报

从幕后走到台前!过去十年,我们在阿里云如何建设可观测体系?

阿里巴巴云原生

阿里云 云原生 可观测

官宣!2023云原生编程挑战赛正式启动

阿里巴巴云原生

阿里云 云原生 云原生编程挑战赛

表单设计领域天花板,表单引擎最全设计

codebee

为什么很多互联网公司很少做单元测试?

博文视点Broadview

Java并行流指北

javalover123

并行 Java' 并行流

干掉Navicat?阿里Chat2DB来了!

王磊

Java 数据库

千万级规模微服务稳定性技术揭秘:隔离策略

HelloGeek

微服务 高并发 稳定性 隔离性

在 BI 工具 Tableau 中使用 databend

Databend

量子程序设计基础 | 量子程序与量子编程

TiAmo

量子计算 量子编程 6 月 优质更文活动

OSPFv3:第三版OSPF除了支持IPv6,还有这些强大的特性!

wljslmz

OSPF 6 月 优质更文活动

历史首次!阿里云与浙大斩获数据库顶会SIGMOD最佳论文,成果已在PolarDB中落地

阿里云瑶池数据库

阿里云 polarDB 瑶池数据库 SIGMOD

《生死狙击》研发商无端科技使用RDS倚天ARM架构数据库,实现增效降本

阿里云瑶池数据库

RDS 阿里云瑶池数据库

行业分析| 无人机电力巡检的应用

anyRTC开发者

人工智能 音视频 无人机 快对讲 视频监控

Java又双叒叕“凉”了?

程序员小毕

Java spring 面试 springboot SpringCloud

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