Wednesday, August 22, 2007

Wanted: Eclipse IDE widget to quickly change the editor font size

Does anyone know of an existing Eclipse widget / plugin that puts a quick font-size dropdown on the IDE toolbar? If so, please share and the Flex presenter / speaker community will give you a hug.

Can y’all see this in the back?

Changing the font size of the Eclipse text editor is a royal pain. It is a completely undiscoverable feature. It seemed that all the 360 Flex sessions I attended had the same scene:

Presenter: OK, let’s look at some code now. (switches to the IDE, either Flex Builder or full-blown Eclipse)

Guy At The Back Of The Room: Umm. Can you increase the font size so that we can read it back here?

Presenter: Oh, OK, no problem. (fiddles with Eclipse for a few seconds) Umm. Anyone know the secret handshake?

GATBOTR: Preferences —> General —> Appearance —> Color And Fonts —> Text Font —> Change …

Presenter: Whut?

GATBOTR: (louder and more slowly, as if talking to one's great Aunt Ethel) Preferences —> General —> Appearance —> Color And Fonts —> Text Font —> Change …

Presenter: (kinda sorta fiddles some more, and eventually stumbles onto the right path) OK, got it.

GATBOTR: Thanks.

I think the brain is wired to immediately forget such painful experiences. It almost made me long for the intuitiveness of Ctrl-Alt-Delete again. As the conference progressed, some of the presenters got wise early, and had pre-configured their IDE for “presenter mode”, but if they were like me, they still had a hard time finding it buried in the UI. I had to search the Eclipse online help the night before my presentation in order to find the setting.

Turn down the suck

Now, I’m not trying to bash Eclipse here. Really. I like Eclipse. I have all their albums.

I’m just guessing that this UI just sort of grew unwieldy over time, rather than by design. Maybe it is already scheduled to be fixed in the 4.x codebase. But the current experience sucks.

Preferences —> General —> Appearance —> Color And Fonts —> Text Font —> Change …

I'm counting seven clicks (7!!!) until I see a familiar font size selection dialog. There are at least three glaring issues at play:

  1. The "Colors and Fonts" category is too long, and by default is clipped to "Colors an". So I can't even just use the tree control to expand and navigate the categories. I have to click each expanded item to see if its full name gives me some clue about what it controls.

  2. Once selected, the "Colors and Fonts" panel displays the list of settings, and the "Text Font" entry is selected (it is highlighted in blue), but there are no obvious controls that suggest "click me to change the font".


  3. So now you click the already-selected entry "Text Font" and viola! The "Change" and "Reset" buttons appear like magic.

  4. OK, I know I said 3 issues not 4. I'll concede that this one might just be me. Grouping colors together with fonts doesn't make sense to me. I assume that each language controls its own syntax highlighting, so I just don't expect to be setting colors when I'm setting fonts.

How to help

A savvy Java developer (ie. not me) can probably create a wee widget to sit in the IDE toolbar and add a font size dropdown. No font face changes, no color changes, just make the existing font bigger for the text editor (or better yet, the text editor and any console/output/trace buffer windows).

There now. Assuming this saves 2 minutes of a 60 minute session, the widget you’ve just created has increased the productivity of the presenter by 3%. Not bad! U R AWESOME!!!!

19 comments:

David Coletta said...

Excellent idea!

BTW, I thought maybe it would be possible to create a key binding to change font size, but the closest I could find was a key binding that would bring up the "Colors and Fonts" pref pane.

Barry B said...

mee too... bloody annoying, this lack of eclipse feature

(this comment gets me a subscription to this post? I'd dearly like an answer too)

Amber said...

is it just me or.... should you think outside the eclipse box for a second?

This thing is by no means limited to eclipse. Instead, you'd want to use a snappy window-manager that allows you to, just, zoom in the display, regardless of what application you running.

I use compiz with 'desktop zoom' enabled

Anonymous said...

Thanks for posting, I was sitting here forever trying to figure this out, I must have skipped over "Text Font" about 50 times going between this pane and the Flex / Appearance pane in Flex Builder going "Am I really this stupid??"

benizi said...

Re: Amber's suggestion of compiz

It's a good suggestion for the general case, but in Eclipse it's not that simple. Maybe in the presentation case 'compiz' would work, but my problem is that I'm working on a laptop computer with a relatively small screen. I don't want everything zoomed. The toolbars/menus are big enough to be usable, since I only rarely need their text. (Increasing their size would just take up valuable screen real estate.) But, I need the editor windows' font to be bigger, because the text they contain is more important and more-often used.

I'll try and post back when I figure out how to set the font sizes on a more global basis (rather than per-workspace).

benizi said...

It took a google googles to find it:

eclipse global settings,
eclipse global preferences, eclipse global font settings,
eclipse IDE font,
Eclipse UI settings,
Eclipse UI settings text font,
Eclipse UI settings files,
Eclipse UI settings files,
org.eclipse.jface.textfont,
site:help.eclipse.org org.eclipse.jface.textfont,
Eclipse editor preferences store,
Eclipse configuration files,
Eclipse config.ini

The last one's the answer. I put the following in $HOME/.eclipse/org.eclipse.platform_3.2.0/configuration/config.ini

org.eclipse.jface.textfont=1|Monospace|14|0|GTK|1|;

I also put some horribly-escaped XML in for some custom key bindings. (Apparently properties have to fit on one line, and can't contain '='. So it became

org.blah.blah.blah=<?xml version\="1.0" encoding\="UTF-8"?>\n<etc...

Hope this helps someone else looking for this.

benizi said...

Wow. Not at all as easy as I thought. I think I was seeing the effects of preference caching. I eventually worked around it as follows:

~$ unzip /usr/lib/eclipse-3.2/plugins/org.eclipse.jface_3.2.1.M20060908-1000.jar org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
Archive: /usr/lib/eclipse-3.2/plugins/org.eclipse.jface_3.2.1.M20060908-1000.jar
inflating: org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
~$ vi org/eclipse/jface/resource/jfacefonts_linux_gtk.properties
# changed the appropriate setting
~$ sudo zip -f /usr/lib/eclipse-3.2/plugins/org.eclipse.jface_3.2.1.M20060908-1000.jar org/eclipse/jface/resource/jfacefonts_linux_gtk.properties

Pretty annoying that it's system-wide and not per-user. But, I'm the only "real" user on my laptop.

Again, hope this (or something similar) helps someone.

Anonymous said...

Have you even tried the filter??

Type "font" in the field that contains "Type Filter Text".

Anonymous said...

Thank you for posting how to increase the font size :) ... It's definitely not an easy find!

benizi said...

re: anonymous (type "font" in the filter)

Yes, it's extremely easy to change the font through the preferences dialog. The problem is that that's a per-workspace setting. I don't want to have to export and import preferences every time I create a workspace. It took more time than it will ever save, but hopefully someone else will benefit from my tinkering.

Anonymous said...

二子玉川
水 通販
フロント 仕事
グループウェア
toefl

Anonymous said...

賃貸 東京 ケータリング 平野区 賃貸 新築 静岡

Anonymous said...

再春館
再春館
再春館製薬
再春館
再春館製薬所
再春館製薬
再春館製薬所

Anonymous said...

ent
you
qwo
wer
to
for
live
hi
wei
shi
look
enw
up
here
op
iop
uy

jimmychooshoes said...

Christian Louboutin Almeria - Dark Brown
Christian Louboutin Almeria - Light Blue
Christian Louboutin Almeria - Red
Christian Louboutin Alta Perla Strass 100 sandals
Christian Louboutin Archidisco 120 T-bar sandals
Christian Louboutin Barcelona Gladiator Platforms
Christian Louboutin Bat Girl 100 shoes
Christian Louboutin black leather Monty thong sandals
Christian Louboutin City Girl slingback platforms
Christian Louboutin Desir 85 sandals
Christian Louboutin Desir 85 satin slingbacks
Christian Louboutin Desir 85 satin slingbacks
Christian Louboutin Double Platform Sandal
Christian Louboutin Double-Platform Sandal
Christian Louboutin DV Diamonds 100 sandals

webmaster said...

マジコン
R4 DS
R4DS
R4i
R4 Card

クレジットカード現金化 said...

クレジットカードのショッピング枠を現金化
クレジットカード 現金化
ショッピング枠 現金化
クレジットカード 現金化
クレジットカード 現金化
クレジットカード 現金化
クレジットカード 現金化
クレジットカード 現金化
ショッピング枠 現金化
クレジットカード 現金化
クレジットカード 現金化
クレジットカード 現金化
クレジットカード 現金化

iwasaki said...

カードの現金化比較
現金化の裏技
クレジットカード現金化裏技口コミ
カード現金化の体験談
カード現金化の口コミ体験談

www.crearpaginaweb.com said...

This cannot work in fact, that is what I consider.