Kilka poprawek do Netbeans IDE dla Ubuntu

Jeżeli pracujecie z Netbeans na Ubuntu prawdopodobnie zauważyliście iż nie wygląda ona najlepiej. O ile wygląd może być rzeczą wtórna o tyle funkcjonalność i czytelność IDE dla developera jest już podstawą. Poniżej zamieszczam kilka poprawek przy użyciu których trochę przyjemniej będzie się pracowało z Netbeans.

1. Czcionka w edytorze kodu

Standardowo Netbeans używa czcionki monospaced, która jako że Netbeans jest aplikacją Swing (w odróżnieniu od Eclipse używającego SWT) nie wygląda najlepiej. Osobiście najprzyjemniej pracuje mi się z czcionką Consolas pochodzącą z Microsoft Visual Studio i dostępną w wydaniach Windows począwszy od Vista.

Bardzo dobą czcionką jest również czcionka Inconsolata, która jest dostępna w odróżnieniu od Consolas na licencji otwartej: http://levien.com/type/myfonts/inconsolata.html

Dodatkowe czcionki do Ubuntu wystarczy przegrać do katalogu: ~/.fonts aby były dostępne w systemie. Ściągnij font TTF: Inconsolata

Artykuły: Czcionki dla programistów: aby kod był czytelniejszy, TOP 10 Programming fonts

2. Wygładzanie czcionek

Z tego samego powodu (użycie Swing) źle wygląda także wygładzanie czcionek, a raczej jego brak. Aby naprawić ten problem mamy dwa wyjścia w zależności z której wersji Java korzystamy: Oracle czy OpenJDK.

Oracle Java

W przypadku Oracle Java należy wy edytować plik: <netbeans-path>/etc/netbeans.conf. W zmiennej netbeans_default_options dopisać lub zmienić parametry na:

-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf GTK+

Parametr --laf określa tak zwany Look and Feel. Inne możliwości tego parametru to np. Metal, Motif, Nimbus, GTK+

OpenJDK

Jeżeli używamy OpenJDK, sprawa jest bardziej skomplikowana:

Aplikacje Swing używają ustawień wygładzania czcionek GNOME, lecz nie uwzględniają ustawień tzw. hinting’u czcionek. Swing zawsze używa pełnego hinting’u, a jeśli używasz Ubuntu z małym lub żadnym ustawieniem hinting’u (jak większość ludzi, ponieważ jest to ustawienie domyślne) to font będzie wyświetlać się zupełnie inaczej niż w innych aplikacjach GTK.

Jedyny w pełni działający sposób na naprawienie tego problemu to przygotowanie specjalnej wersji czcionki specjalnie dla użycia w Netbeans. Nie jest to rozwiązanie idealne ale na obecną chwile jedyne działające poprawnie. Oto sposób przygotowania czcionki:

  1. sudo apt-get install fontforge
  2. Uruchom Fontforge
  3. Otwórz swoją czcionkę, którą zamierzasz używać w Netbeans
  4. Ctrl + A aby zaznaczyć wszystkie znaki
  5. Wybierz Hints -> Clear instructions (Hinting -> Usuń instrukcje)
  6. Ctrl + Shift + F aby otworzyć informacje o fontach
  7. Zmień nazwę czcionki (np. orginalna nazwa + '_nohints’)
  8. Zapisz czcionkę w katalogu użytkownika ~/.fonts
  9. Usuń cache czcionek w systemie fc-cache -rv
  10. Uruchom Netbeans i wybierz utworzoną czcionkę jako czcionkę dla edytora

Źródło: http://askubuntu.com/questions/32624/ugly-fonts-in-netbeans-how-can-i-make-it-use-the-system-font/36339#36339

Do ściągnięcia przygotowana czcionka Inconsolata bez hintingu gotowa do użycia w Netbeans z OpenJDK: Inconsolata (no hinting)

3. Integracja z Unity

Integracja z unity polega na połączeniu menu Netbeans z paskiem głównym Unity a także na możliwości uruchamiania poleceń za pomocą mechanizmu HUD (po wciśnięciu lewego klawisza ALT). Aby dodać taką integrację należy zainstalować plugin Java Ayatana

  • W Netbeans, wejdź w menu: Tools/Plugins
  • W karcie settings, dodaj Update Center, wpisując
    • Nazwa: Java Ayatana
    • URL: http://java-swing-ayatana.googlecode.com/files/netbeans-catalog.xml
  • Na karcie Available Plugins wciśnij przycisk odświerz i znajdź i zainstaluj Java Ayatana
  • Zrestartuj Netbeans i gotowe. Netbeans powinien być w pełni zintegrowany z Ubuntu Unity

Zrzut ekranu z 2013-08-20 14:46:14Zrzut ekranu z 2013-08-20 14:41:48