当前位置: 首页 > news >正文

1842_emacs使用company-irony实现C语言的自动补全

Grey

全部学习内容汇总:GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used.

1842_emacs使用company-irony实现c语言的自动补全

irony-mode是一个自动补全的实现方案,配合company集成之后效果非常好。简单调试完了之后,基本上能够确定这是我这么多年来使用emacs所实现的一个最好的自动补全功能状态。至少,这让我看到了一丝期待。

irony 以及 company-irony

其实,前面已经接触了这些插件,只不过之前我寻找的一个解决方案是为了实现C语言中#include操作的时候头文件补全。不过,既然涉及到了 irony 插件,那么不妨简单了解一下。

irony-mode

从这里看,irony-mode 其实是一个编码体验提升的加强插件。插件支持自动补全、语法检查等功能。还提供了跟多种框架的集成。出于好奇,我还去查了陈斌、purcell、spacemacs等几个不通的配置,都没有发现使用了这个插件的迹象。只有spacemacs中的cache目录中有,但是大概率也是没激活使用。当然,上面的这些配置只是我自己安装或者简单配置后的情况。

这是 irony-server的安装依赖情况,前面经过一系列的尝试,我自己机器上终于已经安装成功了。

company-irony

根据上面的文档提示,找到了一个自动补全的集成插件: company-irony

这里的介绍内容很少,但是从这里的一个效果图看得出来,这还是很让我期待的一个功能。效果如下:

这个效果看上去还是很不错的。

实际探索体验以及效果

上面是插件配置的一个简单的说明,我看了下在之前配置头文件的时候其实已经把这个backend给加上去了。当时只是一路抄,也并不知道我现在的配置中其实没有这个功能。简单的配置之后,看看我自己的效果:

这个效果还是不错的,而且响应处理速度比较快。这是我之前使用emacs一直没有体验到的效果,尤其是在Windows的平台上。

小结

总体看,现在的这个配置状态对我自己一直使用emacs以来的体验算是一个小飞跃。很多操作场景都有了新一步的改善。不过,在测试尝试的过程中也遇到了一些不奏效的地方。比如说,上面例子中的结构体现在并没做到跨文件在整个project中都奏效。不过,我觉得这可能是配置实现问题,后续应该是有解决的可能的。

一直以来培养幼苗种子,今天终于看到叶片了! Happy hacking!

相关文章:

  • pymysql代替mysqlclient,解决mysqlclient因版本不兼容无法安装成功而无法连接mysql的问题
  • 使用Java将图片添加到Excel的几种方式
  • 机器学习---Boosting
  • 代理ip一般适用于什么行业,什么场景
  • linux下部署frp客户端服务端-内网穿透
  • Linux下的软硬链接
  • 生产派工自动化:MES系统的关键作用
  • 第三十二章 控制到 XML 模式的映射 - %ListOfObjects
  • 金融专题 | 对复杂的金融工具进行设计、定价和对冲分析
  • Redis第1讲——入门简介
  • 【MODBUS】Modbus主站云端服务器和边缘设备部署区别
  • yarn或者pnpm第一次执行的时候遇到报错yarn : 无法加载文件......因为在此系统上禁止运行脚本
  • flex布局,换行的元素上下设置间距
  • 计算机毕业设计 基于SpringBoot的乡村政务办公系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 汽车IVI中控开发入门及进阶(十一):ALSA音频
  • hexo+github搭建个人博客
  • ECMAScript6(0):ES6简明参考手册
  • JS数组方法汇总
  • RxJS: 简单入门
  • Service Worker
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 手机端车牌号码键盘的vue组件
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​queue --- 一个同步的队列类​
  • #《AI中文版》V3 第 1 章 概述
  • ( 10 )MySQL中的外键
  • (1)SpringCloud 整合Python
  • (Matlab)使用竞争神经网络实现数据聚类
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (南京观海微电子)——COF介绍
  • (三)模仿学习-Action数据的模仿
  • (一)Java算法:二分查找
  • (一)基于IDEA的JAVA基础10
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原)本想说脏话,奈何已放下
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ***原理与防范
  • **python多态
  • .bat文件调用java类的main方法
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 5种线程安全集合
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 中插件式开发实现
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET成年了,然后呢?
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .net通用权限框架B/S (三)--MODEL层(2)
  • @Pointcut 使用
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [Angular] 笔记 20:NgContent