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文件生成成功了。

尝试

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

001两数之和

题意 给出一个数组和一个目标值,让你在数组中找出和为目标值的两个数,并且这两个数在数组中的下标(索引)不同。 示例 输入:nums[2,7,11,15],target9 输出:[0,1] 解释:因为nums[0]nums[1]9&#…

苹果app应用ipa文件程序开发后如何运行到苹果iOS真机上测试?

在苹果应用程序开发过程中,将app安装于真机进行测试是一个不可或缺的步骤,它可以帮助你检测app在实际设备上的性能表现及存在的潜在问题。这篇文章将详细阐述如何将开发好的苹果app(.ipa文件)安装到真机上进行测试。 图片来源&…

DataFunSummit:2023年数据治理在线峰会-核心PPT资料下载

一、峰会简介 数据治理(Data Governance)是组织中涉及数据使用的一整套管理行为。由企业数据治理部门发起并推行,关于如何制定和实施针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。 数据治理是一个通过一系列信息相关的过程…

【数据结构】堆的模拟实现

前言:前面我们学习了顺序表、单链表、栈、队列,今天我们就开始新的学习吧,今天我们将进入堆的学习!(最近博主处于低谷期)一起加油吧各位。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:数据结构 &…

idea__SpringBoot微服务10——整合JDBC(新依赖)

整合JDBC 完整项目地址:一、创建一个项目二、idea配置连接mysql三、创建yaml数据库连接配置文件四、测试一下,没有问题五、增删改查————————创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶…

P4 Qt基础控件——工具按钮toolButton(上)

前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类)_ChenPi的博客-CSDN博客》✨✨✨ 🌺本篇简介 :这一章我们学一…

[湖湘杯 2021 final]MultistaeAgency

文章目录 题目是给了源码,我们先来看web的main.go package mainimport ("bytes""crypto/md5""encoding/json""fmt""io""io/ioutil""log""math/rand""net/http""o…

数据库系统相关概念

数据:描述事务的符号记录。 数据库(DB):按一定的数据模型组织,描述和存储在计算机内的,有组织的,可共享的数据集合。 数据库管理系统(DBMS):位于用户和操作系统之间的一层数据管理软件。主要功能包括&#…

iframe 与主应用页面之间如何互相通信传递数据

背景 当我们的Web页面需要复用现有网站的页面时,我们通常会考虑代码层面的抽离引用,但是对于一些过于复杂的页面,通过 iframe 嵌套现有的网站页面也是一种不错的方式,。目前我就职的项目组就有多个业务利用 iframe 完成业务的复用…

【实用】sklearn决策树怎么导出规则

目录 一、什么是决策树模型 0.1 什么是决策树 02.决策树模型有哪些 二、在sklearn中怎么训练一棵决策树 三、什么是决策树的规则 0.1决策树的决策规则 02. 决策树的决策规则是怎么存储的 四、怎么导出决策树的规则 4.1 导出决策树文本规则 4.2 导出可视化决策树 4.3…

C++入门【3-C++ 变量类型】

C 变量类型 变量其实只不过是程序可操作的存储区的名称。 在 C 中,有多种变量类型可用于存储不同种类的数据。 C 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量…

初学python的体会心得20字,初学python的体会心得2000

大家好,小编来为大家解答以下问题,学了python的心得体会200字,初学python的体会心得20字,现在让我们一起来看看吧! 本学期,我们学习了杨老师的《python语言程序设计》这门课程,其实早在大一期间…

【RTOS学习】模拟实现任务切换 | 寄存器和栈的变化

🐱作者:一只大喵咪1201 🐱专栏:《RTOS学习》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀认识任务切换🏐切换的实质🏐栈中的内容🏐切…

数据可视化:解析跨行业普及之道

数据可视化作为一种强大的工具,在众多行业中得到了广泛的应用,其价值和优势不断被发掘和利用。今天就让我以这些年来可视化设计的经验,讨论一下数据可视化在各个行业中备受青睐的原因吧。 无论是商业、科学、医疗保健、金融还是教育领域&…

Vue2笔记

笔记 脚手架文件结构 ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ └── HelloWorld.vue …

三天精通Selenium Web 自动化 - 如何找到元素

1. 什么是元素? 元素:HTML 元素 2. 定位方式解析 Selenium WebDriver 提供一个先进的技术来定位 web 页面元素。Selenium 功能丰富的API 提供了多个定位策略如:Name、ID、CSS 选择器、XPath 等等,如下图所示: 一般会用ID来定位…

Jmeter 测试 MQ 接口怎么做?跟我学秒变大神!

MQ(message queue)消息队列,是基础数据结构 先进先出 的一种典型数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。 MQ 主要产品包括:Rabb…

华清作业day45

头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> #include <QTimer> #include <QTimerEvent> #include <QTextToSpeech> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass…

Unity_ET框架项目-斗地主_启动运行流程

unity_ET框架项目-斗地主_启动运行流程 项目源码地址&#xff1a; Viagi/LandlordsCore: ET斗地主Demohttps://github.com/Viagi/LandlordsCore下载项目到本地。 启动运行步骤&#xff1a; 下载目录如下&#xff1a; 1. VS&#xff08;我用是2022版VisualStudio&#xff09…

2023年第十届GIAC全球互联网架构大会-核心PPT资料下载

一、峰会简介 谈到一个应用&#xff0c;我们首先考虑的是运行这个应用所需要的系统资源。其次&#xff0c;是关于应用自身的架构模式。最后&#xff0c;还需要从软件工程的不同角度来考虑应用的设计、开发、部署、运维等。架构设计对应用有着深远的影响&#xff0c;它的好坏决…