是否有任何带有 C# 代码完成插件的 emacs 或 vim 编辑器
本文关键字:emacs vim 编辑器 插件 任何带 代码 是否 | 更新日期: 2023-09-27 17:47:23
如果它同时提供可供选择的方法列表和潜在输入参数列表,那就太好了。 这是为 powershell 完成的,我很好奇是否有任何类似的功能为 emacs 或 vim 实现?
澄清:
与我一起工作的一位开发人员希望使用 vim 或 emacs 来降低开销,而无需运行 Visual Studio。 从本质上讲,他希望能够编写测试,在emacs或vim中编辑代码,然后运行NANT脚本来编译代码并运行测试。 他想要的Visual Studio的唯一功能是代码完成。 其余的他可以在 98-99% 的时间内没有。
你可以使用 Visual Studio 的 vim 编辑器模拟器。
http://www.viemu.com/
我还没有遇到过一种 emacs 模式,它会根据用户环境提供的 API 的"知识"提供代码完成建议。对于很多人来说,这是一个阻止他们在使用富/大/笨拙(如适用时删除)API时尝试使用Emacs或VIM的问题。
但是,我想知道这在日常工作中会带来多大的问题。我一直在使用带有 C# 模式的 Emacs 来编写相当多的 C# 代码。我也倾向于运行 dabbrev-mode 或 pabbrev-mode,这倾向于处理我倾向于使用的更常见的函数和变量名称。令我永远感到羞耻的是,我不得不承认,我倾向于在MSDN网站上打开浏览器来查找其余的 - 那些我不经常使用的API,无法记住。你的同事可能想要研究的另一个潜在帮手是冰柱,这也可能是朝着正确方向迈出的一步。然而,这些库都不能提供像Visual Studio IDE那样提供的全部完成支持。我认为这是使用更高效的编辑器时权衡的一部分。
顺便说一句,如果你的同事在一个团队中工作,而处理同一项目的其他成员正在使用Visual Studio,那么MSBuild可能会为VS之外的构建提供比Nant更好的解决方案,因为MSBuild读取的解决方案和项目文件与VS使用的解决方案和项目文件相同(事实上,VS2008中的许多构建工作都是由MSBuild处理的)。语法与 Nant 相差不远,并添加了社区任务(这为您提供了 NUnit 集成等),它将确保每个人都使用非常相似的机制来构建可执行文件。
我见过的 C# 完成进度最远的是这个博客,特别是在这篇文章中。 (博客链接包含在上下文和其他 Emacs 帖子中。
如果你能忍受愚蠢的完成,你也许可以用标签和标签补全来滚动你自己的。
同一问题的先前堆栈。
你的源代码应该通过CEDET框架处理:http://cedet.sourceforge.net/
然后使用与 cedet 捆绑的示例 UI,或者尝试以下两个中的任何一个:- 公司模式:http://nschum.de/src/emacs/company-mode- 完成用户界面:http://www.dr-qubit.org/emacs.php
两者都支持 CEDET 作为完成搜索后端。
阿爹!
对于emacs和C#,你可以看看这个工具 http://code.google.com/p/idebridge/:
OmniSharp 在 vim 中为 C# 提供了上下文智能感知。
Emacs 中的 Eclipse Style Function Completions for C、C++ 和 JAVA? 中的一些建议可能与 Emacs 相关。
不是特定于 C#,但仍然如此。
我发现 http://code.google.com/p/csense 这是一个emacs c#智能感知/代码感知。 我从这篇博文中找到了它 http://osdir.com/ml/emacs.sources/2007-11/msg00018.html,这可能接近我正在寻找的答案。
进一步查看后,它自 2007 年 11 月以来一直没有更新,对我来说看起来很陈旧。
对于 Vim,你可以安装 insenvim。它支持 C# 代码完成。下载插件后,您可以安装安装文件或通过以下步骤手动安装:
- 将文件 cs_vis.vim 复制到 $VIM''vimfiles''ftplugin 目录中。
- 将文件 csft.dll 复制到 $VIM_INTELLISENSE 目录中。
- 将 CSVimHelper.dll,reg.bat 复制到 $VIM_INTELLISENSE 目录。
- 运行 reg.bat 以注册 dll。您需要设置目录 gacutil.exe在路径中。你需要最新版本的 .NET SDK。