4

我有一个自定义代码片段,我可以通过 Ctrl+K、Ctrl+X 很好地访问它,然后为“我的代码片段”输入“m”并点击 Tab,然后输入我想要使用的片段的第一个字母,然后按 Enter。

到那个时候,只需输入真实的东西几乎就更短了。

我尝试将键盘快捷键分配给 Edit.InvokeSnippetFromShortcut(工具 > 选项 > 环境 > 键盘),但尽管它允许我分配和保存快捷方式,但输入片段“快捷方式”,然后输入我分配给 InvokeSnippetFromShortcut 的快捷方式没有任何作用。这可能是因为它没有显示在它看起来(从谷歌搜索)应该位于的“编辑”菜单上,所以它可能不可用。

背景:我正在编辑一个 .sql 文件,所以这是一个 SQL 片段。C#、VB 等的代码段行为可能不适用于此处。我的自定义代码段使用“sql”作为语言(我已经尝试使用 sql_ssdt w/相同的结果)。我只想能够输入“foo”,点击一个键盘快捷键,并让编辑器将“foo”替换为“barbaz_some_long_thing_that_is_tedious_to_type”

有没有人有这个工作?如果是这样,怎么做?

4

1 回答 1

1

这听起来像是AutoHotKey的工作。您可以创建一个 .ahk 脚本来侦听“热字符串”(在键盘上键入的任何内容,然后添加条件,例如打开某个窗口。我使用此命令来检测 Visual Studio

Vis()
{
  SetTitleMatchMode 2
  IfWinActive, Microsoft Visual Studio
  {
    return 1
  }
  else
  {
    return 0
  }
}

所以你可以写这个命令

:*:foo::
if Vis() = 1
{
    SendInput bar
}
else
{
    SendInput foo
}
return

键入fooVisual Studio 将运行代码段并bar改为发送输入。键入foo任何其他窗口将foo正常输出。安装 AutoHotKey 比尝试在 VS 的限制范围内工作要快得多,而且容易得多。

于 2013-05-27T15:54:52.920 回答