Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

18
19

ใ€2024ๅนดๆœ€ๆ–ฐ็‰ˆใ€‘PowerShell ใฎใŠใ™ใ™ใ‚็’ฐๅขƒๆง‹็ฏ‰

Posted at

ๅ‰ๅŠใซใ‚ฟใƒผใƒŸใƒŠใƒซใฎ่ฆ‹ใŸ็›ฎใ‚„ๆ“ไฝœใ‚’ใ‹ใฃใ“ใ‚ˆใใ™ใ‚‹ๆ–นๆณ•ใ‚’็ดนไป‹ใ—ใฆใ€
ๅพŒๅŠใซ PowerShell ใฎใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐ็’ฐๅขƒใ‚’ๅฟซ้ฉใซใ™ใ‚‹ๅ†…ๅฎนใ‚’ๆ›ธใใพใ—ใŸใ€‚

ใ“ใฎ่จ˜ไบ‹ใงๆ›ธใใ“ใจ

ๆœ€ๆ–ฐ็‰ˆ PowerShell 7 ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ
ๆจ™ๆบ–ใงๅ…ฅใฃใฆใ„ใ‚‹ใฎใฏ Windows PowerShell 5.x ใฎใŸใ‚ใ€ๆœ€ๆ–ฐ็‰ˆใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™ใ€‚
ใ‚ฟใƒผใƒŸใƒŠใƒซใ‚„ใ‚จใƒ‡ใ‚ฃใ‚ฟใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ๆ‰‹้ †
Windows Terminal, Visual Studio Code ใงใฏใ€ๆจ™ๆบ–ใงๅ…ฅใฃใฆใ„ใ‚‹ Windows PowerShell 5.x ใ‚’ไฝฟใฃใฆใ„ใ‚‹ใฎใง 7 ใซๅˆ‡ใ‚Šๆ›ฟใˆใพใ™ใ€‚
ใใฎไป–ใ€ไพฟๅˆฉใƒ„ใƒผใƒซใฎๅฐŽๅ…ฅๆ–นๆณ•
ใƒ—ใƒญใƒณใƒ—ใƒˆใฎใ‚ซใ‚นใ‚ฟใƒžใ‚คใ‚บ๏ผˆOh My Posh๏ผ‰ใ€ใ‚ฟใƒผใƒŸใƒŠใƒซใฎๅ…ฅๅŠ›่ฃœๅฎŒๆฉŸ่ƒฝ๏ผˆPSReadLine, carapace๏ผ‰ใ€ๆ”น่‰ฏ็‰ˆ cd๏ผˆzoxide๏ผ‰ใ€Windows ็‰ˆ sudo๏ผˆgsudo๏ผ‰ใ‚’ไฝฟใ„ใพใ™ใ€‚
ใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐ็’ฐๅขƒใฎๆ•ดๅ‚™
Visual Studio Code ใซ PowerShell ๆ‹กๅผตๆฉŸ่ƒฝใ‚’ใ‚Œใฆใ€PowerShell 7 ใซๅˆ‡ใ‚Šๆ›ฟใˆใพใ™ใ€‚

ใ“ใฎ่จ˜ไบ‹ใงๆ›ธใ‹ใชใ„ใ“ใจ

WindowsTerminal ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซๆ‰‹้ †
ๆœ€ๆ–ฐใฎ Windows 11 ใงใ‚ใ‚Œใฐใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงๅ…ฅใฃใฆใ„ใพใ™ใ€‚
ใชใ„ๅ ดๅˆใฏWindows Terminal | Microsoft Storeใ‹ใ‚‰ใ‚คใƒณใ‚นใƒˆใƒผใƒซๅฏ่ƒฝใงใ™ใ€‚
WinGet ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซๆ‰‹้ †
ใ“ใกใ‚‰ใ‚‚ๆœ€ๆ–ฐใฎ Windows 11 ใงใ‚ใ‚Œใฐๆจ™ๆบ–ใงใƒใƒณใƒ‰ใƒซใ•ใ‚Œใฆใ„ใพใ™ใ€‚
ใชใ„ๅ ดๅˆใฏใ€ใ‚ขใƒ—ใƒช ใ‚คใƒณใ‚นใƒˆใƒผใƒฉใƒผ | Microsoft Storeใ‹ใ‚‰ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆใใ ใ•ใ„ใ€‚
WinGet ไปฅๅค–ใงใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซๆ‰‹้ †
Scoop ใ‚„ Chocolatey ใงใ‚‚ๅŒๆง˜ใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใงใใพใ™ใŒใ€ใ“ใฎ่จ˜ไบ‹ใงใฏ WinGet ใซ็ตฑไธ€ใ—ใพใ—ใŸใ€‚
WSL ไธŠใงใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ๆ‰‹้ †
Windows ใจๅŒๆง˜ใซ WSL ไธŠใงใ‚‚ PowerShell ็’ฐๅขƒใฏๆง‹็ฏ‰ใงใใพใ™ใŒใ€้•ทใใชใ‚‹ใฎใงๅ‰ฒๆ„›ใ—ใพใ—ใŸใ€‚

ๆœ€ๆ–ฐ็‰ˆ PowerShell 7 ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ

PowerShell ็’ฐๅขƒใฎๆง‹็ฏ‰ใ‚’ๅง‹ใ‚ใ‚‹ๅ‰ใซใ€PowerShell ใ‚นใ‚ฏใƒชใƒ—ใƒˆ (.ps1) ใ‚’ๅฎŸ่กŒใงใใ‚‹ใ‚ˆใ†ใซใ™ใ‚‹ใŸใ‚ใ€ๅฎŸ่กŒใƒใƒชใ‚ทใƒผใ‚’ๅค‰ๆ›ดใ—ใพใ™ใ€‚

PowerShell ใฎใƒ‡ใƒ•ใ‚ฉใƒซใƒˆๅฎŸ่กŒใƒใƒชใ‚ทใƒผใฏใ€ใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃๅผทๅŒ–ใฎใŸใ‚ใ€Restricted ใซ่จญๅฎšใ•ใ‚Œใฆใ„ใพใ™ใ€‚
ใ“ใ‚Œใฏใ€PowerShell ใ‚นใ‚ฏใƒชใƒ—ใƒˆใฎๅฎŸ่กŒใ‚’ไธ€ๅˆ‡่จฑๅฏใ—ใชใ„ๆœ€ใ‚‚ๅŽณๆ ผใช่จญๅฎšใงใ™ใ€‚

ใใฎใŸใ‚ใ€ไธ€่ˆฌ็š„ใซใฏใ€ไฟก้ ผใงใใ‚‹็™บ่กŒๅ…ƒใ‹ใ‚‰ใฎใ‚นใ‚ฏใƒชใƒ—ใƒˆใฎใฟๅฎŸ่กŒใ‚’่จฑๅฏใ™ใ‚‹ RemoteSigned ใซๅค‰ๆ›ดใ™ใ‚‹ใ“ใจใŒ่กŒใ‚ใ‚Œใพใ™ใ€‚
ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใ‚’็ถญๆŒใ—ใคใคใ€ๅฟ…่ฆใชใ‚นใ‚ฏใƒชใƒ—ใƒˆใฎๅฎŸ่กŒใŒๅฏ่ƒฝใซใชใ‚Šใพใ™ใ€‚

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
็ขบ่ชๆ–นๆณ•
Get-ExecutionPolicy
#> RemoteSigned

ใใ‚Œใงใฏใ€PowerShell 7 ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™ใ€‚

winget install Microsoft.PowerShell

winget ใฏ่‡ชๅ‹•็š„ใซ็’ฐๅขƒๅค‰ๆ•ฐใฎ PATH ใซ่ฟฝๅŠ ใ—ใฆใใ‚Œใพใ™ใŒใ€
PowerShell ใฏๅ†่ตทๅ‹•ใ—ใชใ„้™ใ‚Šใ€็พๅœจใฎใ‚ปใƒƒใ‚ทใƒงใƒณใฎ PATH ๆƒ…ๅ ฑใฏๅคใ„ใพใพใซใชใฃใฆใ—ใพใ„ใพใ™ใ€‚

ใใ“ใงใ€ไปฅ้™ใฎๆ‰‹้ †ใ‚’ใ‚นใƒ ใƒผใ‚บใซๅฎŸๆ–ฝใ„ใŸใ ใใŸใ‚ใซ profile.ps1 ใธไปฅไธ‹ใฎ้–ขๆ•ฐใ‚’ๅฎš็พฉใ—ใฆใŠใ„ใฆใใ ใ•ใ„ใ€‚

ใ“ใฎ่จ˜ไบ‹ใงใฏใ€profile.ps1 ใŒใพใ ๆœชไฝœๆˆใฎใƒฆใƒผใ‚ถใ‚’ๆƒณๅฎšใ—ใฆใ„ใพใ™ใ€‚
ๆ—ขใซไฝœๆˆๆธˆใฟใฎๆ–นใฏใ€ๅฟ…่ฆใซๅฟœใ˜ใฆ่ฟฝ่จ˜ or ็ทจ้›†ใง่ชญใฟๆ›ฟใˆใฆใใ ใ•ใ„ใ€‚

PowerShell ใงไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใ‚’ๆ›ธใ„ใฆไฟๅญ˜ใ—ใพใ™ใ€‚

%UserProfile%\Documents\PowerShell\profile.ps1
function Update-PathVariable {
    $env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") +
    ";" +
    [System.Environment]::GetEnvironmentVariable("Path", "User")
}

profile.ps1 ใƒ•ใ‚กใ‚คใƒซใฏ PowerShell ใŒ่ตทๅ‹•ใ—ใŸใจใใซไธ€ๅบฆใ ใ‘ๅฎŸๆ–ฝใ•ใ‚Œใ‚‹ๅ‡ฆ็†ใ‚’่จ˜่ผ‰ใ™ใ‚‹ๅ ดๆ‰€ใงใ€ไธปใซใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃ้–ขๆ•ฐใฎๅฎš็พฉใ‚„ใ‚จใ‚คใƒชใ‚ขใ‚นใ€ๅ„็จฎใƒ„ใƒผใƒซใฎๅˆๆœŸๅŒ–ๅ‡ฆ็†ใ‚’่กŒใ†ใ“ใจใซไฝฟใ‚ใ‚Œใพใ™ใ€‚
ไปฅ้™ใฎๆ‰‹้ †ใงใฏใ€$PROFILE.CurrentUserAllHosts ใจ่จ˜่ผ‰ใ—ใฆใ„ใพใ™ใ€‚

Windows PowerShell 5 ใจ PowerShell 7 ใง $PROFILE.CurrentUserAllHosts ใฎๅ€คใŒ้•ใ†ใฎใงใ€ๆฌกใฎใ‚นใƒ†ใƒƒใƒ—ใ‹ใ‚‰ใฏๅฟ…ใš PowerShell 7 ใงๅฎŸๆ–ฝใ—ใฆใใ ใ•ใ„ใ€‚

็ขบ่ชๆ–นๆณ•
ใ“ใ“ใฏ Windows PowerShell ใฎใพใพๅฎŸๆ–ฝใ—ใŸใฎใง OK ใงใ™ใ€‚
. ${env:UserProfile}\Documents\PowerShell\profile.ps1
Update-PathVariable

pwsh --version
#=>PowerShell 7.4.5

Windows Terminal ใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—

Windows Terminal ใงใฏใ€ใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซใซใฆใ‚ฟใƒผใƒŸใƒŠใƒซ่ตทๅ‹•ๆ™‚ใซไฝฟ็”จใ™ใ‚‹ใ‚ทใ‚งใƒซใ‚’่จญๅฎšใงใใพใ™ใ€‚
Windows PowerShell 5.x ใฏๆจ™ๆบ–ใงใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซใŒ่จญๅฎšใ•ใ‚Œใฆใ„ใ‚‹ใฎใงใ€ใใ‚Œใ‚’่ค‡่ฃฝใ—ใฆไฝœๆˆใ—ใฆใ„ใใพใ™ใ€‚

windows-terminal-pwsh-setup-1.png

้ …็›ฎ่จญๅฎšๅ€ค
ๅๅ‰PowerShell 7.x
ใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณ%ProgramFiles%\PowerShell\7\pwsh.exe
ใ‚ขใ‚คใ‚ณใƒณms-appx:///ProfileIcons/pwsh.png

ๅ…ฅๅŠ›ใงใใŸใ‚‰ไฟๅญ˜ใ—ใพใ™ใ€‚

windows-terminal-pwsh-setup-2.png

ๆฌกใซๆ—ขๅฎšใฎใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซใ‚’ PowerShell 7.x ใซๅค‰ๆ›ดใ—ใพใ™ใ€‚

windows-terminal-pwsh-setup-3.png

็ขบ่ชๆ–นๆณ•

Windows Terminal ใ‚’้–‹ใใชใŠใ—ใฆใ€ไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚
ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใŸใƒใƒผใ‚ธใƒงใƒณใซใชใฃใฆใ„ใ‚Œใฐ OK ใงใ™ใ€‚

$PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      4      5

Visual Studio Code ใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—

Visual Studio Code ใฎใ‚จใƒ‡ใ‚ฃใ‚ฟๅ†…ใฎใ‚ฟใƒผใƒŸใƒŠใƒซใงใ‚‚ PowerShell ใŒไฝฟใˆใ‚‹ใฎใงใ€
ใใกใ‚‰ใซๅฏพใ—ใฆใ‚‚ใ€่จญๅฎšๅค‰ๆ›ดใ‚’ใ—ใฆใ„ใใพใ™ใ€‚

Visual Studio Code ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซ

winget install Microsoft.VisualStudioCode
Update-PathVariable

ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎใ‚ฟใƒผใƒŸใƒŠใƒซใ‚ทใ‚งใƒซใ‚’ pwsh ใซๅค‰ๆ›ด

Ctrl + , ใง่จญๅฎšใƒšใƒผใ‚ธใ‚’้–‹ใใ€ terminal.integrated.profiles.windows ใงๆคœ็ดขใ—ใพใ™ใ€‚
ใ€ŒEdit in settings.json (ๆ—ฅๆœฌ่ชžใƒกใƒ‹ใƒฅใƒผใฎๅ ดๅˆใฏใ€Œsettings.jsonใง็ทจ้›†ใ€)ใ€ใ‚’ใ‚ฏใƒชใƒƒใ‚ฏใ—ใ€ไปฅไธ‹ใฎ่จญๅฎšใ‚’่ฟฝๅŠ ใ—ใพใ™ใ€‚

settings.json
{
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "path": [
                "${env:ProgramFiles}\\PowerShell\\7\\pwsh.exe"
            ],
            "source": "PowerShell",
            "icon": "terminal-powershell",
            "args": [
                "-NoLogo",
                "-ExecutionPolicy",
                "Bypass"
            ]
        },
        ๏ผœ็œ็•ฅ๏ผž
    },
    "terminal.integrated.defaultProfile.windows": "PowerShell",
็ขบ่ชๆ–นๆณ•

Ctrl + Shift + @ ใงใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎใ‚ฟใƒผใƒŸใƒŠใƒซใ‚ทใ‚งใƒซใ‚’่ตทๅ‹•ใ—ใฆใ€ไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚
ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใŸใƒใƒผใ‚ธใƒงใƒณใซใชใฃใฆใ„ใ‚Œใฐ OK ใงใ™ใ€‚

$PSVersionTable.PSVersion

Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      4      5

ใ‚ฟใƒผใƒŸใƒŠใƒซใฎ่ฆ‹ใŸ็›ฎใƒปๆ“ไฝœใ‚’ใ‹ใฃใ“ใ‚ˆใใ™ใ‚‹

ใ„ใใคใ‹ใฎใƒ„ใƒผใƒซใ‚’ใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใ—ใฆใ€ PowerShell ใฎไฝฟใ„ๅ‹ๆ‰‹ใ‚’ใ‚ˆใใ—ใฆใ„ใใพใ™ใ€‚

ใƒ—ใƒญใƒณใƒ—ใƒˆใฎใ‚ซใ‚นใ‚ฟใƒžใ‚คใ‚บ | Oh My Posh

ใพใšใ€Oh My Posh ใจใ„ใ†ใƒ„ใƒผใƒซใงใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’ใ‹ใฃใ“ใ‚ˆใใ—ใฆใ„ใใพใ™ใ€‚

ไปฅๅ‰ใฏ PowerShell ๅฐ‚็”จใฎใƒ—ใƒญใƒณใƒ—ใƒˆใ‚ซใ‚นใ‚ฟใƒžใ‚คใ‚บใƒ„ใƒผใƒซใงใ—ใŸใŒใ€
็พๅœจใฏ bash ใ‚„ Nushell ใชใฉใ€ๆง˜ใ€…ใชใ‚ทใ‚งใƒซใซๅฏพๅฟœใ—ใฆใ„ใ‚‹ใ‚ˆใ†ใงใ™ใ€‚

Nerd Fonts ใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—

Oh My Posh ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ‰ใซ Nerd Fonts ใŒใพใ  PC ใธใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใฆใ„ใชใ„ๅ ดๅˆใฏใ€
ใใฎใพใพ้€ฒใ‚ใฆใ—ใพใ†ใจใ€ใƒ—ใƒญใƒณใƒ—ใƒˆใŒๆ–‡ๅญ—ๅŒ–ใ‘ใ—ใฆใ—ใพใ†ใฎใงใ€ๅ…ˆใซ Nerd Fonts ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚’่กŒใฃใฆใใ ใ•ใ„ใ€‚

Nerd Fonts ใฏใ€ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใงใ‚ˆใไฝฟใ†่จ˜ๅทใ‚„ใ‚ขใ‚คใ‚ณใƒณใ‚’่ฑŠๅฏŒใซๅซใ‚“ใ ใƒ•ใ‚ฉใƒณใƒˆใงใ™ใ€‚
ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ใ‚ณใƒผใƒ‰ใ‚’ใ‚ˆใ‚Š่ฆ–่ฆš็š„ใซ็†่งฃใ—ใ‚„ใ™ใใชใ‚Šใ€้–‹็™บๅŠน็އใŒๅ‘ไธŠใ—ใพใ™ใ€‚

ใŠๅฅฝใฟใฎใƒ•ใ‚ฉใƒณใƒˆใฉใ‚Œใ‹๏ผ‘ใคใงๅคงไธˆๅคซใงใ™ใ€‚

็‰นใซใ“ใ ใ‚ใ‚Šใชใ„ๆ–นใฏ Microsoft ใŒ WindowsTerminal ็”จใซ Cascadia Code ใจใ„ใ†ใƒ•ใ‚ฉใƒณใƒˆใ‚’ๆไพ›ใ—ใฆใ„ใ‚‹ใฎใงใ€ใใกใ‚‰ใŒใŠใ™ใ™ใ‚ใงใ™ใ€‚
Cascadia Code ใ‚’ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใ—ใฆ zip ใƒ•ใ‚กใ‚คใƒซใ‚’่งฃๅ‡ใ™ใ‚‹ใจใ€ใƒ•ใ‚ฉใƒณใƒˆใŒใ„ใใคใ‹ใ‚ใ‚Šใพใ™ใŒใ€
ใจใ‚Šใ‚ใˆใšใ€ CaskaydiaCoveNerdFont-Regular.ttf ใงใ„ใ„ใจๆ€ใ„ใพใ™ใ€‚

ใ‚คใƒณใ‚นใƒˆใƒผใƒซๅพŒใ€ Windows Terminal ใจ Visual Studio Code ใฎใƒ•ใ‚ฉใƒณใƒˆ่จญๅฎšใ‚’ๅค‰ๆ›ดใ—ใพใ™ใ€‚

Windows Terminal ใฎใƒ•ใ‚ฉใƒณใƒˆๅค‰ๆ›ด

ใ€Œ่จญๅฎš -> ใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซ(PowerShell 7.x) -> ๅค–่ฆณ(ใใฎไป–ใฎ่จญๅฎš) -> ใƒ•ใ‚ฉใƒณใƒˆใƒ•ใ‚งใ‚คใ‚นใ€ใงๅค‰ๆ›ดใงใใพใ™ใ€‚
็‰นใซๅ†่ตทๅ‹•ไธ่ฆใง้ฉ็”จใ•ใ‚Œใ‚‹ใ‚ˆใ†ใงใ™ใ€‚

windows-terminal-pwsh-setup-fonts.png

็ขบ่ชๆ–นๆณ•

a === b || a <= b ใจๅ…ฅๅŠ›ใ—ใฆใ€ๆผ”็ฎ—ๅญใŒไปฅไธ‹ใฎ็”ปๅƒใฎใ‚ˆใ†ใซๅˆไฝ“ใ—ใฆ่กจ็คบใ•ใ‚Œใฆใ„ใ‚Œใฐ OK ใงใ™ใ€‚

Visual Studio Code ใฎใƒ•ใ‚ฉใƒณใƒˆๅค‰ๆ›ด

Ctrl + , ใง่จญๅฎšใƒšใƒผใ‚ธใ‚’้–‹ใใ€ไปฅไธ‹ใฎ Setting ID ใงๆคœ็ดขใ—ใฆๅค‰ๆ›ดใ—ใพใ™ใ€‚

Setting ID: editor.fontFamily
ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงใ€ŒConsolas, 'Courier New', monospaceใ€ใจๆŒ‡ๅฎšใ•ใ‚Œใฆใ„ใ‚‹ใฎใงใ€
ใใฎๅ‰ใซ 'CaskaydiaCove Nerd Font' ใ‚’่ฟฝๅŠ ใ—ใพใ™ใ€‚๏ผˆ่จ˜่ผ‰้ †ใ‹ใ‚‰้ฉ็”จใ•ใ‚Œใ‚‹ใŸใ‚๏ผ‰

image.png

็ถšใ„ใฆใ€ใƒชใ‚ฌใƒใƒฃ๏ผˆๅˆๅญ—๏ผ‰ใ‚’ๆœ‰ๅŠนใซใ—ใพใ™ใ€‚

settings.json
    "editor.fontLigatures": true

ใ“ใฎ่จญๅฎšใงใ‚จใƒ‡ใ‚ฃใ‚ฟ้ƒจๅˆ†ใฏใƒชใ‚ฌใƒใƒฃใง่กจ็คบใ•ใ‚Œใพใ™ใ€‚
ใŸใ ใ€ใชใœใ‹ใ‚ฟใƒผใƒŸใƒŠใƒซใฏๆœชๅฏพๅฟœใ‚‰ใ—ใใ€ใƒชใ‚ฌใƒใƒฃใซใชใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚

็ขบ่ชๆ–นๆณ•

ใ‚จใƒ‡ใ‚ฃใ‚ฟใซใฆ a === b || a <= b ใจๅ…ฅๅŠ›ใ—ใฆใ€ๆผ”็ฎ—ๅญใŒไปฅไธ‹ใฎ็”ปๅƒใฎใ‚ˆใ†ใซๅˆไฝ“ใ—ใฆ่กจ็คบใ•ใ‚Œใฆใ„ใ‚Œใฐ OK ใงใ™ใ€‚

Oh My Posh ใฎใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—

ใƒ•ใ‚ฉใƒณใƒˆใฎ่จญๅฎšใŒๅฎŒไบ†ใ—ใŸใฎใงใ€Oh My Posh ใ‚’ใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใ—ใฆใ„ใใพใ™ใ€‚

ๅฎŸใฎใจใ“ใ‚ใ€ๆœ€ๅˆใฏ Starship ใ‚’็ดนไป‹ใ—ใ‚ˆใ†ใจใ—ใŸใฎใงใ™ใŒใ€
Starship ใ‚’ๅฐŽๅ…ฅใ™ใ‚‹ใจใ€ไปฅ้™ใซ็ดนไป‹ใ™ใ‚‹ zoxide ใจ็ซถๅˆใ—ใฆๆญฃๅธธใซๅ‹•ไฝœใ—ใชใ„ไบ‹่ฑกใŒใ‚ใฃใŸใฎใงใ‚„ใ‚ใพใ—ใŸใ€‚
ๆ—ขใซ Starship ใ‚’ๅฐŽๅ…ฅใ—ใฆใ„ใ‚‹ๆ–นใฏใ”ๆณจๆ„ใใ ใ•ใ„ใ€‚

ใƒ†ใƒผใƒžใฏ emodipt ใซใ—ใฆใ„ใพใ™ใŒใ€ใ“ใกใ‚‰ใ‹ใ‚‰ใŠๅฅฝใฟใฎใƒ†ใƒผใƒžใซๅค‰ๆ›ดใ„ใŸใ ใ‘ใพใ™ใ€‚
ใŸใ ใ€ใƒ—ใƒญใƒณใƒ—ใƒˆใฎ่กจ็คบใŒใ‚ณใƒณใƒ‘ใ‚ฏใƒˆใงใ€ใ‹ใคใ€ๆ™‚ๅˆป่กจ็คบใ‚’ไป˜ใ‘ใŸใ„ๅ ดๅˆใฏใ€ emodipt ใŒใŠใ™ใ™ใ‚ใงใ™ใ€‚

winget install JanDeDobbeleer.OhMyPosh -s winget
Update-PathVariable

'oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/emodipt.omp.json" | Invoke-Expression' >> $PROFILE.CurrentUserAllHosts

. $PROFILE.CurrentUserAllHosts
็ขบ่ชๆ–นๆณ•

ใƒ—ใƒญใƒณใƒ—ใƒˆใŒไปฅไธ‹ใฎใ‚ˆใ†ใซๅค‰ๆ›ดใ•ใ‚Œใฆใ„ใ‚Œใฐ OK ใงใ™ใ€‚

่ฃœๅฎŒๅ…ฅๅŠ›ๆ”ฏๆดใฎๆ•ดๅ‚™

ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงใ‚‚ๅๅˆ†ไพฟๅˆฉใชใฎใงใ€ใ“ใ“ใฎใ‚ปใ‚ฏใ‚ทใƒงใƒณใฏไปปๆ„่ฆ็ด ๅผทใ‚ใง่ชญใ‚“ใงใใ ใ•ใ„ใ€‚

PSReadLine

PSReadLine ใฏ PowerShell ใซๆจ™ๆบ–ใงๅŒๆขฑใ•ใ‚Œใฆใ„ใ‚‹ใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณ็ทจ้›†ใŒๅฟซ้ฉใซใชใ‚‹ใƒ„ใƒผใƒซใงใ™ใ€‚
PowerShell ใฎใƒใƒผใ‚ธใƒงใƒณใซๅˆใ‚ใ›ใฆใใฎ้ƒฝๅบฆๆœ€ๆ–ฐ็‰ˆใซๆ›ดๆ–ฐใ•ใ‚Œใ‚‹ใ‚ˆใ†ใชใฎใงใ€ๅˆฅ้€”ๆ›ดๆ–ฐใ™ใ‚‹ๅฟ…่ฆใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚

็‰นใซ่จญๅฎšใ—ใฆใ„ใชใใฆใ‚‚ไฝฟใˆใพใ™ใŒใ€EditMode ใจใ—ใฆ Windows(default), Emacs, Vi ใฎ 3 ๅฎ—ๆดพใ‹ใ‚‰้ธในใพใ™ใ€‚
ใ“ใ“ใฎ้ธๆŠžใฏๅฎŒๅ…จใซๅ€‹ไบบใฎ่‡ช็”ฑใงใ™ใŒใ€bash, zsh ใฏๆจ™ๆบ–ใง Emacs ใƒขใƒผใƒ‰ใซใชใฃใฆใ„ใ‚‹ใฎใงใ€
ใใกใ‚‰ใซๅˆใ‚ใ›ใŸใ„ใจใ„ใ†ๆ–นใฏ Emacs ใซ่จญๅฎšๅค‰ๆ›ดใ™ใ‚‹ใ‚ณใƒžใƒณใƒ‰ใ‚’ profile.ps1 ใซๆ›ธใ„ใฆใŠใใจใ„ใ„ใจๆ€ใ„ใพใ™ใ€‚

~\Documents\PowerShell\profile.ps1
# EditMode ใฏ Windows(default), Emacs, Vi ใ‹ใ‚‰้ธๆŠžๅฏ่ƒฝ
Set-PSReadLineOption -EditMode Emacs

ใ‚ญใƒผใฎๅ‰ฒใ‚Šๅฝ“ใฆใฏ Get-PSReadLineKeyHandler ใง็ขบ่ชใงใใพใ™ใ€‚
ใ‚ซใ‚นใ‚ฟใƒžใ‚คใ‚บใ‚‚่‡ช็”ฑใซใงใใพใ™ใŒใ€ใ“ใฎ่จ˜ไบ‹ใงใฏ็‰นใซ่งฆใ‚Œใชใ„ใงใŠใใพใ™ใ€‚

็ขบ่ชๆ–นๆณ•

Ctrl + r ใง . ใ‚’ๅ…ฅๅŠ›ใ—ใ€ไปฅไธ‹ใฎใ‚ˆใ†ใช็”ป้ขใซใชใ‚Œใฐใ€ OK ใงใ™ใ€‚
ใ‚ณใƒžใƒณใƒ‰ๅฑฅๆญดใซๅฏพใ—ใฆใ€้€†้ †ใงใ‚คใƒณใ‚ฏใƒชใƒกใƒณใ‚ฟใƒซใ‚ตใƒผใƒใŒใงใใพใ™ใ€‚

carapace

carapace ใฏใ€git ใ‚„ npm ใชใฉใ€ใ‚ตใƒ–ใ‚ณใƒžใƒณใƒ‰ใ‚„ใ‚ชใƒ—ใ‚ทใƒงใƒณๅ…ฅๅŠ›ๆ™‚ใซ่ฃœๅฎŒใ—ใฆใใ‚Œใ‚‹ๆฉŸ่ƒฝใ‚’ๆง˜ใ€…ใชใ‚ทใ‚งใƒซใงๅˆฉ็”จใงใใ‚‹ใƒ„ใƒผใƒซใงใ™ใ€‚
ใพใ ใ€ใใ“ใพใง็Ÿฅๅๅบฆใฏใชใ„ๆฐ—ใŒใ—ใพใ™ใŒใ€ไพฟๅˆฉใชใฎใง็ดนไป‹ใ—ใพใ™ใ€‚

winget install rsteube.Carapace
Update-PathVariable

@'
$env:CARAPACE_BRIDGES = "zsh,fish,bash,inshellisense" # optional
Set-PSReadLineOption -Colors @{ "Selection" = "`e[7m" }
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
carapace _carapace | Out-String | Invoke-Expression
'@ >> $PROFILE.CurrentUserAllHosts

. $PROFILE.CurrentUserAllHosts

carapace ใŒใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใง่ฃœๅฎŒใ‚’ใ‚ตใƒใƒผใƒˆใ—ใฆใ„ใ‚‹ใ‚ณใƒžใƒณใƒ‰ใฏใ“ใกใ‚‰ใ‹ใ‚‰็ขบ่ชใ„ใŸใ ใ‘ใพใ™ใ€‚
ls ใ‚„ cat ใ‚‚ใ‚ตใƒใƒผใƒˆใ•ใ‚Œใฆใ„ใฆใ€ไธ€็žฌ PowerShell ใฎ ls(=Get-ChildItem ใฎใ‚จใ‚คใƒชใ‚ขใ‚น) ใ‚„ cat(Get-Content ใฎใ‚จใ‚คใƒชใ‚ขใ‚น)ใจ็ซถๅˆใ™ใ‚‹ใฎใงใฏใจๆ€ใฃใฆใ—ใพใ„ใพใ™ใŒใ€
ใใ“ใฏ PowerShell ใฎๆ–นใฎใ‚ณใƒžใƒณใƒ‰ใƒฌใƒƒใƒˆใฎ่ฃœๅฎŒใŒๅ‹ใคใ‚ˆใ†ใงใ™ใ€‚
ใŸใ ใ—ใ€-- ใพใงๅ…ฅๅŠ›ใ—ใŸๅ ดๅˆใฏ carapace ใฎ่ฃœๅฎŒใŒๅ€™่ฃœใซๅ‡บใฆใใพใ™ใ€‚

็ขบ่ชๆ–นๆณ•

git co ใพใงๅ…ฅๅŠ›ใ—ใฆใ€Ctrl + Space ใ‚’ใ—ใ€ไปฅไธ‹ใฎใ‚ˆใ†ใช็”ป้ขใซใชใ‚Œใฐ OK ใงใ™ใ€‚

ๆ”น่‰ฏ็‰ˆ cd | zoxide

้ŽๅŽปใซ่จชๅ•ใ—ใŸใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใธๅŠน็އใ‚ˆใ็งปๅ‹•ใงใใ‚‹ cd ใฎไปฃๆ›ฟใƒ„ใƒผใƒซใงใ™ใ€‚

ไปฅๅ‰ใพใงใฏใ€zLocation ใจใ„ใ† PowerShell ่ฃฝใฎใƒ„ใƒผใƒซใ‚’ไฝฟใฃใฆใ„ใŸใฎใงใ™ใŒใ€
่ฌŽใซใƒ•ใƒชใƒผใ‚บใ™ใ‚‹ใจใใŒใ‚ใฃใฆใ€ zoxide ใซ็งป่กŒใ—ใพใ—ใŸใ€‚
ใ“ใกใ‚‰ใซๆ…ฃใ‚ŒใฆใŠใ‘ใฐใ€ WSL ใงใ‚‚ๅŒใ˜ใ‚ˆใ†ใซไฝฟใˆใ‚‹ใฎใงๆฐ—ใซๅ…ฅใฃใฆใพใ™ใ€‚

ๅ†…้ƒจใง fzf ใจใ„ใ†ใ‚ฟใƒผใƒŸใƒŠใƒซใงใ‚คใƒณใ‚ฏใƒชใƒกใƒณใ‚ฟใƒซใชๆคœ็ดขใŒใงใใ‚‹ใƒ„ใƒผใƒซใ‚’ๅˆฉ็”จใ—ใฆใ„ใ‚‹ใฎใงใ€
ใใกใ‚‰ใ‚‚ๅˆใ‚ใ›ใฆใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆใŠใใพใ™ใ€‚

winget install ajeetdsouza.zoxide
winget install junegunn.fzf
Update-PathVariable

'Invoke-Expression (& { (zoxide init powershell | Out-String) })' >> $PROFILE.CurrentUserAllHosts

. $PROFILE.CurrentUserAllHosts

่ฉณ็ดฐใช่ชฌๆ˜Žใฏ็œใใพใ™ใŒใ€็ขบ่ชๆ–นๆณ•ใซ่จ˜่ผ‰ใ—ใฆใ„ใ‚‹ใ‚ณใƒžใƒณใƒ‰ใง้›ฐๅ›ฒๆฐ—ใ‚’็†่งฃใ—ใฆใ‚‚ใ‚‰ใˆใ‚Œใฐใ€‚

็ขบ่ชๆ–นๆณ•
z ~
@(
    "zoxide_play_ground\sample\sub",
    "zoxide_play_ground\special\sub"
) |
% { New-Item -ItemType Directory -Path $_ -Force }

z zoxide_play_ground

z .\sample\sub\
z ..\..\special\sub\
z ..\..\sample\sub\
z ..\..

z sub
pwd
#=>่จชๅ•ๅ›žๆ•ฐใŒๅคšใ„ๅ ดๆ‰€ใŒๅ„ชๅ…ˆใ•ใ‚Œใ‚‹ใŸใ‚ sample\sub ใซ็งปๅ‹•ใ™ใ‚‹ใ€‚
#=>Path
#=>----
#=>C:\Users\username\zoxide_play_ground\sample\sub
z sp sub
pwd
#=>sp ใŒ special ใซไธ€่‡ดใ™ใ‚‹ใŸใ‚ special\sub ใซ็งปๅ‹•ใ™ใ‚‹ใ€‚
#=>Path
#=>----
#=>C:\Users\ueokaj\zoxide_play_ground\special\sub

Windows ็‰ˆ sudo | gsudo

Unix/Linux ใฎ sudo ใจๅŒๆง˜ใซ PowerShell ใงใ‚‚ sudo ใŒใงใใพใ™ใ€‚
ใ“ใ‚ŒใฎใŠใ‹ใ’ใงใ€็ฎก็†่€…ๆจฉ้™ใงๅฎŸ่กŒใ—ใŸใ„ใจใใซใ€ใ„ใกใ„ใกใ‚ฟใƒผใƒŸใƒŠใƒซใ‚’ใ€Œ็ฎก็†่€…ใจใ—ใฆๅฎŸ่กŒใ€ใง่ตทๅ‹•ใ—ใชใใฆใ‚‚ใ‚ˆใใชใ‚Šใพใ—ใŸใ€‚

ใกใชใฟใซใ€Microsoft ใ‚‚ Sudo for Windows ใ‚’ๅ…ฌ้–‹ใ—ใฆใ„ใ‚‹ใฎใงใ™ใŒใ€
ๆฉŸ่ƒฝ้ขใง gsudo ใฎๆ–นใŒๅ……ๅฎŸใ—ใฆใ„ใ‚‹ใฎใงใ€ใ“ใ“ใงใฏ gsudo ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™ใ€‚

winget install gerardog.gsudo
Update-PathVariable
็ขบ่ชๆ–นๆณ•
netstat -ab
#=> ่ฆๆฑ‚ใ•ใ‚ŒใŸๆ“ไฝœใซใฏ็ฎก็†่€…็‰นๆจฉใŒๅฟ…่ฆใงใ™ใ€‚

gsudo netstat -ab
#=> ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใชๆŽฅ็ถš
#=> 
#=> ใƒ—ใƒญใƒˆใ‚ณใƒซ  ใƒญใƒผใ‚ซใƒซ ใ‚ขใƒ‰ใƒฌใ‚น      ๅค–้ƒจใ‚ขใƒ‰ใƒฌใ‚น           ็Šถๆ…‹
#=> ...

ใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐ็’ฐๅขƒใ‚’ๆ•ดใˆใ‚‹

ใ“ใ“ใ‹ใ‚‰ใฏ PowerShell ใงใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใ™ใ‚‹ไบบๅ‘ใ‘ใฎๅ†…ๅฎนใซใชใ‚Šใพใ™ใ€‚
ใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐ็’ฐๅขƒ่‡ชไฝ“ใฏ Windows ใงใฏๆจ™ๆบ–ใง Windows PowerShell ISE ใŒใ‚ใ‚Šใพใ™ใŒใ€
ใ“ใกใ‚‰ใฏ้–‹็™บๅœๆญขใ•ใ‚Œใฆใ„ใฆ PowerShell 5.1 ใพใงใ—ใ‹ใ‚ตใƒใƒผใƒˆใ•ใ‚Œใฆใ„ใชใ„็Šถๆณใงใ™ใ€‚
ใใฎใŸใ‚ใ€ PowerShell 7.x ใงใฏ Visual Studio Code + PowerShell ๆ‹กๅผตๆฉŸ่ƒฝใงใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใ™ใ‚‹ใ“ใจใซใชใ‚Šใพใ™ใ€‚

PowerShell ใฎๆ‹กๅผตๆฉŸ่ƒฝใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซ

Microsoft ใŒๅ…ฌๅผใซๆไพ›ใ—ใฆใ„ใ‚‹ๆ‹กๅผตๆฉŸ่ƒฝใ‚’ไฝฟใ„ใพใ™ใ€‚

Visual Studio Code ใซใฆ Ctrl+P ใ—ใฆ Quick Open ใ‚’้–‹ใใ€
ext install @id:ms-vscode.powershell ใง Enter ใ™ใ‚‹ใจๅ‡บใฆใใ‚‹ใฎใงใ€ใใฎใพใพ Install ใ—ใฆใใ ใ•ใ„ใ€‚

PowerShell ๆ‹กๅผตๆฉŸ่ƒฝ็”จใฎ PowerShell ใ‚’ 7 ใซๅค‰ๆ›ด

ใ€Œๆ—ขใซ 7 ใซๅˆ‡ใ‚Šๆ›ฟใˆใŸใ‚ˆใญ๏ผŸใ€ใจๆ€ใฃใฆใ—ใพใ†ใจใ“ใ‚ใงใ™ใŒใ€
ใ“ใ‚ŒใพใงๅฎŸๆ–ฝใ—ใŸใฎใฏใ€Visual Studio Code ใฎใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎใ‚ฟใƒผใƒŸใƒŠใƒซใ‚ทใ‚งใƒซใ‚’ PowerShell 7 ใซๅˆ‡ใ‚Šๆ›ฟใˆใŸไฝœๆฅญใงใ—ใŸใ€‚

PowerShell ๆ‹กๅผตๆฉŸ่ƒฝใงใฏใ€ps1 ใƒ•ใ‚กใ‚คใƒซใ‚’ใƒ‡ใƒใƒƒใ‚ฐใ™ใ‚‹ใจใใชใฉใซๅˆฉ็”จใ™ใ‚‹ PowerShell ใฎ่จญๅฎšใ‚’ๅฎŒๅ…จใซๅˆฅใงๆŒใฃใฆใ„ใ‚‹ใŸใ‚ใ€ใใกใ‚‰ใ‚‚ PowerShell 7 ใซๅˆ‡ใ‚Šๆ›ฟใˆใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

ๅˆ‡ใ‚Šๆ›ฟใˆๆ–นๆณ•ใฏไปฅไธ‹ใฎ้€šใ‚Šใงใ™ใ€‚

Setting ID: powershell.powerShellAdditionalExePaths
Item ใซ PowerShell7ใ€Value ใซ C:\Program Files\PowerShell\7\pwsh.exeใจๅ…ฅๅŠ›ใ—ใพใ™ใ€‚
Setting ID: powershell.powerShellDefaultVersion
Item ใซใฆๆŒ‡ๅฎšใ—ใŸ PowerShell7 ใ‚’ๅ…ฅๅŠ›ใ—ใพใ™ใ€‚

image.png

ใพใŸใ€ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงใฏ PowerShell ่ตทๅ‹•ๆ™‚ใซใƒใƒŠใƒผใŒๅ‡บใฆใ—ใพใ†ใฎใงใ€ใใกใ‚‰ใ‚’็„กๅŠนๅŒ–ใ—ใฆใŠใใพใ™ใ€‚

Setting ID: powershell.integratedConsole.suppressStartupBanner
่ตทๅ‹•ๆ™‚ใซ่กจ็คบใ•ใ‚Œใ‚‹ใƒใƒŠใƒผ๏ผˆไพ‹๏ผ‰
PowerShell Extension v2024.2.2
Copyright (c) Microsoft Corporation.

https://aka.ms/vscode-powershell
Type 'help' to get help.

image.png

็ขบ่ชๆ–นๆณ•

้ฉๅฝ“ใชๅ ดๆ‰€ใซ ps1 ใƒ•ใ‚กใ‚คใƒซใ‚’ไฝœๆˆใ—ใ€ ไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใ‚’ๆ›ธใ„ใฆ 3 ่กŒ็›ฎใซใƒ–ใƒฌใƒผใ‚ฏใƒใ‚คใƒณใƒˆใ‚’ๅผตใ‚Šใพใ™ใ€‚
F5 ใงใƒ‡ใƒใƒƒใ‚ฐๅฎŸ่กŒใ‚’ใ‚นใ‚ฟใƒผใƒˆใ—ใฆใ€ๆญฃๅธธใซๅ‹•ไฝœใ™ใ‚Œใฐ OK ใงใ™ใ€‚

example.ps1
$x = $null
$x ??= 100  # null ๅˆไฝ“ไปฃๅ…ฅๆผ”็ฎ—ๅญใฏ PowerShell 7 ใงๅฐŽๅ…ฅใ•ใ‚Œใพใ—ใŸใ€‚
$x

่ฃœ่ถณ๏ผš ใƒ†ใ‚นใƒ†ใ‚ฃใƒณใ‚ฐใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏ | Pester

PowerShell ใฎใƒ†ใ‚นใƒ†ใ‚ฃใƒณใ‚ฐใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใจใ—ใฆไฝฟใ‚ใ‚Œใฆใ„ใ‚‹ Pester ใงใ™ใŒใ€
Windows PowerShell 5.x ใซใฏๅคใ„ใƒใƒผใ‚ธใƒงใƒณใŒๅŒๆขฑใ•ใ‚Œใฆใ„ใ‚‹ไธ€ๆ–นใงใ€
PowerShell 7.x ใซใฏๅŒๆขฑใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚

ใใฎใŸใ‚ใ€ไฝฟ็”จใ™ใ‚‹ๅ ดๅˆใฏๅˆฅ้€”ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚’่กŒใฃใฆใ„ใŸใ ใๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

ไปฅไธ‹ใฎ่จ˜ไบ‹ใง่งฆใ‚Œใฆใ„ใ‚‹ใฎใงใ€ใ‚ˆใ‘ใ‚Œใฐใ”ๅ‚็…งใใ ใ•ใ„ใ€‚

่ฃœ่ถณ๏ผš ้™็š„่งฃๆžใƒ„ใƒผใƒซ | PSScriptAnylyzer

PowerShell ๆ‹กๅผตๆฉŸ่ƒฝใงใฏใ€้™็š„่งฃๆžใƒ„ใƒผใƒซใจใ—ใฆ PSScriptAnylyzer ใŒใƒใƒณใƒ‰ใƒซใ•ใ‚Œใฆใ„ใพใ™ใ€‚
ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงๆœ‰ๅŠนใซใชใฃใฆใŠใ‚Šใ€ๅธธใซๆœ€ๆ–ฐ็‰ˆใŒๅ…ฅใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹ใฎใงใ€ Pester ใจใฏ้•ใฃใฆๅˆฅ้€”ๆ›ดๆ–ฐไฝœๆฅญใ‚’ใ™ใ‚‹ๅฟ…่ฆใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚

ไปฅไธ‹ใซๅ…ฅ้–€่จ˜ไบ‹ใ‚’ๆ›ธใ„ใฆใ„ใ‚‹ใฎใงใ€่ˆˆๅ‘ณใŒใ‚ใ‚Œใฐใฉใ†ใžใ€‚

่ฃœ่ถณ๏ผš PowerShell Module ใฎใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆ

PowerShell ใฎ Module ใ‚’ไฝœๆˆใ—ใ‚ˆใ†ใจใ™ใ‚‹้š›ใซใ„ใ„ๆ„Ÿใ˜ใฎใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆใŒๅ…ฌๅผใซ่ฆ‹ๅฝ“ใŸใ‚‰ใชใ„ใฎใงใ€
ไปฅๅ‰ไฝœใฃใŸไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใ‚’ GitHub ใฎใƒ†ใƒณใƒ—ใƒฌใƒผใƒˆใƒชใƒใ‚ธใƒˆใƒชใซใ—ใพใ—ใŸใ€‚
ใ‚ˆใ‘ใ‚ŒใฐใŠไฝฟใ„ใใ ใ•ใ„ใ€‚

ใŠใ‚ใ‚Šใซ

PowerShell 7 ใŒ Windows ใซๆจ™ๆบ–ๆญ่ผ‰ใ•ใ‚Œใ‚‹ใฎใ‚’ๅˆ‡ใซ้ก˜ใ†ใ€‚

18
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Comments

No comments

Let's comment your feelings that are more than good

18
19

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address