Archiv der Kategorie: Tools

JUnit in eclipse aktivieren

JUnit ist bei einer Standardinstallation für Javaentwickler schon mit an board. Will man es benutzen so muß man nur die Libary in den Buildpath importieren.

Also

  • rechte Maustaste auf den Projektordner
  • Properties auswählen (ALT Enter)
  • linke Maustaste auf Java Build Path
  • Reiter Libraries auswählen

  • linke Maustaste auf Add Library

  • JUnit auswählen
  • und im darauf folgenden Fenster JUnit Version auswählen

  • Finish drücken
  • ok drücken

Jetzt sollte die JUnit 4 Library eingebunden sein.

grep, vimgrep

Um in Dateien nach Text zu suchen eignet sich grep oder vimgrep.
vimgrep hat den Vorteil das es auch auf Windowsbüchsen funktioniert.

grep ist ein shell-kommando

grep muster datei  => sucht in datei nach muster
grep muster *.htm  => sucht in allen Dateien des aktuellen Verzeichnisses, die mit .htm enden
grep -r muster ordner  => sucht rekursiv in ordner und allen Unterverzeichnissen
grep -i muster datei => kümmert sich nicht um Groß- und Kleinschreibung
grep -A n => gibt n Folgezeilen nach der gefundenen Stelle aus

http://www.easylinux.de/2003/10/074-grep/

vimgrep ist ein vim-kommando

wird aus vim herraus gestartet.

:vimgrep /FIXME/ d:/projects/*.* => sucht alle Dateien die den Text "FIXME" enthalten
vimgrep /FIXME/ d:/projects/**/*.* => sucht in allen Unterordner in Dateien die den Text "FIXME" enthalten

http://vim.wikia.com/wiki/Find_in_files_within_Vim

SVN in der Konsole (Shell)

Repositories müssen nicht auf einen Server liegen. Sie können auch local auf dem Entwicklungsrechner liegen.
Achtung hier muß das Repository dann über file:/// angesprochen werden.

List

Um mit dem Komandozeilen – Client ein Repository untersuchen steht der Befehl svn list zur Verfügung.

svn list file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte

Für eine detailiertere Ansicht gibt es den Parameter -v (–verbose)
Um eine Ebene tiefer zu gelangen muß man den Pfad den entsprechenden Ordner erweitern.

svn -v list file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/hebamme-nike

Import

Mit dem svn import-Befehl kann ein unversionierter Verzeichnisbaum schnell in ein Projektarchiv kopiert werden, wobei benötigte Zwischenverzeichnisse nach Bedarf angelegt werden. svn import erfordert keine Arbeitskopie und pflegt Ihre Dateien sofort in das Projektarchiv ein. Typischerweise verwenden Sie diesen Befehl, wenn bereits ein Verzeichnisbaum besteht, den Sie aber in einem Subversion-Projektarchiv pflegen möchten.

~ ingoreschke$ svn  list file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/pingold
branch/
tag/
trunk/

Da die empfohlene Projektarchiv-struktur aus /trunk, /branch, /tag besteht, ich aber in meiner lokalen Entwicklungsumgeben eben nicht diese Struktur haben will, sondern nur die Struktur unter trunk bediene ich mich dem folgenden workaround.

1. erstelle ein lokal neues Verzeichnis mit dem Projektnamen bspw. ingo-reschke
2. darin erstelle ich 3 weitere neue Verzeichnisse trunk, branch, tag
3. diese “Projekt” wird in das root vom Projektarchiv Webprojekte importiert.
4. lösche das locale (temporäre) Verzeichnis ingo-reschke
5. improtiere meine bisherigen Daten die unter Projekte/ingo-reschke/ liegen nach Webprojekte/ingo-reschke/trunk/
6. checkout des Projektes.
7. Jetzt hab ich mein Projekt dem Repository hinzugefügt und verbunden.

mkdir ingo-reschke
cd ingo-reschke/
mkdir branch
mkdir trunk
mkdir tag
cd ..
svn import ingo-reschke file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/ingo-reschke
cd Documents/xPrivat/Projects/ingo-reschke
svn import file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/ingo-reschke/trunk -m "initial import"
svn ls file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/ingo-reschke/trunk
svn cp file:///Users/ingoreschke/Repositories/Entwicklung/Webprojekte/ingo-reschke/trunk/ .

Auflistung einfacher (üblicher) Anwendungsfälle

Es wird vorausgesetzt das wir uns im working copy befinden

alle Änderungen einchecken

svn commit .

fäschlicher Weise eine Datei geändert aber noch nicht eingecheckt? Kein Problem

svn revert dateiname

Quellen:http://svnbook.red-bean.com/nightly/de/svn-book.html

VIM Datei einlesen

Mit dem Befehl r ließt man etwas ein.

r foo.txt – ließt die Datei foo.txt ein und schreibt sie an der Stelle wo sich der Cursor befindet. Die einzulesende Datei muß mit Pfad ausgehend vom aktuellen Verzeichnis angegeben werden.

r! – ließt von der console
Bsp. mac:

r!date 
r!pwd
r!ls-F

Bsp.win:

r!date/t
r!cd
r!dir

VIM nützliche Funktionen

Befehle die man im Befehlsmodus eingibt werden von VIM gespeichert.
mit der folgenden Eingabe kann man sich die Liste der Befehle anzeigen lassen.

q:

mit den Navigationstasten (j,k oder pfeiltasten) wird durch die Liste gescrollt. Mit Enter wird der Befehl unter dem cursor erneut ausgeführt und die Liste geschlossen. Mit :q wird die List ohne Aktion geschlossen.

Hier eine sehr gute Anleitung um mit Split zu arbeiten.

Vim viewport keybinding quick reference

  • :sp will split the Vim window horizontally. Can be written out entirely as :split .
  • :vsp will split the Vim window vertically. Can be written out as :vsplit .
  • Ctrl-w Ctrl-w moves between Vim viewports.
  • Ctrl-w j moves one viewport down.
  • Ctrl-w k moves one viewport up.
  • Ctrl-w h moves one viewport to the left.
  • Ctrl-w l moves one viewport to the right.
  • Ctrl-w = tells Vim to resize viewports to be of equal size.
  • Ctrl-w – reduce active viewport by one line.
  • Ctrl-w + increase active viewport by one line.
  • Ctrl-w q will close the active window.
  • Ctrl-w r will rotate windows to the right.
  • Ctrl-w R will rotate windows to the left.

http://www.linux.com/learn/tutorials/442415-vim-tips-using-viewports

VIM suchen ersetzen

Suchen:

/phrase geh zum nächsten Vorkommen von phrase
n nächstes
N vorheriges

Ersetzen:

:s/alt/neu/ ersetzt erstes Vorkommen von “alt” gegen “neu” in der aktuellen Zeile
:s/alt/neu/g g steht für ganze Zeile. Also alle Vorkommen in der gesammten Zeile ersetzen
:%s/alt/neu/g um alle Vorkommen in der gesammten Datei zu ersetzen
:%s/alt/neu/gc alle Vorkommen in gesammter Datei mit Fragedialog pro Fund
:#,#s/alt/neu/g wobei #,# die Zeilennummern des Zielbereichs sind

Mit den 2 Tastenkombinationen (Crtl + r) und (Crtl +w) wird das Wort unter dem Cursor in die Kommandozeile gepastet.

/(Crtl+r)(Crtl+w) suche das nächste Vorkommen des Wortes unter dem Cursor
:%s/(Crtl+r)(Crtl+w)/neu/g ersetze in der gesammten Datei das Wort unter dem Cursor mit “neu”

VIM Optionen

Setzen einer Option

:set ru

Rücksetzen einer Option

:set noru

Präfix no schaltet eine Option ab
Optionsabfrage

:set ru?

Suffix ? kann entfallen, wenn es sich um eine binäre Option handelt, die nur ein- oder ausgeschaltet sein kann

ru (ruler) Anzeige Zeile, Spalte und relative Anzeigeposition (in %) bei Tabs in Zeile: getrennte Anzeige der logischen und physischen Position
smd (showmode) aktuellen Vim-Modus anzeigen (EINFÜGEN, ERSETZEN, …), sofern er vom Kommando-Modus abweicht
wrap lange Zeilen immer komplett anzeigen (also ggf. über mehrere Bildschirm-Zeilen)
number(nu) Voranstellen der Zeilennummer vor jede Textzeile
autoindent (ai) automatisches Einrücken in neu erzeugten Zeilen im Einfüge-Modus
guioptions+=b nur unter GVIM fügt dem Editor eine horizontale Scrollbar hinzu

Quellen :

http://www-user.tu-chemnitz.de/~hot/VIM/Tips_und_Tricks.html

http://www-user.tu-chemnitz.de/~hot/VIM/vikurz.html#optionen

http://heykevinle.blogspot.com/2007/09/gvim-enable-horizontal-scroll-bar.html

SVN Nachträglich im Repository die Verzeichnisse trunk,branch, tag einpflegen

Nachträglich im Repository die Verzeichnisse trunk,branch,tag nachpflegen und das working copy auf den trunk Ordner verlinken.

  1. erstellt eine frische Arbeitskopie auf einen beliebigen Rechner.
  2. In dieser Arbeitskopie erstellt ihr die drei Verzeichnisse: Tag, Branch und Trunk.
  3. Diese drei Verzeichnisse müsst Ihr nun einchecken.
  4. Dann in dieser Arbeitskopie alle Dateien und Ordner (nicht die gerade erstellten) in das Trunk Verzeichnis verschieben und wieder einchecken.
  5. Dann auf den Entwicklungsrechner ein SWITCH ausführen und dabei das Trunk Verzeichnis angeben.