Make Me an Eclipse View (with less Plumbing) – The PTP External Tools Framework Feedback view
Making For Eclipse · Lightning (12 mins)
Monday, 16:32, 13 minutes | Lafayette
Many source code analysis tools, compilers, and performance tools generate files that contain information about the user’s program, with locations (file, line number or range) within the source file. The most familiar example of this is the Problems view in Eclipse – a hierarchical view that maps build errors to source code lines – click on a problem and it navigates to a line in your source code.
So you already have a tool that generates a “side file” or other file indicating things of note and locations in source code files. You want to build an Eclipse hierarchical view to make it easier for your users to consume this information. Don’t want to deal with all the Eclipse plumbing? Use the PTP External Tools Framework Feedback view. With a file (e.g. an XML file, but it’s not limited to this) holding your information, you write a bit of Java code to translate this information into “feedback” objects and these are used to populate a TreeTable view. Click on a line in the view and the editor opens at the given location in the source file. Another extension point allows you to attach actions to the feedback objects as well.
I will show how a performance tool and a compiler optimization tool both generated information that used the ETFw Feedback view to make the information easier to consume, how to simply implement your own ETFw Feedback view from an XML file, and other features and plans/ideas for the ETFw Feedback view.
The PTP External Tools Framework is a set of tools meant to make Eclipse integration of existing tools (not written originally for Eclipse) easier. Its original use was to integrate existing performance tools into the Eclipse launching mechanism for parallel applications. The Feedback view extends its usefulness not just from running existing tools, but also into consuming the results of external tools in an Eclipse-friendly way.
There are already many useful tools available for parallel application development, analysis, debugging, and especially performance evaluation. The more we can integrate tools into the Eclipse environment of PTP (Parallel Tools Platform), the more useful PTP becomes and the easier it is to lure users into using Eclipse and PTP, who are often already comfortable with their command line tools.
Beth Tibbitts is a veteran of software development in IBM, including APL and LISP, both underdog languages and environments, and eventually C++ and Java, amongst many others. Beth has developed tools for Engineering and Financial Analysis, Expert Systems, debuggers, education, ADHD children, and for making web sites more accessible to persons with disabilities. She became a fan of Eclipse several years ago and has written tools for programmers and users including tools for porting C and C++ programs to Linux. She is a committer on the Parallel Tools Platform Project and now develops tools for high performance computing users, primarily aiding in the development and analysis of parallel programs to increase productivity, making heavy use of the APIs in the CDT. She is also a committer on the X10DT, an Eclipse IDE and tools for the new X10 parallel language.