Kommando(linje)soldat

Jeg bruger fra tid til anden meget krudt i Powershell (eller gode gamle cmd for den sags skyld), og jeg tilegner mig nogle små "nice to know" tricks, som jeg egentlig gerne vil videregive, for: hvorfor ikke?
Det første trick er noget jeg gør fra tid til anden, når jeg har bruger
for File Explorer UI'ens (u)overskuelighed, af en eller anden grund.
Forstil dem, at du er godt igang med at cd
dig langt ned i et hieraki
via Powershell. Man kan nu
bruge ii .
for at åbne nuværende folder i File Explorer, og lave det
man skal fra File Explorer. Nemt og bekvemt! Hvad nu hvis man vil den
anden vej rundt, og åbne powershell, fra nuværende folder i File
Explorer? Kan man det? Ja! Det er endda nemt, man skriver blot
powershell
i lokations baren i File Explorer, og trykker enter. Man
får derved en powershell spundet op i nuværende folder
Åbn Visual Studio sln filer
Mange står jeg og har lavet et clone af et projekt fra github, men jeg
orker ikke at cd path/to/sln/file && ii .
for derefter at
dobbeltklikke på sln filen. Heldigvis er der en gennemvej:
start dinsolutionfil.sln
. start
kommandoen vil finde det korrekte
program, her Visual Studio, og åbne filen. SMART! Men kan det gøres
nemmere? Hvordan skal vi kunne
cd /sti/til/sln/fil && start dinsolutionfil.sln
når
- vi ikke kender stien til solution filen (selvom mange har en vis standard på github)
- vi ike ved hvad solution filen hedder
Men det findes der heldigvis scripting imod!!
Python to the rescue
Da jeg, udover at dykke ned i de mørkeste afkrog af ARM templating og .NET Core, også kigger på Python (og Rust, men det kommer der et nogle andre indlæg om), hvor jeg har lavet verdens mest simple script(jeg er lige gået igang med med det sprog), som meget behændigt kan hjælpe med at åbne solution filen uden du egentlig ved hvor den befinder sig (du skal blot stå i roden af det klonede repository).
Klon repositoriet til en folder du selv bestemmer, og tilføj følgende til din Powershell profile:
function starter {py "[X:\path\to\location\of\cloned\repo]\src\Starter.py"}
set-item -Path alias:s -value starter
Du kan nu klone et hvilken som helst Visual Studio baseret repository
ned, og i roden af projektet blot taste s
og scriptet vil finde den
første sln fil i det klonede repository og køre =start=på den.
Jeg er godt klar over at opsætnings guiden, og forklaringen til hvordan scriptet virker, er mere end selve scriptet
import glob
import os
sln_files = glob.glob("./**/*.sln",recursive=True)
os.system("start " + sln_files[0])
Men det er også selve integrationen jeg er mest stolt af. Jeg kan nu udvide mit powershell miljø med mange scripts blot ved at følge overstående opskrift. Jeg har valgt at lave det i python, da jeg derved kan genbruge (og andre kan bruge) scriptet på deres operativ system. Om =start=er understøttet på Linux, ved jeg ikke, men det kan man nemt opdatere scriptet med efterfølgende. Jeg har valgt ikke at lave det i Powershell script, da jeg derved binder mig for meget til selve terminalen, og det vil jeg ikke. Desuden kan python også bruges andre steder, og til mange andre ting. At have andre stykker værktøj i kassen er altid godt, og hvorfor ikke vælge et stykke værktøj der kan lidt af hvert: scripting, web, applikationsudvikling.
Pt åbner scriptet den første solution fil den finder, da jeg ikke har brug for andet. Jeg vil dog helt sikker udvide scriptet, hvis jeg finder at jeg har brug for det. Du er også meget velkommen til at smide en PR, hvis du gerne vil udvide scriptet, eller fortælle mig om dine ændringer! Jeg er altid klar på lidt ekstra spice til min kommandolinje oplevelse.
En gennemvej til Git root
Hvis jeg starter en ny powershell op, har jeg en gennemvej til at tilgå
min git folder: cws
. Jeg har et
alias i min profile, som mapper cws=til min git folder, i mit tilfælde
=d:\git
function cws { Set-Location d:\git }
Meget behændigt, da jeg 9/10 gange altid vil noget med mit kode, når jeg starter en terminal op.
Posh-git og oh-my-posh
Hvis I lagde mærke til det i mine screenshots, så ændrede themet sig undervejs. Jeg bruger min egen version af honukai, dog uden tidsstemplet. Du kan finde både themet og det som skal til for at sætte det i din profile her.
Set-Alias k kubectl
Så skal du blot skrive =k=i stedet for =kubectl=hvilket hurtigt sparer dig for tastetryk.
Sidst men ikke mindst
Installer Windows Terminal. Eneste terminal jeg kender til, som har en reklame video, som må få alle i Apples marketing til at savle
Vi mangler kun et overlay speak af Jonathan Ive hviske: "Right in the palm of your hands. Magic."
Hvis I kunne bruge disse tips til noget, og gerne vil høre næste gang jeg smider et indlæg ud i æteren, så bookmark siden, og følg mig på Twitter, eller LinkedIn.