手记

我打造的超强PowerShell脚本开发环境是怎样的?

在过去几年中,我有机会帮助同事们编写和优化各种任务所需的PowerShell脚本。虽然实际上这离全职工作还差得很远,但一个可靠且高效的环境对我来说非常重要。当我需要自动化流程、解决一个问题或快速提供解决方案时,通常会用到PowerShell脚本。

没有合适的配置,即使是简单的脚本也可能变成令人沮丧的时间浪费。这就是我专注于创建一个无缝运行环境的原因。这个环境能够提高生产力并尽量减少启动所需的精力。在这篇文章中,我将会分享我如何配置我的PowerShell开发环境,让编写脚本变得高效且愉悦——即使这并不是我当天的主要任务。

文件夹:

在我的电脑上,我有两个本地文件夹,一个叫做“实用工具”,一个叫做“商务”。

在我的这些文件夹里有一些我创建或下载的PowerShell模块。
我有一些不同类型的模块,有的用于压缩文件夹,有的用于读取CSV文件等等。
这些模块让我在开发或调试时更高效,每次我都不必记得要导入哪个模块。

将模块添加到配置文件中

正如我之前所说,我不想每次手动在我的脚本里导入所有模块。
所以我修改了配置脚本,在当PowerShell加载时包含这些文件夹中的所有模块。

要更改个人资料,你可以打开终端,然后输入:

这里的代码是
    代码段 $Profile

进入全屏模式。退出全屏模式。

现在,在新的 Visual Studio Code 窗口中,你可以粘贴下面的代码。

    Write-Host "正在初始化模块..." -ForegroundColor Cyan

    # 确保脚本执行过程中出现任何错误都会停止
    $ErrorActionPreference = "Stop"

    # 定义模块路径和排除项
    $ModuleDefinitions = @{
        Utilities = @{
            Path    = "D:\_TEMP_\PowerShell\Utilities"
        }
        Business = @{
            Path    = "D:\_TEMP_\PowerShell\Business"
        }
    }

    # 遍历每个模块定义
    foreach ($moduleName in $ModuleDefinitions.Keys) {
        $moduleDetails = $ModuleDefinitions[$moduleName]
        $modulePath    = $moduleDetails.Path

        # 更新PSModulePath以包含当前模块路径
        if (-Not ($env:PSModulePath -contains $modulePath)) {
            $env:PSModulePath = @(
                $env:PSModulePath
                $modulePath
            ) -join [System.IO.Path]::PathSeparator
        }

        # 从指定路径加载模块,排除不需要的目录
        Get-ChildItem -Path $modulePath -Directory -Exclude @(".git") |
            ForEach-Object {
                Write-Host "正在从'$moduleName'加载'$($_.Name)'模块" -ForegroundColor Green
                try {
                    Import-Module $_.Name -ErrorAction Stop
                } catch {
                    Write-Host "加载'$($_.Name)'模块失败: $_" -ForegroundColor Red
                }
            }
    }

    Write-Host "模块加载完成!" -ForegroundColor Cyan

全屏模式 退出全屏

有了上面的代码,每次我打开 PowerShell 会话时,所有的工具和模块都会被正确加载,确保一切就绪。

在 VS Code 中安装 PowerShell 扩展

PowerShell 扩展增强了 VS Code 的功能,比如 IntelliSense、调试和代码片段等。

安装步骤如下:

  • 打开 VS Code。
  • 通过点击侧边栏中的方形图标或按 Ctrl+Shift+X 进入扩展视图。
  • 在搜索框中输入 "PowerShell",然后点击搜索结果中的 "安装",以安装 Microsoft 的 PowerShell 扩展。
其他小工具

对于终端配置,你可以参考我之前的帖子中的一个。

## 把Windows终端变成生产力利器 Emanuele Bartolesi 这是学习平台上的 ・ 2024年12月27日发布 #Windows #终端 #命令行 ](https://dev.to/this-is-learning/transforming-windows-terminal-into-a-productivity-powerhouse-53d5)

最终的结果

如果一切顺利运行,每次你打开一个新的 PowerShell 窗口时,你应该会看到类似的内容:

……

如果你喜欢这篇博客文章,并想了解更多关于 C# 开发的内容,你可能会对我每两周发送的通讯《Dev Dispatch》感兴趣。通过订阅,你可以获得独家内容和技巧,以及有关开发世界的最新新闻和趋势的更新。你还可以与我互动,分享你的反馈和想法。要订阅,请访问 https://buttondown.email/kasuken?tag=devto,输入你的电子邮件地址并点击订阅按钮即可。你可以随时取消订阅。感谢你的支持!

0人推荐
随时随地看视频
慕课网APP