C语言是一种“古老”且应用至今的高级编程语言,它是多种流行编程语言的根源。C++进一步扩充和完善了C语言,是一种面向对象的程序设计语言,可运行于多种平台上。今天,C/C++语言仍然活跃在嵌入式软件、操作系统、高性能引擎、游戏、数据库等诸多业务领域。
高级语言开发离不开集成开发环境(IDE)的支持,从支持高级语言的编辑器、符号解析、编译器以及支持高质量编码的代码检查,再到支持运行测试的中间件和数据库,以及支持高效率研发的DevOps工具链,IDE工具将个人开发作业流中所需要的众多能力汇聚在一个工具中,让开发者无需切换工具即可完成日常开发工作。
华为云CodeArts IDE定位华为云开发者桌面,是华为云面向开发者提供的一款智能化桌面集成开发环境,它提供了开发语言和调试服务,支持从插件市场安装插件来扩展能力,帮助开发者获得更好的用云体验和更快捷的云应用开发能力。
5月25日,华为云发布CodeArts IDE for C/C++,将华为公司的C/C++语言服务集成于CodeArts IDE内核基座,并将良好的C/C++编码体验、方便的访问华为云资源、简单的引用华为云服务、快捷的使用华为云DevSecOps服务等众多能力汇聚于一身,实现C/C++开发者在个人研发作业体验和效率上的巨大提升。
【资料图】
开发工具的四条“秘籍”
华为公司自上世纪90年代起即投入软件研发,历经嵌入式软件开发、企业化软件开发、服务化应用开发和云服务开发等多种不同研发形态。
为支持研发效率提升,保证供应链安全,研发团队使用的开发工具从文本编辑器,到图形化的开发工具,再到支持多语言和可扩展的集成开发环境(IDE),并逐步进化成支持多语言框架、集成开发者作业流和支持横向能力扩展的Desktop IDE和Web IDE,满足了多业务平台的复杂开发要求。
在这个过程中,华为总结出开发工具的四条“秘籍”:
掌握技术内核探索新的工具形态满足业务需要面对复杂业务场景中开发者对工具规模和执行效率的不同要求,将IDE内核优化成若干运行模式,比如对于相对简单的业务场景使用“精简模式”,而面向复杂的业务场景使用“全量模式”。同一个技术内核可以按照业务需要升级增配,而不需要维护多个代码分支,既降低了用户使用门槛,也节约了工具的维护成本。
吃透语言服务给开发者提供最佳的编码体验针对C/C++语言,首先提升了超大项目(千万级代码工程)加载效率,开发者可以缩短加载等待时间;其次提升代码的构建速度,通过复用符号文件可以将大项目的解析时间缩短到5分钟以内;然后为开发者提供多种视图、多种主题配色方案、调用关系分析等能力,提升代码理解速度;同时还为开发者提供了基于语法的多种重构能力。多重能力组合之下,C/C++开发效率极大提升。
积极发展生态以扩展能力方式支持开发作业流华为设立了与业界最大规模插件生态市场相兼容的插件标准,基于开发者作业流交付大量在IDE中使用的业务插件;同时成立了辅导团队开发者的官方组织,建立了内置于IDE内的独立插件市场。这些举措能够帮助开发者在一个IDE工具内即可流畅完成个人开发作业流,补齐组织内开发人员技能差异,提升开发者研发效率。
加速知识更新充分利用研发积累解决新的业务问题开发者面对新的业务问题,需要大量编码及测试。传统C/C++开发者几乎和云计算没有交集,但IDE中集成的云平台能力可以帮助开发者将传统研发资产适配并迁移上云,也可以方便获取关于云开发的各类知识。
“古老”编程语言的最新选择
华为云CodeArts IDE for C/C++支持从精简模式一键升级为一个功能齐备、开箱即用、体验优质的开发平台,内置C/C++语言服务,支持不同配色切换和中英文显示,深度集成华为云各项能力,支持内置插件市场和更具兼容性的插件标准,支持基于插件的能力扩展和对接华为云软件开发生产线(DevSecOps平台)。
面对当前开发现代化应用的需要,华为云CodeArts IDE for C/C++产品提供了以下新特性:
特性一:先进架构从精简模式一键升级全模式华为云CodeArts IDE支持精简模式,比如使用精简模式封装的RemoteShell,可以方便的浏览和访问华为云ECS和CCE资源,是云资源运维的好帮手。
开发者利用一键升级功能,可以把精简专用工具原地升级为全功能软件开发环境(IDE),升级后不但保留原有工具中的资源访问能力,还可从内置插件市场中安装插件实现开发语言支持和其他能力扩展,为应用开发者提供了更好体验的编码开发平台。
特性二:语言服务优秀C++开发体验开箱即得华为云CodeArts IDE内置的C++语言服务,支持一键加载CMake工程并自动解析,可创建基于CMake的C++工程框架代码;
提供两种专属语法配色,深色和浅色可以自主调配,深色更符合用眼舒适要求,浅色更贴近传统阅读习惯;
支持三种代码解析模式,Tag模式可以基于词法解析生效更快速,Compiler模式可以基于语义解析结果更准确,Hybrid模式则相当于自适应选择;
提供十九种代码重构功能,从常用的重命名、提取函数,到switch自动填充及代码快速修复,帮助开发者提高代码的可重用性和可维护性;
支持千万规模代码C/C++工程,面对超大规模项目加载和符号解析速度实现倍增;超大型项目代码符号解析精度高达99%,领先业界水平。特性三:连接华为云快速完成基于API的应用开发
华为云CodeArts IDE内置华为云API开发套件,提供华为云200个服务和8000+服务API的搜索和引用。
在IDE中不但可以看到API的定义、参数、返回码等信息,还可以完成云上API的真实调用并查看输入输出信息。开发者在编码时可以通过关键字搜索到对应的云服务API,一键式补全调用API的样例代码,无需在多个工具和文档中反复切换,帮助开发者获得快捷、高效的华为云开发体验,缩短开发华为云应用的周期。
特性四:插件扩展利用插件市场扩充开发能力华为云CodeArts IDE支持插件扩展,提供的开放插件标准兼容业界生态规模最大的IDE开放插件标准。插件开发者可以针对特定业务领域需要,在华为云CodeArts插件市场注册发布商,并将所开发的插件发布到插件市场,方便其他应用开发者在IDE中使用。
华为云CodeArts IDE内置对接华为云CodeArts插件市场,开发者也可以根据需要查找、浏览、安装或卸载插件,通过安装插件来扩充IDE所适配的业务场景,把华为云CodeArts IDE变成开发者的“个人桌面”。
目前,华为云CodeArts插件市场已经上架了华为的多款插件,覆盖华为云API使用、华为云资源访问、开发者技术支持、DevOps平台等多种能力,在不久的将来,会有更多插件与开发者见面。
华为云CodeArts IDE for C/C++在华为公司内部的华为云、终端消费者云、海思、数据通信、无线网络、智能汽车等众多业务部门得到广泛应用,超过15万开发者基于IDE完成日常开发工作,包括:工作项管理、代码导入、知识获取、编码调试、检视提交、流水线执行等,构建众多业务应用和行业解决方案。
在面向5000万规模代码工程的实际使用中,相对于竞品实现工程加载速度3倍提升,符号索引创建速度5倍提升,符号跳转精度和阅读体验均优于竞品。同时,对已有代码库和构建工具(CMake)的良好支持,让C/C++开发者在开发体验不降级的条件下,可以流畅的从原有开发工具切换到华为云CodeArts IDE for C/C++。
为开发者提供端云一体、极致体验、功能强大、生态开放的IDE开发工具是华为云CodeArts产品团队的一贯理念。未来,华为云将在开发工具领域持续创新,提供技术自主、功能更强、体验更好的IDE工具,持续为开发者提供优质服务。
关注@华为云,了解更多资讯