【问题标题】:Can vsvim map keys to ReSharper.ReSharper_ExtendSelection?vsvim 可以将键映射到 ReSharper.ReSharper_ExtendSelection 吗?
【发布时间】:2014-06-03 18:59:37
【问题描述】:

我的 .vsvimrc 中有这些映射,它们按预期工作。我按 z 后跟 / 或 Shift+/ 并添加 cmets。

map <z></> :vsc ReSharper.ReSharper_LineComment<CR>
map <z><?> :vsc ReSharper.ReSharper_BlockComment<CR>

这些不起作用。

map <z><w> :vsc ReSharper.ReSharper_ExtendSelection<CR>
map <z><W> :vsc ReSharper.ReSharper_ShrinkSelection<CR>

我已尝试将它们映射到其他各种键(包括已被证明可用于其他 R# 命令的键),但选择没有被扩展。

这可能吗?

【问题讨论】:

  • 我看到了另一个 vsvim 问题。似乎是个好主意。已删除。
  • 我不确定该命令是否可以以这种方式运行。当我打开命令窗口并输入 ReSharper.ReSharper_ExtendSelection 时,我得到一个错误“不支持命令 ReSharper.ReSharper_ExtendSelection”。
  • 那么某些命令有什么不同导致它们无法运行?我想我需要先在命令窗口中运行它们来进行测试。谢谢@JaredPar
  • ReSharper 的操作会在数据上下文中查找可以操作的信息。扩展选择操作查找当前文本控件。当操作作为 VS 命令调用时,没有设置数据上下文,因此它会尝试使用当前选定的 UI 元素来构建上下文。如果在 UI 层次结构中找不到构建上下文的内容,则该命令不可用。
  • @citizenmatt 这对于为什么它不能从命令窗口工作是有道理的。也就是说,我的展开/收缩热键确实可以在代码窗口中使用。

标签: resharper vsvim


【解决方案1】:

这似乎是 VsVim 中的一个错误。执行:vsc 命令时,键盘焦点位于命令行编辑器控件上。 ReSharper 似乎使用键盘焦点来确定当前处于活动状态的文本编辑器。在执行命令之前 VsVim 应该将焦点放在正确的位置。我提交了以下错误以跟踪修复它

https://github.com/jaredpar/VsVim/issues/1377

【讨论】:

    猜你喜欢
    • 2015-01-21
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多