首页 > 其他分享 >1842_emacs使用company-irony实现C语言的自动补全

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

时间:2023-12-21 12:01:41浏览次数:39  
标签:插件 补全 1842 company 配置 emacs irony


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

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

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

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

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

company-irony

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

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

1842_emacs使用company-irony实现C语言的自动补全_编辑器_03

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

实际探索体验以及效果

1842_emacs使用company-irony实现C语言的自动补全_头文件_04

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

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

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

小结

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

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

标签:插件,补全,1842,company,配置,emacs,irony
From: https://blog.51cto.com/greyzhang/8921023

相关文章

  • CF1842E Tenzing and Triangle 题解
    题意不多赘述。思路如果两个所选的三角形有重合部分的话,那么这种情况肯定是不会出现的。因为如果把这两个三角形合成一个大三角形的话,不仅覆盖面积会增大,而且花费的代价还不会多。于是我们可以想到用dp来解决,设\(dp_{i}\)表示删完横坐标为\(0\)到\(i\)中的点的最小代价......
  • jupyter notebook代码补全扩展安装遇到 Jupyter command `jupyter-contrib` not found
    Jupytercommandjupyter-contribnotfound.解决方案——新的安装方式。方法1:pip方式1.先使用以下命令,卸载旧版本的jupyter_contrib_nbextensions和upyter_nbextensions_configurator:分别用cmd命令,卸载之前的安装pipuninstalljupyter_contrib_nbextensionspipuninsta......
  • 对bash脚本增加tab自动补全
    需求高频使用自编benchmark工具,希望能像原生命令一样tab补全。要求:能够针对-s补全指定数据集名称能够针对-b补全分支名称(基于本地git仓库)能够补全-d-e-q等普通参数实现依赖常见Linux发行版都内置了自动补全的依赖,以Ubuntu默认shellbash为例如无法自动补全需要手动......
  • 2023-11-23-idea技巧-自定义后缀补全
    Idea技巧-PostfixCompletion在idea中可以使用.xxx进行后缀补全比如.sout如何自定义后缀补全?比如.log在idea中打开设置File|Settings|Editor|General|PostfixCompletion这里定义了上面提到的sout同理点击上图+号新建一个模板,并参考sout写入对应的规则效果......
  • 【略读论文|时序知识图谱补全】Tucker Decomposition with Frequency Attention for T
    会议:ACL,时间:2023,学校:北京航空航天大学,多伦多大学关键词:基于张量分解;频率注意力;正则化摘要:之前基于张量分解的TKGC模型存在仅独立考虑一种关系与一个时间戳的组合,忽略了嵌入的全局性质的问题。本文的方法:一种频率注意力(FA)模型来捕获一个关系与整个时间戳之间的全局时间依赖性。......
  • 【略读论文|时序知识图谱补全】Learn from Relational Correlations and Periodic Eve
    会议:SIGIR,时间:2023,学校:国防科技大学摘要:之前模型存在的问题:未能利用快照内结构信息的关系之间的语义相关性与快照间时间交互沿时间轴的周期性时间模式。本文的工作:提出了一种新的推理模型(RPC);它通过两个新的通信单元,即关系通信单元(RCU)和周期通信单元(PCU),充分挖掘关系关联和周......
  • k8s命令补全
    正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全命令补全方法:yum-yinstallbash-completionsource/usr/share/bash-completion/bash_completionsource<(kubectlcompletionbash)echo"source<(kubectlcompletionbash)">>~/.bashrc......
  • 【略读论文|时序知识图谱补全】Hierarchical Self-Atention Embedding for Temporal K
    会议:WWW,时间:2023,学校:东北大学计算机与通信工程学院摘要:目前TKGC模型存在的问题:只考虑实体或关系的结构信息,而忽略了整个TKG的结构信息。此外,它们中的大多数通常将时间戳视为一般特征,不能利用时间戳的潜在时间序列信息。本文的方法:一种基于自注意机制和历时嵌入技术的分层自注意......
  • python pyreadline补全进阶 #多字段补全
    先看一个实例在Python的readline模块中,readline.set_completer()函数用于设置一个自动补全函数(completer)来为用户提供命令行输入的自动补全功能。该completer函数接受一个文本输入作为参数,并返回一个包含可能的自动补全选项的列表。当用户在命令行中输入时,readline模块会调用这......
  • 【略读论文|时序知识图谱补全】DREAM: Adaptive Reinforcement Learning based on Att
    会议:SIGIR,时间:2023,学校:苏州大学计算机科学与技术学院,澳大利亚昆士兰布里斯班大学信息技术与电气工程学院,Griffith大学金海岸信息通信技术学院摘要:原因:现在的时序知识图谱推理方法无法生成显式推理路径,缺乏可解释性。方法迁移:由于强化学习(RL)用于传统知识图谱上的多跳推理开......