PowerShell ISE 版本 5.1.17763.1432,Windows 10 Enterprise 版本 1809。
如何禁用/删除不断尝试启动并显示在正确的ISE 的右侧?我不需要它,我不会使用它,而且它通常都坏了。
我尝试用 Google 搜索,结果都是关于如何使用/启用它的文章/帖子,而不是如何删除/禁用它。谢谢!
答案1
您说的是‘命令’选项卡吗?
它不叫模块浏览器。虽然有一个插件,因为它有脚本、项目等。只需查看网站的插件菜单即可。
您无法删除此插件,您可以将其设置为不显示...
$psISE.CurrentPowerShellTab.VerticalAddOnTools
Name IsVisible Control
---- --------- -------
Commands True Microsoft.Windows.PowerShell.Gui.Internal.ShowCommandAddOnControl
...但这并不意味着它不存在。
当然,它有一个模块下拉菜单,作为过滤器,但它与输入没有什么不同......
Show-Command # get all command just like the addon.
或者
Show-Command -Name Get-ChildItem # get the target command only
... 直接。因此,如果您执行上述操作,则与双击该选项卡中的该命令相同。顺便说一句,没有 Show-Module cmdlet 可以执行相同的操作。
该插件只能在右侧加载,不能在左侧加载,并且是否加载/显示的设置位于“插件菜单”和工具栏中。
使用 GUI 中的“x”将其关闭,只需在 AddOns 菜单中取消选中,然后重新启动 ISE,它就不会显示,或者将代码放入 $profile 中,在加载时取消选中它。
ISE 具有可编程对象模型。请参阅提供的链接
您需要了解的是,它不仅仅是一个显示的东西,它还会告诉您某个模块、命令或功能是否可用。如果您执行隐式 PSRemote 会话(例如 Exchange、AD、SQL),以将这些命令代理到您的主机,则在您点击会话插件上的刷新按钮加载它们之前,这些命令将不可用。
因此,无论您单击什么来查找内容,它都会被使用。仅供参考,当您转到 VSCode 时,它也有一个这样的功能,因为人们要求它,虽然它不需要在隐式远程会话中单击“刷新”,如 ISE,但它有自己烦人的怪癖和问题。所有工具都有。
你说你看过,但是我很惊讶你没有发现这个:
# Remove ISE AddOn
# list ISE Vertical AddOn Tools
$psISE.CurrentPowerShellTab.VerticalAddOnTools
# Add on name from the list retreived above
$addOnName = 'PowerGist'
# Check you've spelled it right and remove
$exists = $psISE.CurrentPowerShellTab.VerticalAddOnTools | where { $_.Name -eq $addOnName }
if ($exists) {
$psISE.CurrentPowerShellTab.VerticalAddOnTools.Remove($exists)
}
# verify its gone
$psISE.CurrentPowerShellTab.VerticalAddOnTools
上述操作将允许您删除除“命令选项卡”之外的所有其他插件,因为它是 ISE 的一部分,并且由于 ISE 中不再进行任何工作,因此它会永远存在。
ISE 技术参考:
• PowerShell ISE(内置编辑器) https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise https://docs.microsoft.com/en-us/powershell/scripting/components/ise/exploring-the-windows-powershell-ise https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/powershell_ise https://docs.microsoft.com/en-us/powershell/scripting/components/ise/exploring-the-windows-powershell-ise
Using PowerShell 7 in the Windows PowerShell ISE https://www.youtube.com/watch?v=CLolNWuICoM&feature=emb_rel_end
• Windows PowerShell ISE 脚本对象模型的用途 https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model
• ISE 对象模型层次结构 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-ise-object-model-hierarchy
• ObjectModelRoot 对象 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-objectmodelroot-object
• ISEOptions 对象 - PowerShell | Microsoft Docs ISEOptions 对象表示 Windows PowerShell ISE 的各种设置。它是 Microsoft.PowerShell.Host.ISE.ISEOptions 类的一个实例。
• ISEOptions 对象提供以下方法和属性。 https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseoptions-object
• ISEAddOnTool 对象 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseaddontool-object
• 将 Exchange Shell 项目添加到 PowerShell ISE https://eightwone.com/2012/10/25/adding-exchange-shell-items-to-powershell-ise
• PowerShell ISE 对象模型概述 https://www.petri.com/overview-powershell-ise-object-model
• 使用 PowerShell ISE 编辑器对象 - Petri https://www.petri.com/using-powershell-ise-editor-object
• 使用 PowerShell ISE 中的 AddOnsMenu 属性 https://www.petri.com/using-addonsmenu-property-powershell-ise-object-model
• Windows PowerShell ISE 对象模型参考 https://forsenergy.com/en-us/windowspowershellhelp/html/e1a9e7d1-0fd5-47de-8d9b-f1be1ed13b0c.htm
• PowerShellTab 对象 https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/object-model/the-powershelltab-object?view=powershell-7
更新
因此,您或其他人必须从这里下载并安装该模块浏览器到您的系统上:
https://www.microsoft.com/en-us/download/details.aspx?id=45885
或者你或者他们这样做了。
Find-Module -Name ISEModuleBrowserAddon -Force
Install-Module -Name ISEModuleBrowserAddon -Force
这不是内置命令选项卡,尽管它确实被添加到 ISE UI 的该部分。默认情况下,它不是 ISE AddOns 的一部分。那个真的不再正常工作了,ScriptBrowser、ProjectExplorer 等也一样。您只需卸载它们即可。从您的 Modules 文件夹中删除该模块,以及您的配置文件中对它的任何调用。
Import-Module -Name ISEModuleBrowserAddon
... 在 PowerShell 中执行以下操作...
Uninstall-Module -Name ISEModuleBrowserAddon -Force