1841_在Windows上安装emacs irony server

Grey

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

1841_在Windows上安装emacs irony server

emacs有很多优点,配置出来不仅用着顺手而且有一定的成就感。但是,对于大多数人来说或许这个配置探索的过程是过于漫长的。每次看到这样的类似问题,探讨emacs的取舍的时候,都是一场无休止的辩论。其实,我觉得对此问题大家的辩论过于激烈了。其实,一个事物的好坏有时候并不是觉得,甚至换了人也会有完全不一样的结论。当面对别人证明自己的正确性的时候,很多时候我们不见得需要全盘接受,而是需要做出一个认可:以这个人的能力以及掌握的技术范畴来看,此时此刻这是不错的方案,仅此而已。类似的取舍从来没有什么认定的事实,只不过是存在若干不同人认可的道理。

在使用irony server的时候,我相信很多人就已经有这种好坏、难易上的判断。不过,继承上面的思考模式,针对我个人的能力和知识范畴来说,irony在Windows系统上安装一个server似乎并不是很容易,

为什么要安装 irony-server

安装 irony-server ,自然是为了使用irony的一些功能。在我尝试自己配置属于自己的emacs配置的时候,想让它达到其他编辑器具备的自动补全效果的时候,探索过程的确是漫长的。我尝试了若干流行的配置,至少到目前为止并没有发现哪一个配置能够轻松在我的电脑上实现开箱即用的自动补全效果。甚至,经过一定时间的分析学习都很难找到解决方案。

如果只是考虑最需要的功能,其实一个evil基本就可以称为emacs使用的一个理由了。但是考虑各种场景的应用以及不可控因素,类似的附属功能还是得持续打磨。而我想尝试 irony ,只是想找到一个还算是方便的头文件包含的自动补全。

尝试记录

初步的尝试并不是很顺利,尤其是安装server的时候。预感接下来会是一个很漫长的功夫,类似当初尝试ycm失败的经历。不过记录一下尝试的历程,无论成败后续都可以作为一个参考。

尝试1

直接M-x,irony-install-server。

结果: 失败!

失败原因: 这个默认的构建需要CMAKE

尝试2

安装cmake,继续尝试。

结果: 失败!

失败原因:需要NMAKE

尝试3

尝试使用CMAKE做配置,把构建工具改成clang。

结果: 失败!

失败原因:CMAKE我并不熟悉,凭感觉的修改感觉后续可控度不大。出现的错误,尝试网络搜索解决方案并没有找到很好的方法。

尝试4

下载NMAKE,找到了一个单独的build包,不需要安装VS就可以提供简单的构建工具。

结果: 失败!

失败原因:微软的下载链接会自动强制跳转到中国区网页,但是中国区的网页上找不到单独的安装包。

尝试5

网络下载Build Tools for Visual Studio。

结果: 失败!

可能在其他的网络环境中这个工具下载很轻松,因此没有找到转存之类的链接。唯一一个找到的中国网站链接,需要注册会员并回复信息,放弃了。最后找到了一个中文联网版本的安装器,下载了1GB+的数据之后安装结束,但是发现没有NMAKE。

尝试6

尝试使用clang,找到了这个参考: https://github.com/Sarcasm/irony-mode/wiki/Setting-up-irony-mode-on-Windows

结果: 失败!

虽然进行了百分百的复刻,但是依然失败了。还是卡在了cmake的配置上。如果弄不懂如何使用cmake就无法完成这一项工作的话,后面我将会放弃这个方案。临时,我并不想深入学习cmake。

尝试7

不得已,安装VS了。大概20GB的安装下载数据,而且是仅仅选择了一个工作负荷中的一个C++环境。安装时间是漫长的,但是在安装的过程中我就发现了nmake的可执行文件已经出现在了我的电脑上。

到此,略有感慨。我们所需要的软件或者说是真正的指令集是非常小非常少的一部分,但是如今我们却不得不被无穷无穷的无效二进制数据淹没到接近窒息。这真是一种有点让人觉得难受的体验,或许计算机软件行业还会有新的革新。

这一次的尝试总归还是略微顺利了一点,虽然还是有报错,但是按照提示删除了cache文件之后就通过了。处理的过程中log还是多出来了报错,不过最终的server文件生成成功了。

尝试

1841_在Windows上安装emacs irony server_第1张图片

暂且还不是很清楚自己的这个尝试是否成功了,但是测试对比看了下,库文件的包含的确是有自动补全的功能了。或许有改进空间,但是还好有一点收获。

你可能感兴趣的:(editor,emacs,编辑器)