【问题标题】:Emacs Keybindings in Visual Studio 2012 or 2013Visual Studio 2012 或 2013 中的 Emacs 键绑定
【发布时间】:2012-12-02 19:47:48
【问题描述】:

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

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

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

【问题讨论】:

  • 自发布此问题以来,您有什么运气吗?
  • 不。仍然没有找到任何东西:(

标签: visual-studio emacs visual-studio-2012 key-bindings


【解决方案1】:

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

  1. 下载Emacs emulation extension

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

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

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

注意:Visual Studio 2013 通过设置 Version="12.0" 工作。并且可以通过设置&lt;Edition&gt;Express_All&lt;/Edition&gt;来使用VS Express

  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。祝你好运!

【讨论】:

  • 还要仔细检查 Emacs.vsk 是否列在 c:\program files (x86)\microsoft visual studio 11.0\common7\ide 中。这是包含键绑定分配的文件。
  • 按照上面的说明,我还是把解压后的Emacs.vsk复制到c:\program files (x86)\microsoft visual studio 11.0\common7\ide。然后它起作用了。惊人的!非常感谢@jaket!!
  • 我在尝试运行 vsix 包时收到以下错误:此 VSIX 包无效,因为它的根目录中不包含文件 extension.vsixmanifest。
  • 我在压缩文件夹时出现了根目录问题。 Windows 工具创建了一个 zip->emacsemulation->all-the-files,而它应该是 zip->all-the-files。只需选择目录中所有提取的文件并压缩它们而不是包含目录。
  • 请注意:对于 Visual Studio 2013,您应该使用 &lt;VisualStudio Version="12.0"&gt;
【解决方案2】:

如果您想让它与 VS2013 的 Express 版本一起使用,请务必将 Edition 行更改为 &lt;Edition&gt;Express_All&lt;/Edition&gt;。另见the description of the Edition element

【讨论】:

    【解决方案3】:

    仅供参考:emacs 仿真扩展现已开源。

    【讨论】:

      【解决方案4】:

      Jaket 的方法最初对我有用,但几天后就停止了。在绝望地寻找解决方案后,我通过博客条目 [2] 找到了 XKeymacs [1]。 XKeymacs 为整个 windows 环境添加了 keymacs 样式的键绑定,并且在 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

      【讨论】:

        【解决方案5】:

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

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

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

        【讨论】:

          【解决方案6】:

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

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

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

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

          目录

          【讨论】:

            【解决方案7】:

            要为 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% 确定是什么触发了激活。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-11-05
              • 2010-09-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-11-29
              • 2013-11-03
              相关资源
              最近更新 更多