PowerShell ISE: desativar / remover navegador de módulo

Oct 08 2020

PowerShell ISE versão 5.1.17763.1432, Windows 10 Enterprise build 1809.

Como eu desabilito / removo o add-in 'Module Browser' que tenta inicializar continuamente e é exibido no lado direito do ISE? Eu não preciso disso, não vou usar e geralmente está quebrado de qualquer maneira.

Eu tentei pesquisar isso no Google e todos os resultados foram artigos / postagens sobre como usar / habilitar, não como remover / desabilitar. Obrigado!

Respostas

2 postanote Oct 08 2020 at 05:41

Você está falando sobre a guia 'Comandos'?

Não é chamado de navegador de módulo. Embora exista um AddOn para isso, pois há um para scripts, projetos, etc. Basta ver o menu AddOn para o site.

Você não pode remover este complemento, você pode configurá-lo para não mostrar ...

$psISE.CurrentPowerShellTab.VerticalAddOnTools

Name     IsVisible Control                                                          
----     --------- -------                                                          
Commands      True Microsoft.Windows.PowerShell.Gui.Internal.ShowCommandAddOnControl

... mas isso não significa que não esteja lá.

Claro, ele tem um menu suspenso para módulos, como um filtro, mas não é diferente de digitar ...

Show-Command # get all command just like the addon. 

ou

Show-Command -Name Get-ChildItem # get the target command only

... diretamente. Então, se você fizer o acima, é a mesma coisa que clicar duas vezes naquele comando na guia. BTW, não existe um cmdlet Show-Module para fazer a mesma coisa.

O addon carrega apenas à direita, não à esquerda, e a configuração para carregar / exibir ou não está no menu 'AddOns' e na barra de ferramentas.

Feche-o com o 'x' na GUI, apenas desmarque no menu AddOns e reinicie o ISE e ele não será exibido, ou coloque um código em seu $ profile que o desmarque ao carregar.

O ISE possui um modelo de objeto programável. Veja os links fornecidos

O que você precisa entender é que não é apenas uma coisa de exibição, ele informa se um módulo, cmdlet ou função está disponível. Se você fizer uma sessão PSRemote implícita, digamos para Exchange, AD, SQL, para fazer proxy desses cmdlets para seu host, você não terá esses cmdlets disponíveis até clicar no botão Atualizar no complemento da sessão para carregá-los.

Então, se você clicar em qualquer coisa para pesquisar coisas lá, elas estão sendo usadas. Para sua informação, no momento em que você muda para o VSCode, ele também tem um desses, porque as pessoas pediram por ele, embora não tenha a necessidade de clicar em Atualizar em sessões remotas implícitas como o ISE, ele tem suas próprias peculiaridades e problemas irritantes . Todas as ferramentas fazem.

Você diz que olhou, mas estou surpreso que você não tenha encontrado isto:

# 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

O acima irá permitir que você remova todos os outros complementos, exceto a 'Aba Comandos', pois faz parte do ISE, e como nenhum trabalho está sendo feito no ISE, ele estará lá para sempre.

Referências técnicas do ISE:

• PowerShell ISE (editor integrado) 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

• Objetivo do modelo de objeto de script ISE do Windows PowerShell https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model

• A hierarquia do modelo de objeto ISE - PowerShell | Microsoft Docshttps://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-ise-object-model-hierarchy

• O objeto ObjectModelRoot - PowerShell | Microsoft Docshttps://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-objectmodelroot-object

• O objeto ISEOptions - PowerShell | Microsoft Docs O objeto ISEOptions representa várias configurações do Windows PowerShell ISE. É uma instância da classe Microsoft.PowerShell.Host.ISE.ISEOptions.

• O objeto ISEOptions fornece os seguintes métodos e propriedades. https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseoptions-object

• O objeto ISEAddOnTool - PowerShell | Microsoft Docshttps://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseaddontool-object

• Adicionando itens do Exchange Shell ao PowerShell ISE https://eightwone.com/2012/10/25/adding-exchange-shell-items-to-powershell-ise

• Uma visão geral do PowerShell ISE Object Model https://www.petri.com/overview-powershell-ise-object-model

• Usando o objeto Editor ISE do PowerShell - Petri https://www.petri.com/using-powershell-ise-editor-object

• Usando a propriedade AddOnsMenu no PowerShell ISE https://www.petri.com/using-addonsmenu-property-powershell-ise-object-model

• Referência do modelo de objeto ISE do Windows PowerShell https://forsenergy.com/en-us/windowspowershellhelp/html/e1a9e7d1-0fd5-47de-8d9b-f1be1ed13b0c.htm

• O objeto ISEFile https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/object-model/the-isefile-object?view=powershell-7

• O objeto PowerShellTab https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/object-model/the-powershelltab-object?view=powershell-7

Atualizar

Então, esse navegador de módulo é algo que você ou alguém teve que baixar e instalar em seu sistema a partir daqui:

https://www.microsoft.com/en-us/download/details.aspx?id=45885

Ou você ou eles fizeram isso.

Find-Module -Name ISEModuleBrowserAddon -Force
Install-Module -Name ISEModuleBrowserAddon -Force

Essa não é a guia de comandos embutida, embora seja adicionada a essa parte da IU do ISE. Não faz parte dos AddOns do ISE por padrão. Aquele realmente não funciona mais bem, nem o ScriptBrowser, ProjectExplorer, etc. Você só precisa desinstalá-los. Exclua o módulo da pasta Módulos e todas as chamadas para ele em seu perfil.

Import-Module -Name ISEModuleBrowserAddon

... e no PowerShell, faça isso ...

Uninstall-Module -Name ISEModuleBrowserAddon -Force