Versuch einer Erklärung, warum ich IDEs im Allgemeinen und PyCharm im Speziellen mag.
In vier Bildern erklärt, wo ich herkomme, weil das eventuell auch veranschaulicht, warum ich IDEs so gerne mag.
Endlose listings abtippen, ohne Code Vervollständigung und Syntax Highlighting auf einer Tastatur mit superschrägem Layout und einem halben Meter Hub ... kein Spaß.
Schon besser ... und mit Omikron Basic und dem mitgelieferten Editor hat programmieren langsam Spaß gemacht ...
Zig verschiedene PC Tastaturen, natürlich alle mit anderen Layouts
Gaaanz viele verschiedene schreckliche Tastaturen und grauenvolle Programmierumgebungen.
=> Habe früh gelernt tippen zu hassen.
=> Ich wünsche mir eine IDE, wo ich einfach so lange auf Code vervollständigen klicke, bis das Programm fertig ist
Es gibt verschiedene Typen (grob: VIM und Emacs Fraktionen)
Vim ist eher was für Sologitarristen, die gerne schnelle Licks spielen
Ich komme eher vom Klavier und spiele lieber Accorde als Licks
Symbolmanipulationen sind mir wichtiger (z.B. Name und Move Refactoring)
Eine IDE ist was anderes als ein Text Editor
Programmieren ist auch was anderes als Text editieren
Geht aber auch ... (siehe später in Plugins)
http://www.viemu.com/a-why-vi-vim.html
Warnung
NACHTEILE VON IDES
Information Overflow Gefahr
Langsamer (Start und manchmal Bedienung)
(vielleicht) hindert am Lernen der eigentlichen Technologie
VORTTEILE
Die erzähl ich dann gleich aus meiner Sicht
Was erwartet ihr von einer IDE?
Eierlegende Wollmilchsau
Muss ich während der Entwicklung selten verlassen
zwei Sachen weiß ich: Kommentare sind Bugs und Pair Programming
Pair programming ohne pair programmer
Jemand der auf alles achtet, was ich gern vergesse
... der jeden Syntaxfehler sieht
... der PEP8 Fehler sofort sieht
... der mich auf fehlende Parameter in format strings hinweist
... der alle Feinheiten der verschiedenen Python Versionen kennt
... der weiß wo alle Funktionen, Klassen und Module sind
... der mir beim Fixen der Fehler hilft
Code ausführen (Run script, Evaluate Expression)
Compare Files / read diffs
update/commit/push code from VCS (git, mercurial, svn, ...)
create/switch branches/tags
Local History / VCS history
Vor Commit: Code Analyse / Import Optimierung / Todos checken
Share project on Github
Share code / console output as gist
den ich aber auch ignorieren kann, wenn es nötig ist (Quick fix Warnung aus)
Ja - und darüber hinaus zeichnet es sich noch aus durch ...
Esc
-> spring von überall zurück in den letzten aktiven EditorAlt+<-
-> Navigate backAlt, Alt
-> Toolfensterknöpfe einblendenShift, Shift
Strg+o
/ Strg+g
/ Goto ... / Quick ... Alt+Enter
(über Fehler/Warnung/Intention) CamelCase / slug_case sensitive Suche und Filter
Beispiel CamelCase slug_case sensitive Suche
Suche1: monty-python.jpg -> mp
Suche2: img/wollmilchsau.jpg -> i/wo
Optionen1: line numbers
Optionen2: code folding
Viele Aktionen berücksichtigen, von wo aus sie ausgeführt werden und bieten dann an den Scope der Aktion auf den aktuellen Kontext zu beschränken.
Beispiel: in Project Window einen Ordner auswählen und nur dessen Inhalte suchen, code inspizieren, Änderungen committen, tests starten
Help -> Find Action
(Teilweise nur Professional Edition)
Alles geht irgendwie (Plugins oder Textmate bundles)
Key Promoter | MultiMarkdown | Bash Support | .ignore | ideavim
Projektorientiert
Meine Art zu Arbeiten ist eher Projektorientiert
Z.B. Wechsel in den Projektordner aktiviert automatisch Interpreter
In PyCharm: Terminal öffnet Projektordner und aktiviert richtigen Interpreter
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |