注释掉的变量给出 PS-Terminal Error (#$Var = error)
Commented out variable gives PS-Terminal Error (#$Var = error)
我在使用最新版本启动的 VSCode 终端时遇到问题。
这可能是一个错误或只是我遗漏的设置,因此我想在将其报告为错误之前先询问您。
Version 1.19.3
Commit 7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba
Date 2018-01-25T10:36:34.867Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
我有一个具有不同功能的文件,仅用于 Office365 管理任务。
我总是在 VSCode 和 运行 中打开文件 (F5),然后从另一个文件调用函数。
但是随着最新的 VSCode 升级,当我 运行 文件时,我在终端 window 中得到了这些错误。错误指向我已注释掉的行 (#
)。
在每个函数中,我首先在注释行中对我使用的每个变量进行了解释,如下所示:#$UserName = the Name of the user
。
如果我在注释字符 #
之后删除 $
符号,那么该行的错误就会消失。
问题不在于我没有使用正确的基于注释的帮助语法。
事实上,我已经注释掉了我不使用的变量,当我 运行 (F5) VSCode 中的文件时会引发错误。
有谁能解释为什么我的代码中不能有 #$Var
。
At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:44 char:3
+ #$UPN: anvnamn & epostadress
+ ~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name
character. Consider using ${} to delimit the name.
At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:45 char:3
+ #$Firstname: Förnamn
+ ~~~~~~~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name
character. Consider using ${} to delimit the name.
At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:46 char:3
+ #$Lastname: Efternamn
+ ~~~~~~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name
character. Consider using ${} to delimit the name.
At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:47 char:3
+ #$Title: Medlemsnr inkl filialnrâ,¬
+ ~~~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name
character. Consider using ${} to delimit the name.
下面是错误所抱怨的函数中的第一行。
Function CreateNewE1User {
#$UPN: anvnamn & epostadress
#$Firstname: Förnamn
#$Lastname: Efternamn
#$Title: Medlemsnr inkl filialnrEUR
#$Displaynamn: Visningsnamn (Kedja Ort (Butiksnamn), Förnamn Efternamn KEDJA
#$PWD: Tillfälligt lösenord
#param ($UPN,$Firstname,$Lastname,$Title,$Displaynamn,$PWD,$SMTP)
Param(
$UPN,
$Firstname,
$Lastname,
$Title,
$Displaynamn,
$PWD='Password01'
)
#skapa ny användare
New-MsolUser -UserPrincipalName $UPN -FirstName $Firstname -LastName $Lastname -Title $Title -DisplayName $Displaynamn -UsageLocation "SE" -PasswordNeverExpires $false
}
您遇到的问题是 PowerShellEditorService。这是 VS Code 中的 PowerShell 扩展使用的引擎,也是 PS 集成终端 运行 所使用的引擎。
我无法复制您遇到的错误。我使用的是最新版本的 VS Code (1.19.3) 和 PS Extension (1.5.1)。如果您更新后仍然遇到问题,您可以将其提交到 GitHub 存储库,以找出它在您的安装中出现的原因。我的猜测是,即使您对其进行了评论,它仍然会解析该行。如果您阻止评论整个部分,它可能会导致引擎跳过尝试解析每一行。
添加我的评论作为答案,因为它确实适用于 OP。
你有没有想过这是环境问题?
这意味着您的系统 changed/gotten 出现了损坏。
我这样说是因为,我已经看到这种情况发生了,而且它发生在我身上。代码在一个系统上运行良好而在另一个系统上运行失败,
我们说话的时候我遇到了这个问题。您是否有其他系统可以尝试。
作为你的问题和我的相关评论的后续。我发现最新的 VSCode 更新更新了默认的键绑定,从而导致与我的自定义用户键绑定发生冲突。一旦我删除了与新的默认键绑定冲突的自定义键绑定,所有事情都会恢复正常。
故事的寓意,请注意 VSCode 更新并认真阅读自述文件。特别是如果您有自定义的习惯。
我在使用最新版本启动的 VSCode 终端时遇到问题。 这可能是一个错误或只是我遗漏的设置,因此我想在将其报告为错误之前先询问您。
Version 1.19.3 Commit 7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba Date 2018-01-25T10:36:34.867Z Shell 1.7.9 Renderer 58.0.3029.110 Node 7.9.0 Architecture x64
我有一个具有不同功能的文件,仅用于 Office365 管理任务。
我总是在 VSCode 和 运行 中打开文件 (F5),然后从另一个文件调用函数。
但是随着最新的 VSCode 升级,当我 运行 文件时,我在终端 window 中得到了这些错误。错误指向我已注释掉的行 (#
)。
在每个函数中,我首先在注释行中对我使用的每个变量进行了解释,如下所示:#$UserName = the Name of the user
。
如果我在注释字符 #
之后删除 $
符号,那么该行的错误就会消失。
问题不在于我没有使用正确的基于注释的帮助语法。 事实上,我已经注释掉了我不使用的变量,当我 运行 (F5) VSCode 中的文件时会引发错误。
有谁能解释为什么我的代码中不能有 #$Var
。
At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:44 char:3 + #$UPN: anvnamn & epostadress + ~~~~~ Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name. At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:45 char:3 + #$Firstname: Förnamn + ~~~~~~~~~~~ Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name. At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:46 char:3 + #$Lastname: Efternamn + ~~~~~~~~~~ Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name. At C:\Users\anno\OneDrive för företag\Powershell\Script\Anslut_till_O365.ps1:47 char:3 + #$Title: Medlemsnr inkl filialnrâ,¬ + ~~~~~~~ Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name.
下面是错误所抱怨的函数中的第一行。
Function CreateNewE1User {
#$UPN: anvnamn & epostadress
#$Firstname: Förnamn
#$Lastname: Efternamn
#$Title: Medlemsnr inkl filialnrEUR
#$Displaynamn: Visningsnamn (Kedja Ort (Butiksnamn), Förnamn Efternamn KEDJA
#$PWD: Tillfälligt lösenord
#param ($UPN,$Firstname,$Lastname,$Title,$Displaynamn,$PWD,$SMTP)
Param(
$UPN,
$Firstname,
$Lastname,
$Title,
$Displaynamn,
$PWD='Password01'
)
#skapa ny användare
New-MsolUser -UserPrincipalName $UPN -FirstName $Firstname -LastName $Lastname -Title $Title -DisplayName $Displaynamn -UsageLocation "SE" -PasswordNeverExpires $false
}
您遇到的问题是 PowerShellEditorService。这是 VS Code 中的 PowerShell 扩展使用的引擎,也是 PS 集成终端 运行 所使用的引擎。
我无法复制您遇到的错误。我使用的是最新版本的 VS Code (1.19.3) 和 PS Extension (1.5.1)。如果您更新后仍然遇到问题,您可以将其提交到 GitHub 存储库,以找出它在您的安装中出现的原因。我的猜测是,即使您对其进行了评论,它仍然会解析该行。如果您阻止评论整个部分,它可能会导致引擎跳过尝试解析每一行。
添加我的评论作为答案,因为它确实适用于 OP。
你有没有想过这是环境问题?
这意味着您的系统 changed/gotten 出现了损坏。
我这样说是因为,我已经看到这种情况发生了,而且它发生在我身上。代码在一个系统上运行良好而在另一个系统上运行失败,
我们说话的时候我遇到了这个问题。您是否有其他系统可以尝试。
作为你的问题和我的相关评论的后续。我发现最新的 VSCode 更新更新了默认的键绑定,从而导致与我的自定义用户键绑定发生冲突。一旦我删除了与新的默认键绑定冲突的自定义键绑定,所有事情都会恢复正常。
故事的寓意,请注意 VSCode 更新并认真阅读自述文件。特别是如果您有自定义的习惯。