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

news2024/12/23 21:00:44

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!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1305238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理解排序算法:冒泡排序、选择排序与归并排序

简介: 在计算机科学中,排序算法是基础且重要的概念。本文将介绍三种常见的排序方法:冒泡排序、选择排序和归并排序。我们将探讨它们的工作原理、特点和适用场景,以帮助读者更好地理解和选择合适的排序方法。 冒泡排序 冒泡排序是…

如何通过上下滑动实现亮度和音量调节(ArkUI)

场景说明 在音视频应用中通常可以通过上下滑动来调节屏幕亮度和音量大小,本例即为大家介绍如何实现上述UI效果。 说明: 由于当前亮度和音量调节功能仅对系统应用开发,所以本例仅讲解UI效果的实现。 效果呈现 本例效果如下: 当在…

Python 进阶(十五):Base64 编码和解码(base64 模块)

大家好,我是水滴~~ 本篇文章主要介绍Python的base64模块,主要内容有:Base64的概念、base64模块、base64编码和解码、以及其使用场景。文章中包含大量的示例代码,希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总目录…

SpringBoot程序的打包与运行

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…

什么是接口与API接口!

今天有个朋友问我什么接口?你们平时都说在写接口,写的是什么鬼啊?我一开始就想,咦小陈同学怎么突然了解编程接口了,不过听到他后一个提问我知道原来他想的是API接口,不过被我主观意识习惯想成了编程定义上的…

HCIA-H12-811题目解析(7)

1、【多选题】RSTP协议包含以下哪些端口状态? 2、【单选题】当采用LACP模式进行链路聚合时华为交换机的默认系统优先级是? 3、【单选题】下面关于二层以太网交换机的描述说法不正确的是? 4、【单选题】以下哪种类型的ACL不能匹配网络层信息…

mysql,树形结构表中,查询所有末节点数据(叶子结点)

需求:在一个可以存放多级目录的表中,查询出某个课程目录下所有末节点(因为只有末节点可以挂载资源) 例如下图: 其中 1.11.2.12.1 都是末节点,因为他们已经没有下一级了 catalog表中重要字段有:c…

工具应用:Robot Framework->对协议级接口进行测试

实验简介 本节实验主要为大家讲解如何利用Robot Framework结合常用的关键字完成对Agileone系统中的“需求提案”模块进行协议级接口的自动化测试脚本开发。 实验目的 (1) 掌握RF的Requests库的常用关键字及用法。 (2) 能够熟练…

成都工业学院Web技术基础(WEB)实验六:ECMAScript基础语法

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样 3、图片和文字仅为示例,需要自行替换 4、如果代码不满足你的要求,请寻求其他的…

使用kubeadm部署一套Kubernetes v1.23.0集群

使用kubeadm部署一套Kubernetes v1.23.0集群 1、前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: • kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部…

cobalt strike基础使用

coblat strike使用 服务搭建 首先将server端文件放进kali中 对其赋权 执行时需要root权限 设置ip 启动服务 ./teamserver 10.4.7.138 123456回到win11启动cs,输入刚才配置的信息 上线方式 木马(exe上线) 查看一下开放的端口 添加监听 …

Python 进阶(十六):二进制和ASCII码的转换(binascii 模块)

大家好,我是水滴~~ 本文详细介绍了Python中的binascii模块及其使用方法。通过binascii模块,我们可以方便地进行二进制和ASCII字符串之间的转换操作。文章中包含大量的示例代码,希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总…

【web安全】逻辑越权漏洞

前言 菜某分享,有误请指正 越权漏洞功能 顾名思义,他能使用别的用户的权力。我们网站有许多用户,有普通用户,管理员,最高级的管理员等多种账户。这个越权漏洞就是指我们可以行使别的用户的权力。 越权漏洞的分类 …

Knowledge Graph知识图谱—9. Data Quality and Linking

9. Data Quality and Linking 9.1 How well are the linked open data in practice? Linked Open Vocabularies(LOV) project – analyze usage of vocabularies 9.2 Quality Linked Data Conformance vs. Quality Conformance: – i.e., following standards and best prac…

归并排序的实现

一.思想 归并排序是一种基于分治思想的经典排序算法。其主要思想可以总结为以下几个步骤: 分解(Divide): 将原始序列划分为若干子序列,直到每个子序列包含一个或零个元素,即认为这些子序列是有序的。 解决…

mmpi量表在各企事业单位 入职体检中的应用

mmpi量表主要应用在医院精神科门诊中,用来检测筛查精神类疾病,比如:焦虑抑郁,疑病妄想强迫性、精神分裂、精神病态、社会内向性、癔症,精神衰弱,躁狂等等。 民航,司法,军警&#xf…

HTML面试题---专题一

文章目录 一、前言二、 HTML5 中 <header> 和 <footer> 标签的用途是什么&#xff1f;三、如何在 HTML 中嵌入 SVG&#xff08;可缩放矢量图形&#xff09;文件&#xff1f;四、解释 contenteditable 属性的用途五、如何创建随屏幕尺寸缩放的响应式图像&#xff1f…

Java接入微信支付详细教程——提供资料

目录 1 前提 2 准备环境 2.1 基本依赖 2.2 准备配置 2.3 测试环境 3 交易类型说明 4 使用 支付下单 支付通知 查询支付 取消支付 申请退款 退款通知 查询退款 5 前端页面 6 前后端联调 6.1 点击支付 6.2 支付通知 6.3 查询支付 6.4 退款 说明&#xff1a;微…

【性能测试】Jmeter 配置元件(一):计数器

Jmeter 配置元件&#xff08;一&#xff09;&#xff1a;计数器 在 Jmeter 中&#xff0c;通过函数 ${__counter(,)} 可以实现每次加 1 1 1 的计数效果。但如果步长不为 1 1 1&#xff0c;则要利用到我们的计数器。 函数作用${__counter(,)}计数器&#xff0c;每次加 1${__d…

jmeter不精通?来看这套很全的jmeter教程,ant批量执行Jmeter脚本

JDK&#xff0c;Jmeter默认已经装了ANT下载&#xff1a;Apache Ant - Binary Distributions ant环境变量需要配置 ant_home&#xff0c;你解压之后的地址 然后PATH环境变量里加上bin目录&#xff0c;D:\work\apache_ant\bin 最后打开命令行窗口&#xff0c;输入 ant -v&…