新的解决方案使用ISES 类固醇

新的解决方案使用ISES 类固醇

在 PowerShell ISE 中,我想使用键盘快捷键一次注释掉一行或多行,就像 Sublime Text 那样。

是否可以#通过键盘快捷键添加或删除下面示例中显示的内容?

[console]::beep(350,400)< 在以下选项之间切换 >#[console]::beep(350,400)

答案1

我找到了一个我喜欢的解决方案https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/toggling-comments-in-powershell-ise

它适用于一行或多行,甚至行内。将此函数放在您的 $Profile 文件中。

function Toggle-Comment
{
    $file = $psise.CurrentFile                              
    $text = $file.Editor.SelectedText   
    if ($text.StartsWith("<#")) {
        $comment = $text.Substring(2).TrimEnd("#>") 
    }
    else
    {                            
        $comment = "<#" + $text + "#>"    
    }
    $file.Editor.InsertText($comment)                     
}

$psise.CurrentPowerShellTab.AddOnsMenu.Submenus.Add('Toggle Comment', { Toggle-Comment }, 'CTRL+K')

每次打开 ISE 时都会运行 $Profile,因此该函数始终可用。该函数使用键盘快捷键 Ctrl-K 创建一个新菜单项,用于注释或取消注释所选行。

如果尚未创建 $Profile 文件(通常不会),您可以像这样创建它:

New-Item -Path $profile -ItemType "file" -Force

(命令来源:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-7.2

答案2

不优雅但实用......

评论

在所有行的开头使用“Block Select”:

  • AltMouse-Left-Click-Drag 或者
  • AltShift尽管

... 然后 ...

  • Shift3

取消评论

“阻止选择”所有#所有行开头的字符:

  • AltMouse-Left-Click-Drag 或者
  • AltShift尽管

... 然后 ...

  • Delete

答案3

很旧,但我刚刚发现了这个问题并找到了这个解决方案。

  • 选择所有要注释的行
  • Ctrl-H 在脚本中替换
  • 在“查找内容”中输入 ^
  • 在“替换为”中输入 #
  • 选中正则表达式复选框
  • 全部替换

然后反向使用“查找内容”中的#,而在“替换为”中不输入任何内容

答案4

新的解决方案使用ISES 类固醇

这是一个更好的解决方案,但它涉及为 ISE 安装插件。

  1. 将其粘贴到编辑器中: Install-Module -Name "ISESteroids" -Scope CurrentUser -Repository PSGallery -Force

  2. 粘贴此内容以运行它。 Start-Steroids

  3. 然后选择文本并使用键盘快捷键Ctrl++ShiftB

现在您可以在编辑器中拥有此功能。

自动加载ISES 类固醇

  1. 具有ISES 类固醇每次启动 PowerShell ISE 时都会加载,单击显示的图标
  1. 粘贴此:Start-Steroids
  2. 保存此文件并关闭。
  3. 下次打开 PowerShell ISE 时,此插件将会加载。

较旧的无效答案

据我所知,这无法在本机编辑器中完成,但可以使用:

https://code.visualstudio.com/

并通过安装一个名为电源外壳通过使用Ctrl++ShiftX搜索PowerShell并安装。

这将允许调试和语法突出显示,并且还具有用于阻止注释的键盘快捷键,如下所示:

  • Ctrl+/用于切换行注释

  • Ctrl++Shift用于A切换块评论。

相关内容