Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Eclipse: EPIC and the Tasks View

by temporal (Pilgrim)
on Mar 04, 2013 at 23:05 UTC ( #1021723=perlquestion: print w/replies, xml ) Need Help??

temporal has asked for the wisdom of the Perl Monks concerning the following question:

Here's a question for any monks out there who use or have used Eclipse's EPIC plugin to write Perl projects. Hopefully Perl-related enough for SOPW =)

I am trying to configure Eclipse's Tasks View properly - which collects and itemizes tasks based on keywords found in comments across projects. This has turned out to be surprisingly counterintuitive.

I believe that the functionality at work here is that EPIC is responsible for marking 'Task' objects, since each interpreter/compiler has its own configuration for this. These objects are then passed to Eclipse's Task handler which is then capable of sorting them based on a description keyword match into types, priorities, tracking completion, even the scope which it should appear in.

That's all fine I suppose, I am able to add tags to the EPIC Task configuration (Window->Prefs->Perl EPIC->Task Tags) but I am unable to use the finer grained control and filtering that Eclipse's Task View provides. EPIC does not even implement a task view type - tasks seem extremely bare-bones and are sent as generic Eclipse 'Task' objects.

Basically, EPIC treats all task tags the same as long as they match any tags specified in the EPIC configs. It then passes the text following these tags as the 'Description' column for the task to Eclipse's Task View.

I'd like to be able to specify several different task tags (TODO,TASK,INV,FIXME,etc) and then associate priorities with these tags.

The root of my problem was that EPIC was assigning all its tags a priority of 'normal' before handing them to Eclipse's Task View. Took me a while to realize that priority was decided by the plugin (looking at other editor prefs - Java->Compiler->Task Tags), while I was trying to assign it based on the description contents within Eclipse's Task View configs. Since there is no priority feature in EPIC's task tag configs I'm concerned that task priorities are not supported.

As of this writing I can create generic 'normal' priority EPIC tasks using whatever keywords I choose - but they are all treated the same. The workaround that I am currently using then uses Eclipse's Task View configuration to assign different types based on a keyword in their description. Some examples to make this more clear:

Task formatting in Eclipse:

# TAG description

EPIC consumes TAG (if it is listed in its tasks tags configs) and passes 'description' to Eclipse's Tasks View with a priority of 'normal'. Well, I want to at least be able to differentiate between a TODO and a FIXME in the Tasks View...

# workaround, but annoying: # TASK (INV) see what this is really doing # TASK (TODO) refactor this code # TASK (FIXME) this is way broken

So EPIC knows to look for my generic TASK tag. The Eclipse Task View looks in the description for a keyword to assign the type of task. All this gains me is the ability to filter tasks by task type. Better than nothing, but I sure wish that I could do something with priorities. What I'd really like to be able to do is something like what other editors in Eclipse are capable of:

# TODO write something new here # INV there's got to be a better way to do this # FIXME this is broken # TODO (LOW) get to this eventually # TODO (MED) get to this in a little bit # TODO (HIGH) get to this next

This would allow me finer grained, less redundant task creation and filtering in Eclipse. Not to mention that I could use priority to change task scope of high priority tasks in other projects to show up on my tasks list when working on other projects.

After playing with all this for a while I was of course made aware of Mylyn, which is a very feature rich task management tool. I don't really need and/or like all of the features. I like how easy and simple Eclipse's current task management implementation is (supposed to be) and Mylyn feels like huge overkill for my purposes.

Has some enterprising monk figured out how to get task priorities to work across EPIC's task tags to Eclipses Tasks View?

Replies are listed 'Best First'.
Re: Eclipse: EPIC and the Tasks View
by temporal (Pilgrim) on Mar 06, 2013 at 22:18 UTC

    The EPIC docs confirm that this is working as intended - there is no support for Eclipse Tasks View priority levels.

    It looks like task priority was implemented in Galileo (Eclipse v3.5) and EPIC never got around to adding the extra Tasks View functionality to its configs.

    Any differentiation between comment types has to be configured within the Tasks View. All EPIC does is find task tags specified in its configs and sends their associated text (description) to Eclipse's Tasks View as a basic Eclipse Task object of normal priority.

    From this point it is possible to filter by keywords in the description attribute of the Task, as in my workaround example above.

    I was intending to use the priority attribute to specify the scope of the task. In order to simulate this behavior I created more Tasks View configurations with different description keywords which correspond to different scoping display rules. It's a little bit of a pain and it requires me to do more typing (room for error) in my keywords, but it works.

    I also recommend creating a couple of Tasks View configs which ought to be in Eclipse by default - file and project scope views. To do this create a new config with no filter (so that it will catch all tasks EPIC passes) and change the scope setting to either "on selected element only" or "on any element in same project" respectively for file and project filtering. Make sure that "Show items that match any" is selected but be aware that this means that if you were to select both File and Project views it will display the least strict config - Project. I prefer this setting so that I can look at multiple different task tags in one view, but since you can create as many Tasks Views as you like it's entirely up to the user.

    Anyway, hope this helps anyone out there to bring a little order to their workflow using Eclipse and EPIC's tasks integration.

    Strange things are afoot at the Circle-K.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1021723]
Approved by Gangabass
Front-paged by bulk88
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2019-12-14 12:56 GMT
Find Nodes?
    Voting Booth?

    No recent polls found