如何在Powershell中将Ctrl + /指定为KeyGesture

时间:2016-07-02 01:18:36

标签: powershell

我正在尝试使用这行代码

为powershell ISE分配一个快捷方式
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Comment Selected Lines",{Comment-IseSelectedLines},"Ctrl+/")

但是我收到了这个错误

Cannot convert argument "shortcut", with value: "Ctrl+/", for "Add" to type
"System.Windows.Input.KeyGesture": "Cannot convert value "Ctrl+/" to type 
"System.Windows.Input.KeyGesture". Error: "Requested value '/' was not found.""

如果我将 / 更改为其他字母,例如 O ,则错误消失。 那么无论如何我可以使用 /

这是我最终使用的代码

#Ctrl + /
$KeyGesture = New-Object -TypeName System.Windows.Input.KeyGesture -ArgumentList ([System.Windows.Input.Key]::OemQuestion, [System.Windows.Input.ModifierKeys]::Control);
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Comment Selected Lines",{Comment-IseSelectedLines},$KeyGesture)

#ctrl + Shift + /
$KeyGesture = New-Object -TypeName System.Windows.Input.KeyGesture -ArgumentList ([System.Windows.Input.Key]::OemQuestion, 6)
$psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Uncomment Selected Lines",{Uncomment-IseSelectedLines},$KeyGesture)

1 个答案:

答案 0 :(得分:1)

以下是如何研究它:

  1. 查找System.Windows.Input.KeyGesture课程;例如:http://www.google.com/search?&q=System.Windows.Input.KeyGesture

  2. 您可以看到KeyGesture类有一个名为Key的成员,这是一个可用键列表的枚举:https://msdn.microsoft.com/en-us/library/system.windows.input.key.aspx

  3. 查看/键的键列表。它不在那里,但有DivideOemQuestion

  4. 我尝试使用Ctrl+OemQuestion,它同时适用于/ / ?键和数字键盘上的/键。