Met behulp van Dotfiles voor het Managen van de Ontwikkeling en Vele Andere Magische Dingen

0
26

Howdy folks! 🎉 Ik ben Simon, Owen, en door de jaren heen, heb ik het vond om een deel van of het leren van de dotfiles gemeenschap. Ik besteed veel tijd aan het onderwijs ontwikkelaars en workshops. In deze sessies laten zien hoe ik mijn ontwikkelomgeving is vaak één van de dingen die mensen het meest gewaardeerd.

Dotfiles zijn een belangrijk onderdeel van mijn ontwikkeling omgeving. Nog niet gehoord van hen? Nou, zelfs als u hebt, is het een goed idee om te lopen door wat ze zijn en de voordelen van het gebruik ervan.

Vorig jaar heb ik mezelf een doel te maken van een screencast-serie. Als je dit een leuk artikel en meer te weten wilt komen, kunt u zich abonneren op de mailing lijst en ontvang de download-link. Als je echt wil, kan je ook 🦄 doneer hier! 🦄

Een dot-wat-bestand?

Als je hoort over dotfiles voor de eerste keer, het is helemaal fijn om in de war over wat ze zijn en wat ze doen. Ik herinner me dat ik er een aanzienlijke hoeveelheid tijd voordat ik me realiseerde een dotfile is gewoon een bestand dat is een punt voor de bestands-naam!

Er zijn twee veel voorkomende voorbeelden van dotfiles. De eerste, die je misschien al bekend met zijn mensen vaak te vinden in de hoofdmap van de vele open source projecten, bijvoorbeeld .editorconfig bevat code-editor voorkeuren te helpen handhaven van een consistente codering stijlen voor een project. U kan ook gezien hebt .stylelintrc en .eslintrc rond te zweven, CSS en JavaScript regels, respectievelijk.

De tweede (en degenen die we vandaag zien), zijn dotfiles dat kan live op het hoofdniveau van een user directory (d.w.z. /Users/<gebruikersnaam> ). Een dergelijke dotfile is .aliassen, die bevat een aangepaste naam commando ‘ s dat kan de snelheid van werken in de Terminal. Een andere is .bash_prompt, die wordt gebruikt om de dollar in Terminal naar iets een beetje meer fun. In mijn geval heb ik dit zo instellen dat deze kerel springt om me lachen als het een beetje moeilijk:

༼ つ ◕_◕ ༽つ

Hopelijk bent u al beginnen te krijgen een goed gevoel van hoe nuttig dotfiles kan worden. Ze zijn een soort verborgen edelstenen (letterlijk, omdat ze het verborgen uitzicht standaard) vrij superkrachten voor uw machine te helpen met de ontwikkeling. We praten over automatisering, optimalisaties en efficiënte workflows, onder andere dingen.

Ten eerste, ik geef props aan de dotfiles gemeenschap

Voordat we dieper in op dotfiles, het is de moeite waard te roepen hoe geweldig de gemeenschap achter hen is. Toen ik voor het eerst de v-vormige Paul Irish ‘ s dotfile repo, er was veel aan de hand in daar ik niet begrijpen. Mathias Bynens en Paul Irish hielp mij enorm bij het beantwoorden van vragen over de code en het was hun bereidheid om te helpen, dat was een van de redenen waarom ik werd aangetrokken tot zowel het concept en de gemeenschap.

Soms post ik iets aan de gemeenschap die ik zou willen automatiseren, maar niet kunt uitvogelen het leven van mij. En, zonder falen, krijg ik een nuttig antwoord. Case in point: Eric Czarny schreef een app voor mij om te automatiseren mijn Spektakel instellingen en Mathias ook bijgedragen een codefragment. Hoe cool is dat?!

Dan zijn er dingen zoals macOS updates. De dotfiles gemeenschap wordt vaak op de top van dit en geven bruikbare adviezen op GitHub opmerkingen met betrekking tot iets dat niet meer werkt, of andere nuttige informatie. Vervolgens kunt u de wijziging van uw dotfiles dienovereenkomstig, zoals het toevoegen van de volgende code dat verhoogt de geluidskwaliteit van de Bluetooth-hoofdtelefoons/headsets:

defaults write com.apple.BluetoothAudioAgent “Apple Bitpool Min (bewerkt)” -int 40

Graven in dotfiles

Het voorbeeld hierboven ziet er misschien een beetje bekend voor. Het is langs dezelfde lijnen als deze vaak wordt gebruikt voor het weergeven van verborgen bestanden:

defaults write com.apple.finder AppleShowAllFiles -bool true

…of dit een toe te voegen spaties aan het dock:

defaults write com.apple.dock persistent-apps -array-add ‘{“tegel-type”=”spacer” -tegel”;}’; killall Dock

Deze commando ‘ s kunnen worden geplakt direct in de Terminal. Zoals je zou verwachten, met iets als-bool true zal veranderen van een boolean-waarde van false in true en reset de opdracht voor later gebruik.

Als u ‘e net als ik en hebben veel van deze commando’ s, dan is dit waar .macos (voorheen .osx) dotfile wordt vooral nuttig zijn. In plaats van het kopiëren en plakken voor elke opdracht individueel, we kunnen automatiseren en uitvoeren van alle van hen in een keer.

Laten we enkele voorbeelden

Er zijn zo veel geweldige dingen die we kunnen doen in dotfiles. Hier zijn een aantal praktische gebruik van de gevallen dat vertrouw ik op voor mijn dag-tot-dag werk.

Het instellen van aliassen voor standaard opdrachten.aliassen)

Navigeren tussen mappen in de Terminal kan lastig zijn en het is gemakkelijk om te verdwalen in de cd-waanzin.

We kunnen de plaats van de standaard “change directory” (cd) – opdracht met een aangepaste opdracht in .aliassen dotfile. Bijvoorbeeld, deze alias gebruiken sloot de cd voorvoegsel helemaal bij het gebruik van het commando cd .. te bewegen tot een map in het voordeel van .. door zelf.

alias ..=”cd ..”

Zeker, het is alleen vallen twee letters, maar hoe veel gemakkelijker is dat te onthouden?

We kunnen hetzelfde doen voor het maken van snelkoppelingen naar bepaalde mappen:

alias dl=”cd ~/Downloads”

Of, aliassen aanmaken voor verkorte commando taken:

alias hs=”hexo dienen”

Oh, hier nog een! Lijst van directories:

alias lsd=”ls -lF ${colorflag} | grep –color=nooit ‘^d'”
Het maken van een aangepaste bash prompt voor een persoonlijke touch van de Terminal (.bash_prompt)

Ik wees dit een beetje eerder, maar hier is hoe ik draaide mijn bash-prompt ($) in een kleine kerel die manier meer leuk om naar te kijken. Dit gebeurt rechtstreeks in de .bash_prompt dotfile.

PS1=”༼ つ ◕_◕ ༽つ”
Het maken van Git sneltoetsen om de snelheid van begaat (.gitconfig)

We maken het een beetje meer efficiënt te plegen alle wijzigingen in één keer in .gitconfig dotfile. Met behulp van ca is een veel beknopter dan !git add-A && git commit -av .

ca = !git add-A && git commit -av

Een andere handige snelkoppeling: vind pleegt door commit boodschap.

fm = “!f() { git log –pretty=format:’%C(geel)%h %Cblue%ad %Creset%s%Cgreen [%gn] %Cred%d –versieren –date=korte grep –=$1; }; f”
Automatiseren common Homebrew taken (brew.sh)

Gebruik Homebrew voor pakketbeheer? Hoewel niet strikt een dotfile (het hoeft niet een punt voor de bestandsnaam), Homebrew, geeft ons het brew.sh shell script bestand. Dit bestand automatiseert de installatie en het beheer van de Apps en Tools:

brew install git
brew installeren boom
brew vat het installeren van de google-chrome
brew vat installeren iterm2
brew vat installeren sublieme tekst
Bescherm uw Git referenties (.extra)

Het verbergen van de informatie die je niet met iedereen wilt delen in een bestand in een eigen archief en breng het in voor u alleen. Voor bijvoorbeeld een goed idee om dit bestand is iets dat eigen is aan u, zoals uw Git referenties. Dit zal voorkomen dat mensen te klonen, het runnen van uw dotfiles, dan plegen als u!

# Git referenties
# Niet in het archief, om te voorkomen dat mensen per ongeluk het plegen van onder mijn naam
GIT_AUTHOR_NAME=”Simon, Owen”
GIT_COMMITTER_NAME=”$GIT_AUTHOR_NAME”
git config –global gebruiker.de naam “$GIT_AUTHOR_NAME”
GIT_AUTHOR_EMAIL=”<ADD-UW-E-MAIL ->”
GIT_COMMITTER_EMAIL=”$GIT_AUTHOR_EMAIL”
git config –global gebruiker.e-mail “$GIT_AUTHOR_EMAIL”
Het schrijven van aangepaste functies voor taken (.functies)

Dotfiles zijn meer dan snelkoppelingen en aliassen. We kunnen ook aangepaste functies in .functies die meer geavanceerde het opheffen. Maak bijvoorbeeld een nieuwe map en verander de map naar het:

functie mkd() {
mkdir -p “$@” && cd “$_”;
}

Of, kunnen we openen een bepaalde locatie in de Finder met een één-letter-opdracht (o):

de functie o() {
if [ $#-eq 0 ]; then
open .;
anders
open “$@”;
fi;
}
Geef uw $PATH en privé houden (.pad)

$PATH kan de werking van uitvoerbare bestanden. In plaats van het navigeren naar elk pad handmatig in-Aansluiting, hier kunnen we het bestand paden, zodat ze kunnen rennen de uitvoerbare bestanden rechtstreeks. Het kan zijn dat dit bestand bevat gevoelige informatie. Dit bestand wordt vaak bewaard in een eigen repo.

Hier is een voorbeeld van het toevoegen van ~/utils naar de $PATH:

export PATH=”$HOME/utils:$PATH”
Kracht van Vim gebruik van een bepaald thema.vimrc)

Editor config bestanden zijn geweldig voor die zorgen voor een consistente opmaak binnen de projecten, maar we kunnen ook zeggen een Vim editor voor het gebruik van een specifiek thema .vimrc bestand:

“Het gebruik van de Solarized Dark theme
achtergrond=donker
kleur solarized
laat g:solarized_termtrans=1
Bonus: Handige Terminal recepten voor macOS

OK, dus hier is een beetje van een bonus voor Mac-gebruikers die niet in verband met dotfiles, maar het zijn dingen die we kunnen doen in de Terminal in te geven macOS supermachten te doen pretty awesome dingen die het dag-tot-dag gebruik maken van een beetje makkelijker en aangenamer.

Ten eerste, we kunnen het weergeven van verborgen bestanden standaard in de Finder dus dotfiles zijn zichtbaar door het typen van dit in de Terminal:

defaults write com.apple.finder AppleShowAllFiles -bool true

Het vinden van de weg die schuifbalken in-en uitschakelen in de Finder schokkend? Laten we ze te allen tijde zichtbaar zijn:

defaults write NSGlobalDomain AppleShowScrollBars -string “Altijd”

Standaard, macOS op software-updates controleert één keer per week. Maar misschien willen we eenmaal controleren op een dag of op een ander interval:

defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1

U weet hoe u het ingedrukt houden op een toetsenbord toets herhaalt dat teken? Nou, het wordt herhaald op een bepaalde snelheid kan een boost te razendsnelle:

defaults write NSGlobalDomain KeyRepeat -int 0

Sommige mensen houden van de manier macOS is voorzien van een vakje schaduw bij het nemen van een screenshot van een venster. Anderen niet. Hier is hoe om uit te schakelen:

defaults write com.apple.screencapture uitschakelen-shadow-bool true

En, in dit voorbeeld kunnen we het automatiseren van de grootte van de iconen in het Dock:

defaults write com.apple.dock tilesize -int 36

Dit is slechts het topje van de ijsberg! In mijn screencast serie ga ik in de loop van meer dan honderd van hen.

Conclusie

Ontwikkeling van het Web wordt steeds ingewikkelder naarmate de tijd vordert. We hebben allemaal manieren om onze ontwikkeling in de workflow een beetje gemakkelijker en comfortabeler te maken op basis van persoonlijke voorkeuren.

U kan een doorgewinterde ontwikkelaar en zich bewust zijn van zulke dingen als Knooppunt, npm, en Git, maar nog steeds vinden dat je vastzit in een Terminal venster met een heleboel fouten. Of, u zou kunnen worden gestart en vindt deze, en andere hulpmiddelen, complex en moeilijk te begrijpen.

Één van beide manier, hopelijk meer te weten over dotfiles en wat ze kunnen doen geeft je een nieuw wapen in je arsenaal te maken van uw ontwikkelomgeving op maat, de snelheid van uw workflow en geef uw machine toegevoegd grootmachten!

Als een herinnering, mijn screencast-serie geeft u meer tips en trucs, en een goed idee van hoe de ontwikkeling van de omgeving ingesteld. Dit is de eerste in de reeks. Vooruit, ik ben gaan kijken naar een uitbreiding op het, dus laat het me weten als er iets is wat je wilt me in te dekken!