Friday, February 6, 2015

LiClipse 1.4.0: Themed scrollbars for StyledText!

LiClipse 1.4.0 has just been released.

The major feature in this release is that scrollbars for StyledText editors are now themed by default, as the image below shows:



Besides this, the default encoding for the files/workspace is now UTF-8 (regardless of the OS being used).

PyDev, which was also updated to the latest version, now features an interactive console prompt along with the console view where the scrollbar theming makes things much smoother:


Thursday, January 8, 2015

LiClipse 1.3.0 (Open at specific line / YAML syntax checking)

A new LiClipse is now available!

This version adds support for opening a file at a specific line (and optionally column).

I've also fixed this in Eclipse itself and submitted a pull request: https://bugs.eclipse.org/bugs/show_bug.cgi?id=305336 / https://git.eclipse.org/r/#/c/38830 (although so far it seems no committer had a chance to look at it), so, hopefully the next version of Eclipse will have it too.

Also, the integrated YAML version was updated so that errors in the YAML file will be shown as error markers.

To finish, this LiClipse release updated a lot of the components it builds upon, so, it's now distributed with the latest Java 8 version (no more permgen exceptions!), Eclipse 4.4.1, latest PyDev, EGit, AnyEdit...

As a note for those using LiClipse for python development, PyDev can now save the settings per-project or per-user (and not just per workspace) -- still not all, but enough to be usable :)

It takes a different approach from the regular Eclipse installations because instead of adding new preferences pages to the project it changed the existing preferences pages and adds the option to save the preferences you're viewing to the project/user settings or workspace (as the image below shows).

It allows saving the preferences to multiple projects at once and showing the preferences from a selected project (or you can just open the preferences location and edit it manually -- in YAML format).




Tuesday, November 11, 2014

Vertical Indent Guides in LiClipse 1.2.1

The latest LiClipse release (1.2.1) adds vertical indent guides -- to all Eclipse editors.

By default it's enabled to act in all Eclipse editors, so, even CDT/JDT/etc. will have it, but it's possible to configure it in the preferences to act only for LiClipse editors or disable it altogether.

The screenshot below shows it in action in PyDev:


Enjoy!

Thursday, September 25, 2014

Javascript ES6/ JSHint configuration support in LiClipse 1.2.0

The latest LiClipse 1.2.0 release is out.

The Javascript editor now supports ES6 (EcmaScript 6) constructs (but JSHint analysis must be manually configured to accept those constructs) and regular expressions on javascript are now properly colored.

Now it's also possible to specify the JSHint and HTML code analysis/code formatting configuration for a project. The main thing to note is that this must be done per-project with a YAML file (as explained at: http://brainwy.github.io/liclipse/customize_javascript.html and http://brainwy.github.io/liclipse/customize_html.html).

I'm not sure if having a way to change the globals will be added in the future -- mostly, I think that setting the globals is usually cumbersome, and if someone gets your project and it's not configured in itself, different users may have different results, which isn't really nice... on PyDev from the beginning things were only global, but as time passes by, I'm pretty sure that having the local from the start would be much better (which is something I plan to add in the future)!

Enjoy :)


Tuesday, August 26, 2014

LiClipse 1.1.1: Minimap default, YAML and StringTemplate supported

LiClipse 1.1.1 has just been released.

The major change in this release is that the minimap is enabled by default (for PyDev and LiClipse editors). With this change, the scrollbars are now also hidden by default. It's still possible to revert to the old style in the minimap preferences (but for me the current style is much better -- especially when using dark themes).

Below is a snapshot showing a 2.000 lines file in the editor... unfortunately I wasn't able to remove the scrollbars in the tree (believe me, I've tried), but without the scrollbars in the editor, it's already much nicer!



Besides that, StringTemplate and YAML are now also supported.

And at last, it's possible to debug Django Templates by adding breakpoints (in the LiClipse HTML or Django Templates editors).

Tuesday, June 24, 2014

LiClipse 1.0 released (Julia now supported)

LiClipse 1.0 has just been released.

It's now based on the latest Eclipse (4.4) and PyDev/other dependencies were also upgraded.

Support for the Julia Language: julialang.org was added in this release (so, 15 languages are now supported).

Also, the language support on LiClipse was improved so that a language can specify how to make a launch for it (see: http://brainwy.github.io/liclipse/launch.html for more details):

F9: Launches the currently opened editor using the executable specified in the language (and for those using PyDev, Shift+F9 will launch the editor in debug mode)
Ctrl+Shift+F9: Terminates the last launch and relaunches it
Ctrl+Alt+F9: Terminates all launches
Ctrl+F11: Relaunches the last launch

Also noteworthy is that when starting up LiClipse, when selecting the theme to use, an option to use the dark theme from Eclipse 4.4 is presented... I still prefer the one from LiClipse as it works better for me -- especially for those on windows -- but the option is there :)

Tuesday, May 6, 2014

Eclipse and Dark theme shortcomings

Well, last year, after having support to go on with LiClipse, I set out to having a Dark Theme in Eclipse given the new themeing capabilities of e4.

After some work, LiClipse (http://brainwy.github.io/liclipse) was released, and I'm pretty positive that it's currently the best possible experience with a dark theme on Eclipse (i.e.: through some adaptations to Eclipse Color Theme, the same UI is used to change editors as well as views and other decorations -- I went as far as creating new versions of some icons so that they work on the dark theme, added custom painters for trees and tables, etc).

Still...

There are some shortcomings when it comes to a dark theme in Eclipse which are not addressable from a plugin:

- It's not possible to style links: they always follow the platform settings (so, they can become unreadable inside Eclipse on a dark theme).

- Scrollbars are not themeable, thus, they stand out too much in a dark theme and things look ugly (IMHO).

- Tooltips can't be themed either (so when hovering the tooltip still has the background color from the OS).

Also, I'm not happy with some hacks I had to do:

- I had to add a custom painter to the tree so that it shows the expand/collapse decorations using a proper foreground color as the one from the system usually is unusable.

- The tree custom painter also erases the selection and redraws it as it's not possible to customize the selection color of the tree.

- For the table I also had to resort to a custom painter, but the situation is a bit worse than with the tree painter as it's not possible to customize the selection color when it doesn't have focus.

Note that those are the nastier I remember (and for which I created bugs in Eclipse itself).

Now, most of these issues only appear if you're using an OS that's not dark-themed, so, in Ubuntu which ships with a default dark theme, things may look nicer than on Windows -- where scrollbars aren't even customizable, so, it's always ugly (and it seems windows 8 trimmed many of its options, so, some things aren't even customizable anymore).

I bet no one will change the OS for that, so, it's either living with ugly scrollbars in a dark theme in Eclipse, choosing a different IDE or using a light theme, which is a bit lame: many UI toolkits such as Qt or JavaFX (and even swing) do a fine work on customizing the application look and feel, which takes me to the next point:

Most things are shortcomings in SWT, but it seems as SWT is not moving forward... Or maybe it is but not in those directions (which is a bit weird since it appeared as that was the most important point of going to e4)?

I saw some work on using SWT on top of JavaFX too (although it's probably a big effort migrating Eclipse to it)...

It seems like the Eclipse community should have decided where it's going at this point, so, can someone shed some light here? It seems like fixing those in SWT wouldn't be that hard -- but then again it needs development time from someone close to SWT...

[Edit]
Per request, I'm adding the issues I created on Eclipse:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=414080 (table selection foreground without focus)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=401015 (style links)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=434201 (respect foreground for tree item arrows)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=430278 (style scrollbars)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=401227 (toolitem foreground)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=401015 (style hyperlinks)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=434309 (style tree/table selection)