56

我希望在 MSVS 中有 Emacs 键绑定。在 MSVS 2008 中,这是本机支持的,在 MSVS2010 中,有一个扩展来实现这一点

http://blogs.msdn.com/b/visualstudio/archive/2010/09/01/emacs-emulation-extension-now-available.aspx

我可以在 MSVS 2012 中安装这个扩展吗?(到目前为止,我一直没有成功......)是否有另一种方法来实现 Emacs 键绑定?

4

7 回答 7

76

我想出了如何让 VS 2010 的 emacs 仿真扩展在 VS 2012 上安装和运行。这有点来自记忆,但这就是我所做的。

  1. 下载Emacs 仿真扩展

  2. 将其从 EmacsEmulations.vsix 重命名为 EmacsEmulations.zip 并解压缩到一个文件夹中。

  3. 编辑<VisualStudio Version="10.0">extensions.vsixmanifest 文件 (XML) 上的值:

    <SupportedProducts>
        <VisualStudio Version="11.0">
        <Edition>Pro</Edition>
        </VisualStudio>
    </SupportedProducts>
    

注意:Visual Studio 2013 通过设置Version="12.0". 并且可以通过设置使用 VS Express<Edition>Express_All</Edition>

  1. 压缩文件夹内的内容备份并将其重命名为 EmacsEmulations.vsix。

  2. 以管理员身份运行 vsix 文件。这是必需的,以便扩展可以将 Emacs.vsk 写入程序文件夹。我不确定执行此操作的最佳方法,因此我以管理员身份运行命令提示符,然后start emacsemulations.vsix从提示符处执行。

  3. 以管理员身份启动 VS 2012(仅限一次)。此时,扩展程序应显示为已安装在扩展程序管理器中,并且键绑定应列在Tools/Options/Keyboard. 选择 emacs 键绑定。

  4. 此时它应该可以工作。虽然它对我不起作用,但我忽略了以管理员身份运行第 5 步,因此不得不手动将 emacs.vsk 复制到正确的位置。当它仍然不起作用时,我打开了 VS 命令窗口(Windows/Other Windows/Command Window)并输入了 Edit.EmacsBreakLine 和提示符,瞧。

我没有比这更多的信息了,所以 YMMV。祝你好运!

于 2012-12-30T02:17:44.517 回答
7

仅供参考:emacs 仿真扩展现在是开源的。

于 2015-06-23T10:08:00.760 回答
4

如果您想让它与 VS2013 的 Express 版本一起使用,请确保还将 Edition 行更改为<Edition>Express_All</Edition>. 另请参见Edition 元素的描述

于 2014-05-24T16:48:23.367 回答
3

Jaket 的方法最初对我有用,但几天后就停止了。在绝望中寻找解决方案后,我通过一篇博文[2]找到了XKeymacs [1]。XKeymacs 将 keymacs 样式的键绑定添加到整个 windows 环境,并且在 Visual Studio 中也可以使用。可能需要一些时间来适应(例如 Ctr-T 不再在 IE 中工作),但我很高兴能够在任何地方使用 emacs 键绑定 :)

  1. http://www.cam.hi-ho.ne.jp/oishi/indexen.html
  2. http://lexicalclosures.blogspot.com/2010/10/emacs-resharper-visual-studio-xkeymacs.html
于 2015-06-29T17:24:48.717 回答
3

我不相信接受的答案中的所有步骤都是正确的。反而:

  1. 按照上面的 1-4 生成一个合适的EmacsEmulations.vsix文件。
  2. 以需要绑定的用户而非管理员身份安装扩展。
  3. 手动将Emacs.vsk文件从扩展的解压缩内容复制Common7\IDE到 Visual Studio 程序目录中的文件夹(您需要提升权限)。

以管理员身份运行扩展程序不会获得所需的文件副本,也不会允许其他用户成功使用新的键绑定。

于 2015-08-25T15:55:15.923 回答
2

对我有用的技巧是将 Emacs.vsk 文件复制到:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE>

目录。不知何故,当我第一次安装它时,它已被复制到

C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE>

目录

于 2016-04-07T21:09:47.720 回答
0

要为Microsoft Visual Studio Community 2015(报告其版本为 14.0)安装 EmacsEmulations.vsix 文件,文件夹中有一个安装工具VSIXInstaller.exe

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>

按照上述修改 vsix 文件(在我的情况下插入版本“14.0”和版本“社区”)后,以下内容从管理命令行为我工作(填写您自己的完整路径):

VSIXInstaller.exe /a EmacsEmulations.vsix

请注意,在工具/选项/环境中的键盘映射下拉列表中选择 Emacs 后,更改似乎并没有立即生效。我重新启动了 Visual Studio,但也没有。

然后我搜索了名称中带有“emacs”的已安装键绑定,它们就在那里。似乎在那之后他们在编辑器中处于活动状态,所以我不能 100% 确定是什么触发了激活。

于 2016-04-17T05:21:56.280 回答