Warum? Man verbringt 8h am Tag in der IDE! Es lohnt sich, ein paar Kniffe drauf zu haben.
- Das A und O: Keyboard Shortcuts
- Visual Studio: Basic Keyboard Shortcuts
- Visual Studio: Code Snippets/Templates
- Resharper: Power Keyboard Shortcuts
- R# Plugin: Presentation Assistant
- Konstruktor anlegen
- Navigation
- Aufraeumen und Coding Conventions
- Refactoring:
Ctrl+R ...
(oderCtrl+Shift+R
) - Im Solution Explorer: Neue Klassen/Interfaces etc anlegen
- Unit Testing:
Ctrl+U ...
- Eigene Templates anlegen
- Einstellungen ("Options"): Projekteinstellungen
- Auswahl duplizieren
- Eigene Keyboard Shortcuts anlegen
- Git
- NCrunch
- Productivity Tools
- FiraCode
- EditorConfig: Style Conventions
- Mal in das Option Menue reinschaun
- Alternativen zu Visual Studio?
- Naechste Session?
- VS: Optionale Themen
Sowenig wie moeglich mit der Maus machen!
Kennt ihr das:
Kollege klickt auf "Datei", das Kontextmenue geht auf, dann wird auf "Speichern" geklickt...
Oder:
Text mit der Maus markieren, Rechtsklick, Kontextmenue geht auf, klicken auf "Kopieren", danach mit der Maus woanders hin klicken, wieder Rechtsklick, Kontextmenue "Einfuegen"...(das kann sogar ein Guttenberg besser)
Mir tut das innerlich weh.
Alt+Arrow Up/Down
: Springt zur vorherigen/naechsten MethodeCtrl+K Ctrl+C
: markierten Text auskommentierenCtrl+K Ctrl+U
: markierten Text einkommentierenCtrl+K Ctrl+S
: "Surround": markierten Text mit zB try/catch "umrahmen"Alt+SelectWithMouse
oderAlt+Shift+Arrow
: rectangle selection (aka column selection)Ctrl+M Ctrl+O
: Alles zuklappen ("Collapse to definition")Ctrl+M Ctrl+M
: Toggle Outlining Expansion
ctor
prop
propg
if
try
- ...
Der wichtigste Keyboard Shortcut ueberhaupt bei R#:
Alt+Enter
: Kontextabhaengige Verbesserungen
Nicht nur nuetzlich fuer eine Demo, bei der es um Keyboard Shortcuts geht ;-) Hiermit erfaehrt man auch, wie das Kommando hinter dem Shortcut eigentlich heisst.
Alt+Insert
: Ctor erstellen
Ctrl+T
: Goto everythingAlt+ArrowDown/ArrowUp
: Next member/previous memberCtrl+[
: Containing declarationCtrl+,
: Recent filesCtrl+Shift+,
: Recent edits
Ctrl+E Ctrl+C
: Code aufrauemen
Regeln sind zu finden unter:
Resharper
-> Options
-> Code Editing
...
Mehr dazu spaeter (EditorConfig)...
Ctrl+R Ctrl+R
: RenameCtrl+R Ctrl+M
: Extract MethodCtrl+R Ctrl+V
: Extract VariableCtrl+R Ctrl+I
: Inline variableCtrl+R Ctrl+O
: MoveCtrl+Shift+R
: Oeffnet Submenue Refactor This:- Pull member up
- Extract class
- Extract interface
- ...
Alt+Insert
: Oeffnet Kontextmenue mit sinnvollen (!) Vorschlaegen
Ctrl+U Ctrl+R
: Unit Test ausfuehrenCtrl+U Ctrl+D
: Unit Test debuggenCtrl+U Ctrl+L
: Alle Unit Test ausfuehren- ...
Resharper
-> Tools
-> Template Explorer
: New Template
private $RETURN_TYPE$ $METHODNAME$($PARAMS$)
{
$END$
}
- persoenliche Einstellungen
- Projekteinstellungen (kann mit in Git einchecken)
- Systemeinstellungen
- einfach mal schauen, was man anpassen kann
Ctrl+D
: Duplicate selection
Sollte man sparsam mit umgehen!
Folgende Shortcuts finde ich pers. nuetzlich:
Ctrl+W
: Expand selection (Resharper.Resharper_ExtendSelection
)
Bevor man eigene Keyboard Shortcuts anlegt, sollte man seine Einstellungen exportieren, damit man wieder zurueckrudern kann:
Tools
-> Import and Export Settings
-> Export selected environment settings
-> Next
.
Alles in der Baumansicht deaktivieren, dann nur bei Options
-> Environment
-> Keyboard
Haeckchen setzen. Danach wieder auf Next
und Datei speichern.
- Ich finde die Standardintegration in VS eher "mau". Ich nutze lediglich die Icons im Solution Explorer als schnellen Indicator fuer mich, ob sich an einer Datei/einem Ordner was geaendert hat.
- VS2015: GitExtensions
- VS2017: GitExtensions funktionieren noch nicht. Hier verwende ich einen Mix aus GitExtensions/TortoiseGit im Windows File Explorer und Kommandozeile.
Frage: Wer verwendet Unit Tests?
NCrunch ist ein automatischer Test Runner fuer VS.
Kurze Demo...
NCrunch ist schneller als dotCover!
- Shrink empty lines
- Solution error visualizer (erzeugt die Unterringelung im Solution Explorer)
- "Squiggles" im Solution Explorer (Konfigurieren unter
Tools
->Productivity Power Tools
)
Allg.: Wenn man keinen R# hat, findet man hier viele nuetzliche Features
Find ich ganz nett... https://github.com/tonsky/FiraCode
- vor VS2017: via plugin
- ab VS2017: default
- ueberschreibt
Tools
->Options
->Text Editor
->C#
->Code Style
->General
.
- ueberschreibt
- v.a. dann interessant, wenn im Team verschiedene Editoren/IDEs im Einsatz sind. Wenn nur VS eingesetzt wird, finde ich die Konfiguration/Integration mit R# besser.
- Ueberschneidungen mit
- VS Settings
- R# Settings
- git Einstellung (zB LineBreaks)
- SonarQube
- ...
EditorConfig ist ein "kleinster gemeinsamer Nenner"
- was kann man konfigurieren?
- wenn man beim Pair/Mob-Programming ein cooles Feature findet: Nachfragen!
- JetBrains Rider
- VS Code
Wollen wir sowas 1/Woche oder 1/Monat oefter machen?
(soll keine Konkurrenzveranstaltung zum MH-Freitag sein)
30-60min (waehrend der Mittagspause)
Ideen:
- TDD-Katas
- mehr zu xUnit und Mocking Frameworks
- Xamarin Studio
- Java Battle: Eclipse vs IntelliJ
- ...
- Aufbau von
csproj
Dateien - Funktion von
AssemblyInfo.cs
- Solution folder
- Anpassen von
sln
Datei - R# verwenden, wo moeglich!
- Verbesserungsvorschlaege?
- Web.Config Transformation
- App.Config Transformation
- MSBuild (oder mal was Neues: CAKE/FAKE)