During development in the Eclipse IDE it is often necessary to switch back and forth between files which are related to each other. Such a relation between files can be found for example while working with Apache Tapestry, a web application framework where a webpage is defined by a markup and a java file. The Eclipse Plug-In Loom for Tapestry provides a keyboard shortcut to switch back and forth between a markup and a java file which enables developers to quickly compare and edit these files. This feature is very helpful for development with Tapestry as markup and java files are being held in different directories so that manual file navigation is tedious.
Apart from Tapestry there are many other software frameworks and programming languages where rapid switching between related files would increase productivity.
C-Programmers may want to switch between source and header files quickly whilst for frameworks using the mvc-pattern, such as Ruby On Rails, it would be useful to switch between model, view and controller source files.
The Switch Plug-In enables fast switching for the prior cases and others where certain files are related to each other. This is possible due to its flexible pattern based configuration which enables switching between an indefinite number of related files of any type in any order. Furthermore it provides an API that allows other Plug-Ins to use and extend its capabilities.
Eclipse PHP Development Tools (PDT) project was started in 2006. Our first achievement in version 1.0 was creating a basic development environment for PHP while leveraging Web Tools that have had already all needed functionality for Web pages editing. But in order to make PDT more functional and scalable it was obvious that robust model like JDT's was needed. Fortunately, the technology growths non-linearly, and more and more interesting and useful projects achieve their place under the Eclipse logo. One of those projects is Dynamic Languages Toolkit (DLTK), which aims to generalize JDT model by making it available for IDE like PDT. While approaching to the PDT 2.0 release, which PHP structured model is fully based on DLTK, we can tell now that it was a great success to make this step towards new technology. Many new features like Mark Occurrences, Type and Call Hierarchy, Override Method Annotations, extended Open Type and Open Method, Scalable PHP Model and improved Code Assist based on analyzing of PHP source code became possible and attainable in a short time due to DLTK.
In this session you will learn how Eclipse technologies helped us to build strong development environment for PHP. You will see PDT design in an outline, and we will zoom into more interesting parts, like new PDT 2.0 Model and PHP Type Inference based on DLTK engine. This talk will also cover the new PDT 2.0 API. This tutorial will be useful for IDE developers as well as for those who is going to extend PHP Development Tools.
Christian Scheid is a Java Developer at Adscale Labs in Christchurch, New Zealand, where he works in a team to develop and improve a platform for online advertisement. Besides using the Eclipse IDE, Christian is interested in IDE Plug-In development and is the creator of the Loom Plug-In for Apache Tapestry and Apache Wicket. Amongst IDE capabilities he is interested in Agile & TDD Software Development, Computer Graphics, User Interfaces and Network Computing. Christian is an alumnus of FHTW, University of Applied Sciences, Berlin, Germany.
Andres is a Sun Certified Programmer, Sun Certified Web Component Developer with more than 8 years of experience in software design and development, currently working for Oracle as a Principal Software Engineer. He has been involved with web and desktop application development since the early days of Java. He also has been teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, developer testing and swing hacks. He is a true believer in open source and has participated in popular projects like Groovy, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder to name a few). Recently he helped launch the Griffon framework, a project that delivers high productivity gains and an agile experience to Swing development. Andres maintains a blog at http://jroller.com/aalmiray
Ixchel has developed software application & tools since 2000. Her research interests include dynamic languages, testing and client-side technologies. Systems Administration (*nix on the top), Data Modeling and IA are among her career passions. She is a believer in open source and has participated in some projects (Json-lib and EZMorph), she is also a Groovy enthusiast, participating in several conferences and JUG meetings where the topic arises. She has also been teacher of computer science courses in the most prestigious education institute in Mexico.
Michael Spector is Senior Software Developer and Technical Lead of Development Tools group at Zend Technologies. He has a Bachelor degree in Computer Science from Bar-Ilan University. Michael is an Eclipse committer from 2006, and currently he is participating in PDT and DLTK projects.