Archiv für den Monat: November 2013

Negative Suche bei Eclipse

Die Suche bei Eclipse bietet ja durchaus viele Möglichkeiten. Man kann über alle Dateien suchen, dabei RegEx einsetzen und bei Bedarf auch noch die Suchergebnisse ersetzen.

Ein Feature hat mir jedoch gestern gefehlt: Ich wollte alle Dateien finden, die einen Ausdruck nicht enthalten, also eine Art negative Suche. Dafür gibt es leider keine Checkbox, mit der man dieses Verhalten aktivieren kann.

Über Umwege geht es aber doch. Und zwar mit Hilfe RegEx — wer hätte das gedacht. Der Audruck findet alle Dateien ohne den Begriff foobar.

(?s)\A((?!foobar).)*\Z

Vergesst beim Ausprobieren nicht, den Haken bei Regular Expression zu setzen.

CyanogenMod: Synchronisation ein- und ausschalten

Auf meinem altgedienten Handy läuft seit neuestem die Android-Alternative CyanogenMod. Mit diesem schlanken ROM läuft alles wieder viel schneller, und ich habe ein aktuelles System ohne mit weniger Sicherheitslücken.

Allerdings hat es ein bisschen gedauert, bis ich herausgefunden habe, wie ich die Synchronisation der Konten einschalten kann. In den Einstellungen gibt es nämlich keine Möglichkeit dazu. Als Tipp hier die Erklärung wo man die Synchronisation doch an- und ausschalten kann. Es gibt zwei Möglichkeiten:

  1. Per Widget, beispielsweise mit der Energiesteuerung
  2. In den Schnelleinstellungen die Sync-Kachel hinzufügen

Das war schon alles. Man muss nur erst darauf kommen. 😉

Thunderbird-Addon Sieve wieder zum laufen kriegen

Auch wenn viele Leute wohl auf ewig nur eine Webmail-Oberfläche zum E-Mail versenden nutzen werden, weil sie schlicht kein Desktop Programm kennen, bin ich froh Thunderbird zu nutzen. Auch wenn es wohl nicht mehr wirklich weiterentwickelt wird, ist es eine tolle Software mit vielen Erweiterungsmöglichkeiten.

Eine davon ist das Filter-Addon Sieve. Mit Sieve kann man seine Mails bei einem IMAP-Konto schon auf dem Server in Ordner verschieben, abweisen, weiterleiten und vieles mehr. Mit dem Addon lässt sich das ganze komfortabel aus Thunderbird heraus bewerkstelligen.

Leider habe ich vor einigen Wochen festgestellt, dass das Addon die aktuelle Konfiguration nicht mehr von Webserver laden konnte. Meine erste Vermutung war, dass die Serverkonfiguration sich einfach geändert hat. Doch ich stellte fest, dass es am Addon liegen musste — denn es funktionierte bei keinem einzigen Konto mehr.

Ein Blick auf den Bugtracker des offiziellen Repositories bestätigte meine Vermutung. Die Lösung war aber nicht weit entfernt. Mit der aktuellen Entwickler-Version 0.2.3 funktioniert es wieder perfekt. Diese muss man herunterladen und im Thunderbird manuell hinzufügen. Danach sollte wieder alles wie gewohnt funktionieren.

Download: Sieve Nightly Builds

Eclipse Autocomplete funktioniert nicht mehr

Einer der Gründe, eine ausgewachsene IDE wie Eclipse zu verwenden, ist natürlich das Vorhandensein mächtiger Features wie Autocompletion. Ich nutze die Funktion gerne, und wenn sie nicht mehr funktioniert, fehlt einem etwas. Ich habe das Problem mit PHP gehabt, deswegen bezieht sich der folgende Text darauf.

Es kann einige Gründe haben, warum Autocomplete stumm bleibt. Natürlich sollte es vorher aktiviert worden sein, aber das versteht sich von selbst 😉 Nachschauen kann man das in den Einstellungen (Window > Preferences), dann weiter unter PHP > Editor > Content Assist.

Falls dort alles korrekt eingestellt ist, kann man den Index neu erstellen lassen und hoffen, dass sich das Problem damit erledigt hat. Dazu sucht man folgenden Ordner in seinem Workspace-Verzeichnis:

[workspace]\.metadata\.plugins\org.eclipse.dltk.core.index.sql.h2

Dieser muss einfach gelöscht werden. Nach einem Eclipse-Neustart sollte im Progress-Fenster die Meldung DLTK indexing in progress zu sehen sein. Das bedeutet, dass der Index neu erstellt wird. Das Autocompletion-Feature sollte danach wieder funktionieren.

Eine englische Anleitung mit Screenshots hat noch ein paar weitere Fehlermöglichkeiten aufgelistet. Die Anleitung zum Löschen des Index ist etwas versteckt als Link auf Seite 2 zu finden.