当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

作者:精品下载站 日期:2024-12-14 07:50:53 浏览:14 分类:玩电脑

将 PowerShell 代码段添加到 Visual Studio Code


因此,我最近将日常工作转移到另一台笔记本电脑上,确切地说是配备 16GB RAM 的 Yoga 900。我一直在运行 Windows 8.1,但决定完全跳入 Windows 10 环境。作为此过程的一部分,我还设定了开始使用 Visual Studio Code (VS Code) 进行 PowerShell 工作的目标。和你们中的许多人一样,我在 PowerShell ISE 上投入了大量资金,所以我知道这并不容易。我对 PowerShell ISE 进行了广泛的定制,并且有大量的肌肉记忆需要重新训练。对我来说最重要的元素之一是片段。

在处理脚本项目时,我严重依赖智能感知和我自己的代码片段来提高效率。安装 Visual Studio Code 以及 PowerShell 扩展后,您可以立即使用很多功能。 Tab 补全和智能感知似乎比 PowerShell ISE 中更加普遍。我怀疑我以前依赖的许多代码片段在 VS Code 中不再需要。

但我仍然想要一些,所以这就是方法。

所有 VS Code 片段都存储在特定于语言的 json 文件中。在 VS Code 中,单击“文件”-“首选项”-“用户片段”,然后开始输入“PowerShell”。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

选择 PowerShell 并按 Enter 键。这将打开存储在 $env:appdata\code\user\snippets\powershell.json 中的默认片段文件。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

您看到的是描述要插入内容的注释。将光标移动到右大括号上方,然后在引号中键入代码片段的名称,后跟冒号和左大括号。

"Quote" : {

该代码段需要一个前缀(您输入的用于激活该代码段的文本)、一个正文和一个描述。每行以逗号结束。

"prefix": "psquote",
"body": "# Those who forget to script are doomed to repeat their work.",
"description": "my PowerShell quote"

并以右大括号结束下一行。最终的结果应该是这样的:

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

使用 Ctrl+S 保存文件。打开一个新文件(Ctrl+N)。默认情况下,这将是一个纯文本文件。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

但如果您单击类型,则可以将其更改为 PowerShell。现在,VS Code 将应用所有与 PowerShell 相关的功能,包括新的代码片段。开始输入前缀:

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

按 Enter 键即可插入片段。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

让我们添加另一个片段。在引用片段的右大括号后,键入逗号并按 Enter 键。从下一行开始片段。

"Starting MyCommand" : {
    "prefix": "startingps",

我喜欢在我的函数中使用这一行。

Write-Verbose "[$((Get-Date).TimeofDay) BEGIN] Starting $($myinvocation.mycommand)"

但如果我将该行粘贴到代码片段文件中,您会发现存在问题。 [更新:我意识到我的代码中有一个错误,我已修复该错误,尽管屏幕截图可能显示“错误”代码]

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

红色文本从来都不好,并且在开头的 [ 下有一条曲线。 Json 文件可能很棘手。主体值需要作为字符串引用,但我还需要将详细消息作为带有双引号的字符串插入,以便我的变量扩展。诀窍是转义这些引号。

"body": "Write-Verbose \"[$((Get-Date).TimeofDay) BEGIN] Starting $($myinvocation.mycommand.)\"",

保存 PowerShell.json 文件,返回脚本并插入“startingps”片段。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

关闭 - 但我没有得到 mycommand 变量前面的 $。在 VS Code 片段中,您可以插入 $1 和 $2 等占位符。在当前状态下,VS Code 认为当我真正需要文字 $时我正在尝试这样做。经过一番尝试和错误后,这似乎有效。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

我又插入了$。现在,当我保存文件并插入代码片段时,它会按预期工作。

到目前为止,我的片段都是俏皮话。但我(和你)经常想要插入多行。您需要做的唯一不同的事情是将正文作为对象插入一组方括号之间,并以逗号结束每行。

"my Begin Block" : {
    "prefix": "myBegin",
    "body": [
    "Begin {",
    "\tWrite-Verbose \"[$((Get-Date).TimeofDay) BEGIN] Starting $($$myinvocation.mycommand)\"",
    "}"
    ],
    "description": "my standard begin block"
}

如果您仔细观察,您还会看到在 Write-Verbose 之前插入了“\t”。这将插入一个选项卡。

[玩转系统] 将 PowerShell 代码段添加到 Visual Studio Code

如果您需要空行,请使用“\r”。

当然,设置一个代码片段可能需要一些时间,但关键是它是您经常使用的东西,并且很快就会收回成本。

当我继续探索 VS Code 时,我将在 Petri.com 的 PowerShell 部分分享我的经验。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯