我遇到了以最新版本开头的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升级,当我运行文件时,我在终端窗口中收到了这些错误。错误指向我已注释掉的行(#
)。
在每个函数中,我首先注释了对我使用的每个变量的解释,如:#$UserName = the Name of the user
。
如果我在comment-char $
之后删除#
符号,那么该行的错误就会消失。
问题不在于我没有使用正确的基于注释的帮助语法。 事实上,我已经注释掉了我不使用的变量,并且当我在VSCode中运行( F5 )文件时会引发错误。
有没有人解释为什么我的代码中没有#$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
}
答案 0 :(得分:0)
您遇到的问题是PowerShellEditorService。这是VS Code中PowerShell扩展使用的引擎,也是PS集成终端的运行方式。
我无法复制您获得的错误。我正在使用最新版本的VS Code(1.19.3)和PS Extension(1.5.1)。如果您更新并仍然遇到问题,可以将其提交给GitHub仓库以找出它在您的安装上可能会这样做的原因。我的猜测是,即使你有评论,它仍然会解析这条线。如果您阻止评论整个部分,它可能会导致引擎跳过尝试解析每一行。
答案 1 :(得分:0)
添加我的评论作为答案,因为它确实为OP工作。
您认为这是环境问题吗?
意味着系统上的某些内容已更改/已损坏。
我说这是因为,我已经看到这种情况发生了,而且发生在我身上。代码在一个系统上运行良好,在另一个系统上运行失败,
我们说话的时候有这个问题。你有其他系统可以尝试吗?
关注您的问题和我的相关评论。我的发现是最新的VSCode更新更新了默认的Keybindings,从而导致与我的自定义用户键绑定冲突。一旦我删除了与新的默认键绑定冲突的自定义键绑定,所有内容都恢复正常。
故事的道德,注意VSCode更新并真正阅读ReadMe文件。特别是如果你习惯定制。