Von
/30.01.19

Als Softwareagentur ist es eine unserer Qualitäten, unseren Kunden bei der Innovation und Automatisierung ihrer Prozesse zu helfen –wann immer es sinnvoll ist. Dies geschieht in der Regel in grossem Umfang und mitten in den üblichen Geschäftsprozessen unserer Kunden. Wir sprechen von mehreren Stunden am Tag, die wir unseren Kunden durch Automatisierung ersparen können. Ihre Mitarbeitenden können diese Zeit wiederum in anspruchsvollere und sinnvollere Tätigkeiten investieren. Aber obwohl es absolut sinnvoll ist, die grossen Prozesse eines Unternehmens im Auge zu behalten, müssen wir nicht immer «gross» denken. Manchmal liegt der Teufel im Detail.

Deshalb fragen Sie sich einmal selbst: Welche Prozesse wiederholen Sie täglich, die vereinfacht oder automatisiert werden könnten? Öffnet sich zum Beispiel Ihr E-Mail-Programm immer etwas zu langsam? Solche kleinen Dinge können sich summieren. Deshalb wird beispielsweise auch der kurze Facebook-Check vieler Mitarbeitenden so kontrovers diskutiert.

Ich aber bin daran interessiert, die Frustrationsschwelle im Auge zu behalten. Ich warte nicht gerne lange, bis ein Programm endlich gestartet ist. Denn diese Zeit kommt mir wahnsinnig lange vor, je öfter ich in diese Wartesituation gerate. Diese Verärgerung und die Ablenkung, die sie verursacht, sind der eigentliche Schaden und nicht die verlorene Zeit (abgesehen von Extremen).

Aus diesen Überlegungen heraus beschreibe ich im Folgenden eine solche Optimierung, die uns Entwickler jeden Tag betrifft, wenn wir zwischen Terminal und Entwicklungsumgebung wechseln:

Im Terminal arbeiten wir oft mit URLs oder Dateipfaden. Wir markieren, kopieren und fügen sie in andere Tools ein. Ihr wusstet wahrscheinlich schon, dass ihr URLs über CMD + Click direkt im Browser öffnen könnt. Dies funktioniert aber auch mit Dateipfaden. Jedoch werden fast alle Dateien mit Xcode geöffnet. Wäre es nicht schön, das zu ändern? Hier kommt die Lösung!

Ruby Dateien mit RubyMine öffnen

  git status

Lasst uns dies in einem konkreten Beispiel durchspielen. Nach Überprüfung des sehen wir uns die betroffene Datei in RubyMine genauer an.

Öffnet zuerst LSHandler mit Xcode:

  open -a Xcode ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist

Verwendet das + Zeichen, um einen neuen Array-Eintrag vom Typ Dictionary mit folgenden Schlüsseln einzugeben: LSHandlerRoleAll, LSHandlerContentTagClass, LSHandlerContentTag. Am Ende sollte es so aussehen:

Wenn ihr euch fragt, wie ihr den «Bundle Identifier» von RubyMine («com.jetbrains.rubymine») herausfinden könnt, versucht es wie folgt:

  /usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/RubyMine.app/Contents/Info.plist

Nach einem Neustart eures Rechners solltet ihr in der Lage sein, CMD + Click auf Pfade mit der Dateinamenerweiterungen *.rb in eurem Terminal auszuführen und die entsprechende Datei in RubyMine zu öffnen.

Weitere Pfadtypen

Leider habe ich keine Dokumentation über die möglichen Schlüssel/Wertpaare in LSHandlers gefunden. Aber ich konnte mir die folgenden gültigen Kombinationen für URLs und Inhaltstypen ausdenken:

  • LSHandlerURLScheme (z.B. «ftp») und LSHandlerRoleAll

  • LSHandlerContentType (z.B. «public.shell-script») und LSHandlerRoleAll

Es gibt nicht-standardmässige Tools, die mehr und komfortabler arbeiten können, wie zum Beispiel duti oder dieses Ruby Script.

Wenn jemand Zugang zu einer ausführlichen Dokumentation über LSHandler hat, schreibt mir eine E-Mail. Gerne werde ich darauf verweisen!