脚本可以在ISE中工作,但不能在Visual Studio Code中工作,脚本或VS Code是否有问题?

时间:2019-02-20 17:14:13

标签: powershell visual-studio-code powershell-ise

我目前正在运行以下为练习而准备的脚本,以提高我的Powershell技能,我想从一些基础知识入手,以防万一我在慢慢整理自己的知识并进行计算时错过了一些东西圆和其他可以使用功能的形状/形式。

function calculate-circle{ 
$pi = 3.14
[float]$radius = read-host "What is the radius?"

$surface = $radius*$radius*$pi
write-host "The surface area of a circle with radius $radius is $surface"

}

在Powershell ISE中,这执行起来没有缺陷,我能够输入半径并进行计算。

在VS Code中,突出显示整个脚本并使用“在活动终端中运行选定的文本”热键运行它后,我得到以下信息。

PS C:\> function calculate-circle{
Missing closing '}' in statement block or type definition.
At line:0 char:0
PS C:\>     $mypi = 3.14
PS C:\>     [float]$radius = read-host "What is the radius?"
What is the radius?:
PS C:\>     $surface = $radius*$radius*$mypi
PS C:\>     write-host "The surface area of a circle with radius $radius is $surface"
The surface area of a circle with radius 0 is 0
PS C:\> }
At line:1 char:1
+ }
+ ~
Unexpected token '}' in expression or statement.

我不知道的是,这是我的代码存在问题还是VS Code中的Powershell有点古怪?我真的很喜欢VS Code的某些功能,所以有点不满意。多谢!

1 个答案:

答案 0 :(得分:1)

使用命令面板中的Terminal: Run Selected Text In Active Terminal命令(也可以从Run Selected Text菜单中以Terminal访问),分别提交并执行选择的行 ,不能与多行代码片段(例如函数定义)一起使用。

相反,请使用PowerShell扩展随附的PowerShell: Run Selection命令,该命令默认情况下绑定到热键 F8 ,就像在ISE中一样;您还可以使用Run Selection命令从选择的上下文菜单中访问它。