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