[英]Using “Visual Studio code” with interactive Powershell window like Powershell ISE
[英]XAML code in PowerShell ISE not working in Visual Studio Code
下午好
在在線閱讀了一些有關PowerShell和XAML的指南之后,我正在嘗試使用Visual Studio社區為我創建GUI,然后使用Visual Studio Code添加我的PS代碼。
由於超出我的原因,我無法讓VSC啟動該表單,但是相同的代碼在ISE中可以正常工作。
我想念什么嗎? 以下不是我開始使用的第一個工具-只是必須依靠ISE才能完成。
在此先感謝您-如有不滿,敬請原諒!
[void][System.Reflection.Assembly]::LoadWithPartialName( 'presentationframework' )
[xml]$XAML = @'
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Service Desk Toolbox" Height="650" Width="900" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" WindowStyle="ToolWindow">
<Grid Background="#FF373737">
<TabControl HorizontalAlignment="Left" Height="600" Margin="10,10,10,0" VerticalAlignment="Top" Width="860" Background="#FF21793B" BorderBrush="#FF21793C">
<TabItem Header="New User">
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="#FF21793B" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
<Grid Background="#FF21793B">
<Label Content="Template account search" HorizontalAlignment="Left" Height="25" Margin="26,25,0,0" VerticalAlignment="Top"
Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="TemplateSearch" HorizontalAlignment="Left" Height="20" Margin="26,55,0,0" TextWrapping="Wrap" Text="Search for user"
VerticalAlignment="Top" Width="200" FontSize="10" FontFamily="Open Sans"
/>
<Button Name="Find" Content="Find" HorizontalAlignment="Left" Height="20" Margin="246,55,0,0" VerticalAlignment="Top"
Width="30" FontSize="10" FontFamily="Open Sans"
/>
<TextBox Name="TemplateFN" HorizontalAlignment="Left" Height="20" Margin="26,90,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="200" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<TextBox Name="TemplateUPN" HorizontalAlignment="Left" Height="20" Margin="246,90,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="30" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<TextBox Name="TemplateOU" HorizontalAlignment="Left" Height="20" Margin="26,125,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10" IsReadOnly="True"
/>
<Label Content="Full name" HorizontalAlignment="Left" Height="25" Margin="26,155,0,0" VerticalAlignment="Top"
Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewFullName" HorizontalAlignment="Left" Height="20" Margin="26,180,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Username" HorizontalAlignment="Left" Height="25" Margin="26,215,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewUsername" HorizontalAlignment="Left" Height="20" Margin="26,240,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Email Address" HorizontalAlignment="Left" Height="25" Margin="26,275,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewEmail" HorizontalAlignment="Left" Height="20" Margin="26,300,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Line Manager" HorizontalAlignment="Left" Height="25" Margin="26,335,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewManager" HorizontalAlignment="Left" Height="20" Margin="26,360,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Department" HorizontalAlignment="Left" Height="25" Margin="26,395,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewDepartment" HorizontalAlignment="Left" Height="20" Margin="26,420,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
<Label Content="Job Title" HorizontalAlignment="Left" Height="25" Margin="26,455,0,0"
VerticalAlignment="Top" Width="230" FontFamily="Open Sans" FontSize="11" FontWeight="Bold"
/>
<TextBox Name="NewJobTitle" HorizontalAlignment="Left" Height="20" Margin="26,480,0,0" TextWrapping="Wrap" Text=""
VerticalAlignment="Top" Width="250" FontFamily="Open Sans" FontSize="10"
/>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF0F0F0" Offset="0"/>
<GradientStop Color="#FF21793B" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
<Grid Background="#FF21793B"/>
</TabItem>
</TabControl>
</Grid>
</Window>
'@
$READER = ( New-Object System.Xml.XmlNodeReader $XAML )
try{
$FORM = [Windows.Markup.XamlReader]::Load( $READER )
}
catch{Write-Host "Unable to load Windows.Markup.XamlReader." }
$XAML.SelectNodes( "//*[@Name]" ) | %{ Set-Variable -Name ( $_.Name ) -Value $FORM.FindName( $_.Name ) }
$FORM.ShowDialog() | Out-Null
您只需在終端中鍵入“。\\ yourscript”(它將使用powershell.exe執行它)。 如果您按F5鍵,它將無法正常工作,恐怕VSCode只能調試控制台應用程序
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.