Tema standar aplikasi command-line kita mungkin sangat sederahana dan kurang berwarna dan perlu melakukan kostumisasi agar lebih menarik.
Di PowerShell sendiri sebenarnya dapat kita lakukan kostumisasi pada file konfigurasi / profile dengan menambahkan atau menulis script sesuai yang kita keinginan seperti menambahkan warna atau struktur tampilan prompt.
function prompt {
$path = "";
$location = Get-Location
$locPath = $location.Path.split('\')[0] + '\'
$pathpwd = ([string]$pwd).split("\", [System.StringSplitOptions]::RemoveEmptyEntries)
if($pathpwd.length -eq 1) {
$path = $pathpwd[0] + "\"
} else {
$path = $pathpwd[$pathpwd.length - 1]
}
$time = (Get-Date).ToLongTimeString()
Write-Host "[$time] ● " -ForegroundColor Gray -nonewline
Write-Host "$path" -nonewline -ForegroundColor Green
return " ➜ "
}
// [12:17:51 PM] ● dev ➜
Namun, meskipun kita dapat membuat sendiri kostum tampilan atau tema prompt, pasti suatu saat kita juga ingin merubah tampilan atau apa yang sudah kita buat dengan tampilan lain. Dengan melihat kompleksifitas dan kemudakan, memilih menggunakan modul tambahan yang memiliki berbagai macam tema adalah hal yang lebih baik.
Salah satu modul populer untuk konstumisasi prompt yang dapat menjadi pilihan adalah Oh My Posh. Selain memiliki banyak tema, instalasi dan penggunaannya pun juga sangat mudah.
Jika ingin mencobanya, di bawah ini adalah cara penginstalan dan penggunaan oh my posh pada PowerShell.
Instalasi Oh My Posh di PowerShell#
Ada bebera cara dalam penginstalan Oh My Posh yang akan membuat lokasi modul dan atau tema dan konfigurasi berbeda. Silahkan pilih salah satu cara di bawah atau sesuaikan package manager yang ingin digunakan.
Penginstalan dapat dilakukan pada aplikasi PowerShell langsung atau melalui Windows Terminal dengan profile PowerShell.
PowerShell#
Install-Module oh-my-posh -Scope CurrentUser
- Jalankan
Get-PoshThemes
untuk menampilkan daftar tema. - Lokasi tema:
C:\Users\WINDOWS-USERNAME\.oh-my-posh\themes
Scoop#
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
Lokasi tema: C:\Users\WINDOWS-USERNAME\scoop\apps\oh-my-posh\v\themes
Terkait Scoop: Cara Install Scoop di Windows
Chocolatey#
choco install oh-my-posh
Lokasi tema: C:\Users\WINDOWS-USERNAME\AppData\Local\Programs\oh-my-posh\themes
Terkait Chocolatey: Cara Install Chocolatey Package Manager di Windows
Pengaturan#
Setelah penginstalan selesai silahkan buka file profile PowerShell dengan text editor yang digunakan. Untuk cara cepat gunakan saja variabel $profile
untuk membuka profile.
Silahkan ubah nvim
dengan text editor yang digunakan.
nvim $profile
Kemudian untuk pemasangan tema, kita harus menambahkan modul Import-Module oh-my-posh
pada profile, lalu menetapkan tema yang dipilih seperti di bawah ini.
Contoh dengan tema night-owl
:
Import-Module oh-my-posh
//powershell
Set-PoshPrompt -Theme night-owl
//chocolatey
oh-my-posh --init --shell pwsh --config ~\AppData\Local\Programs\oh-my-posh\themes\night-owl.omp.json | Invoke-Expression
//scoop
oh-my-posh --init --shell pwsh --config ~\scoop\apps\oh-my-posh\7.5.1\themes\night-owl.omp.json | Invoke-Expression
Selesai. Penginstalan dan penggunaan sangat mudah dan membuat tampilan prompt lebih berwarna dan bervariasi. Silahkan dicoba.
Contoh pengatuan Windows Terminal dengan Powershell yang saya lakukan pada settings.json
:
{
"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"profiles": {
"defaults": {
"colorScheme": "DoomOne",
"font": {
"face": "CaskaydiaCove Nerd Font",
"size": 10
},
"padding": "4, 2",
"useAcrylic": false,
"acrylicOpacity": 0.8,
"backgroundImage": null,
"tabColor": "#282C34",
"cursorColor": "#bbc2cf",
"scrollbarState": "hidden"
},
"list": [
{
"name": "PowerShell",
"hidden": false,
"backgroundImage": null,
"source": "Windows.Terminal.PowershellCore",
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}"
}
...
]
},
"schemes": [
{
"name": "DoomOne",
"black": "#000000",
"red": "#ff6c6b",
"green": "#98be65",
"yellow": "#ecbe7b",
"blue": "#a9a1e1",
"purple": "#c678dd",
"cyan": "#51afef",
"white": "#bbc2cf",
"brightBlack": "#000000",
"brightRed": "#ff6655",
"brightGreen": "#99bb66",
"brightYellow": "#ecbe7b",
"brightBlue": "#a9a1e1",
"brightPurple": "#c678dd",
"brightCyan": "#51afef",
"brightWhite": "#bfbfbf",
"background": "#34373d",
"foreground": "#bbc2cf",
"selectionBackground": "#42444b",
"cursorColor": "#40775e"
}
],
"initialCols": 122,
"initialRows": 30,
"copyFormatting": "none",
"copyOnSelect": false,
"alwaysShowTabs": false,
"showTabsInTitlebar": false,
"useAcrylicInTabRow": false
}