{"id":288,"date":"2015-03-02T18:00:10","date_gmt":"2015-03-02T17:00:10","guid":{"rendered":"http:\/\/www.sevenwatt.com\/main\/?p=288"},"modified":"2016-01-10T14:10:24","modified_gmt":"2016-01-10T13:10:24","slug":"eclipse-cdt-plug-ins-tutorials-and-useful-links","status":"publish","type":"post","link":"https:\/\/www.sevenwatt.com\/main\/eclipse-cdt-plug-ins-tutorials-and-useful-links\/","title":{"rendered":"Eclipse CDT Plug-ins &#8211; Tutorials and useful links"},"content":{"rendered":"<p>A collection of useful links to tutorials and other sources of information on developing Eclipse Plug-ins is given here. Particularly on CDT plug-ins little information is available. For the better part, luckily, this is very close to generic Eclipse Plug-ins, with the exception of C\/C++ &#8220;New Project Templates&#8221;.<\/p>\n<h3>1. Generic Eclipse Plug-in tutorials<\/h3>\n<p>Good series of blog-posts from 2009\/2010 is written by <em>cvalcarcel<\/em>. It is recommended to follow parts 2-5 until you get the basic idea on Plug-ins, and extending the UI:<br \/>\n<a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/07\/11\/writing-an-eclipse-plug-in-part-2-creating-a-custom-project-in-eclipse-adding-to-the-new-project-wizard\/\" target=\"_blank\">Writing an Eclipse Plug-in (Part 2): Creating a custom project in Eclipse \u2013 Adding to the New Project Wizard<br \/>\n<\/a>An index to the 24 parts of this series is missing so I provide it here in the last section of this post.<br \/>\n<em>Problems getting step 2 done? Maybe some useful hints <a title=\"Eclipse CDT plug-ins \u2013 What could possibly go wrong?\" href=\"\/\/www.sevenwatt.com\/main\/eclipse-cdt-plug-ins\/\" target=\"_blank\">here<\/a>.<\/em><\/p>\n<p>Many tutorials are written by Lars Vogel at \u00a0<a href=\"http:\/\/www.vogella.com\/tutorials\/eclipse.html\" target=\"_blank\">www.vogella.com\/tutorials\/eclipse.html<\/a>. When it comes to installing\/distributing\/ deploying the newly developed plug-in, this tutorial is very helpful:<br \/>\n<a href=\"http:\/\/www.vogella.com\/tutorials\/EclipsePlugIn\/article.html\" target=\"_blank\">Extending the Eclipse IDE &#8211; Plug-in development &#8211; Tutorial<br \/>\n<\/a>To get an understanding on extending menu&#8217;s see this:<br \/>\n<a href=\"http:\/\/www.vogella.com\/tutorials\/EclipseCommandsAdvanced\/article.html\" target=\"_blank\">Eclipse Commands Advanced &#8211; Tutorial<\/a><\/p>\n<p>Some other Eclipse plug-in tutorials:<\/p>\n<p><a href=\"http:\/\/www.euclideanspace.com\/software\/development\/eclipse\/plugin\/wizard\/index.htm\" target=\"_blank\">http:\/\/www.euclideanspace.com\/software\/development\/eclipse\/plugin\/wizard\/index.htm<br \/>\n<\/a><a href=\"http:\/\/meri-stuff.blogspot.nl\/2012\/04\/writing-eclipse-plugins-tutorial-part-1.html\" target=\"_blank\">http:\/\/meri-stuff.blogspot.nl\/2012\/04\/writing-eclipse-plugins-tutorial-part-1.html<br \/>\n<\/a>also available at\u00a0<a href=\"http:\/\/www.javacodegeeks.com\/2012\/05\/writing-eclipse-plugins-tutorial-part-1.html\" target=\"_blank\">http:\/\/www.javacodegeeks.com\/2012\/05\/writing-eclipse-plugins-tutorial-part-1.html<\/a><\/p>\n<h3>2.\u00a0Eclipse CDT Plug-in tutorials<\/h3>\n<p>Specifically on C\/C++ CDT extension there are not many tutorials around. CDT can be extended just as it works with other Eclipse plug-ins. Using the public API&#8217;s of CDT. Next to that CDT can be extended with &#8220;New C\/C++ Project&#8230;&#8221; templates.<\/p>\n<p>Template development:<\/p>\n<p>The Eclipse CDT Help documentation gives a good description on how to write and add a template, although this is not direct beginners level. It requires the ability to read API documentation:<br \/>\n<a href=\"http:\/\/help.eclipse.org\/luna\/index.jsp?topic=%2Forg.eclipse.cdt.doc.isv%2Fguide%2FprojectTemplateEngine%2Findex.html\" target=\"_blank\">How to add project templates to CDT<br \/>\n<\/a>Look at examples: P<a href=\"https:\/\/github.com\/SevenW\/PicosARM\/tree\/master\/com.sevenwatt.picos.templates\" target=\"_blank\">icos ARM<\/a>, <a href=\"http:\/\/git.eclipse.org\/c\/cdt\/org.eclipse.cdt.git\/tree\/build\/org.eclipse.cdt.managedbuilder.gnu.ui\" target=\"_blank\">Eclipse CDT built-in<\/a><\/p>\n<p><strong>Read <a title=\"Eclipse CDT Plug-ins \u2013 New C\/C++ Project Templates\" href=\"\/\/www.sevenwatt.com\/main\/eclipse-cdt-plug-ins-new-cc-project-templates\/\">this post<\/a> explaining several aspects of template development.<\/strong><\/p>\n<h3>3.\u00a0Eclipse CDT\u00a0Tips and Tricks<\/h3>\n<p>Finding properties to be set from a template, see second answer:<br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/6711056\/eclipse-cdt-new-project-template-how-to-add-a-library\" target=\"_blank\">http:\/\/stackoverflow.com\/questions\/6711056\/eclipse-cdt-new-project-template-how-to-add-a-library<\/a><\/p>\n<p>Finding types of property page controls for templates:<br \/>\n<a href=\"http:\/\/help.eclipse.org\/luna\/index.jsp?topic=%2Forg.eclipse.cdt.doc.isv%2Fguide%2FprojectTemplateEngine%2FHowtodeveloptemplates.html&amp;anchor=howto%2edevelop%2etemplates\" target=\"_blank\">How to develop templates &#8211; documentation on\u00a0<strong>property<\/strong><\/a><br \/>\n<a href=\"http:\/\/git.eclipse.org\/c\/cdt\/org.eclipse.cdt.git\/tree\/core\/org.eclipse.cdt.ui.tests\/resources\/projectTemplates\/testWidgets\/template.xml\" target=\"_blank\">testWidgets<\/a><\/p>\n<p>Setting Environment<br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/6186754\/eclipse-cdt-how-to-save-project-wide-environment-variables-programmatically-pe\" target=\"_blank\">How to save project-wide environment variables programmatically<\/a><br \/>\n<a href=\"https:\/\/www.eclipse.org\/forums\/index.php\/t\/812519\/\" target=\"_blank\">Forum post eclipse forum<\/a><\/p>\n<h3>4. Extending the UI<\/h3>\n<p>Some unsorted links<br \/>\n<a href=\"http:\/\/www.java2s.com\/Code\/Java\/SWT-JFace-Eclipse\/FileDialogExample.htm\" target=\"_blank\">http:\/\/www.java2s.com\/Code\/Java\/SWT-JFace-Eclipse\/FileDialogExample.htm<\/a><br \/>\n<a href=\"http:\/\/www.java2s.com\/Code\/Java\/SWT-JFace-Eclipse\/DemonstratestheDirectoryDialogclass.htm\" target=\"_blank\">http:\/\/www.java2s.com\/Code\/Java\/SWT-JFace-Eclipse\/DemonstratestheDirectoryDialogclass.htm<\/a><br \/>\n<a href=\"http:\/\/www.vogella.com\/tutorials\/EclipseWizards\/article.html\" target=\"_blank\">http:\/\/www.vogella.com\/tutorials\/EclipseWizards\/article.html<\/a><br \/>\n<a href=\"http:\/\/www.eclipse.org\/articles\/article.php?file=Article-JFaceWizards\/index.html\" target=\"_blank\">http:\/\/www.eclipse.org\/articles\/article.php?file=Article-JFaceWizards\/index.html<\/a><br \/>\n<a href=\"http:\/\/www.eclipse.org\/swt\/examples.php\" target=\"_blank\">http:\/\/www.eclipse.org\/swt\/examples.php<\/a><br \/>\n<a href=\"http:\/\/www.eclipse.org\/articles\/article.php?file=Article-Understanding-Layouts\/index.html\" target=\"_blank\">http:\/\/www.eclipse.org\/articles\/article.php?file=Article-Understanding-Layouts\/index.html<\/a><\/p>\n<h3>5. Miscellaneous \/ advanced topics<\/h3>\n<p><a href=\"http:\/\/www.ibm.com\/developerworks\/opensource\/library\/os-ecfeat\/\" target=\"_blank\">http:\/\/www.ibm.com\/developerworks\/opensource\/library\/os-ecfeat\/<br \/>\n<\/a><a href=\"http:\/\/codeandme.blogspot.de\/2012\/10\/integrating-custom-builder.html\" target=\"_blank\">http:\/\/codeandme.blogspot.de\/2012\/10\/integrating-custom-builder.html<br \/>\n<\/a><a href=\"http:\/\/www.eclipse.org\/articles\/Article-Builders\/builders.html\" target=\"_blank\">http:\/\/www.eclipse.org\/articles\/Article-Builders\/builders.html<br \/>\n<\/a><a href=\"https:\/\/eclipse.googlesource.com\/cdt\/org.eclipse.cdt\/\" target=\"_blank\">Eclipse CDT source code<\/a><\/p>\n<h3>\u00a06. Links to\u00a0Writing Eclipse Plug-in series<\/h3>\n<p><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/07\/08\/writing-an-eclipse-plug-in-part-1-what-im-going-to-do\/\" target=\"_blank\">Part 1: What I\u2019m going to do<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/07\/11\/writing-an-eclipse-plug-in-part-2-creating-a-custom-project-in-eclipse-adding-to-the-new-project-wizard\/\" target=\"_blank\">Part 2: Creating a custom project in Eclipse \u2013 Adding to the New Project Wizard<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/07\/19\/writing-an-eclipse-plug-in-part-3-create-a-custom-project-in-eclipse-new-project-wizard-time-to-refactor\/\" target=\"_blank\">Part 3: Create a custom project in Eclipse \u2013 New Project Wizard: Time to Refactor<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/07\/26\/writing-an-eclipse-plug-in-part-4-create-a-custom-project-in-eclipse-new-project-wizard-the-behavior\/\" target=\"_blank\">Part 4: Create a Custom Project in Eclipse \u2013 New Project Wizard: the Behavior<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/11\/writing-an-eclipse-plug-in-part-5-adding-icons-and-a-new-project-structure\/\" target=\"_blank\">Part 5: Adding Icons and A New Project Structure<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/14\/writing-an-eclipse-plug-in-part-6-adding-an-icon-to-new-project-types\/\" target=\"_blank\">Part 6: Adding an Icon To New Project Types<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/18\/writing-an-eclipse-plug-in-part-7-creating-a-custom-navigator\/\" target=\"_blank\">Part 7: Creating a Custom Navigator<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/24\/writing-an-eclipse-plug-in-part-8-common-navigator-adding-a-new-sorter-under-navigatorcontent\/\" target=\"_blank\">Part 8: Common Navigator: Adding a New Sorter Under navigatorContent<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/25\/writing-an-eclipse-plug-in-part-9-custom-project-defining-a-custom-file-type\/\" target=\"_blank\">Part 9: Custom Project: Defining a Custom File Type<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/10\/31\/writing-an-eclipse-plug-in-part-10-custom-project-creating-a-custom-file-type\/\" target=\"_blank\">Part 10: Custom Project: Creating a Custom File Type<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/11\/14\/writing-an-eclipse-plug-in-part-11-common-navigator-displaying-custom-resources-or-refresh-or-die-or-the-magic-of-navigatorcontent\/\" target=\"_blank\">Part 11: Common Navigator: Displaying Custom Resources, Refresh or Die, The Magic of navigatorContent<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/11\/18\/writing-an-eclipse-plug-in-part-12-common-navigator-keeping-the-tree-open-when-a-new-resource-is-added\/\" target=\"_blank\">Part 12: Common Navigator: Keeping the Tree Open When a New Resource is Added<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/12\/08\/writing-an-eclipse-plug-in-part-13-common-navigator-adding-tests\/\" target=\"_blank\">Part 13: Common Navigator: Adding Tests<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/12\/13\/writing-an-eclipse-plug-in-part-14-common-navigator-refactoring-the-children\/\" target=\"_blank\">Part 14: Common Navigator: Refactoring the Children<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2009\/12\/19\/writing-an-eclipse-plug-in-part-15-custom-project-customizing-the-perspective-menus-main-menu\/\" target=\"_blank\">Part 15: Custom Project: Customizing the Perspective Menus (Main menu)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/01\/08\/writing-an-eclipse-plug-in-part-16-custom-project-customizing-the-perspective-menus-toolbar\/\" target=\"_blank\">Part 16: Custom Project: Customizing the Perspective Menus (Toolbar)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/01\/09\/writing-an-eclipse-plug-in-part-17-custom-project-customizing-the-perspective-menus-using-customize-perspective\/\" target=\"_blank\">Part 17: Custom Project: Customizing the Perspective Menus Using Customize Perspective<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/02\/21\/writing-an-eclipse-plug-in-part-18-take-2-common-navigator-adding-submenus-presentationbehavior\/\" target=\"_blank\">Part 18 : Common Navigator: Adding submenus (Presentation\/Behavior)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/02\/28\/writing-an-eclipse-plug-in-part-19-a-quick-display-fix\/ target=\">Part 19: A Quick Display Fix<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/04\/04\/writing-an-eclipse-plug-in-part-20-return-of-the-popup-menu-for-an-empty-navigator\/\" target=\"_blank\">Part 20: Return of the Popup Menu (For an Empty Navigator)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/05\/16\/writing-an-eclipse-plug-in-part-21-return-of-the-popup-menu-displaying-resources\/\" target=\"_blank\">Part 21: Return of the Popup Menu (Displaying Resources)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/05\/30\/writing-an-eclipse-plug-in-part-22-common-navigator-adding-submenus-presentation\/\" target=\"_blank\">Part 22: Common Navigator: Adding submenus (Presentation)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/08\/14\/writing-an-eclipse-plug-in-part-23-common-navigator-rewriting-history\/\" target=\"_blank\">Part 23: Common Navigator: Rewriting History<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/08\/29\/writing-an-eclipse-plug-in-part-24-common-navigator-configuring-the-submenus-presentation-again\/\" target=\"_blank\">Part 24: Common Navigator: Configuring the submenus (Presentation\u2026again)<br \/>\n<\/a><a href=\"https:\/\/cvalcarcel.wordpress.com\/2010\/06\/29\/writing-an-eclipse-plug-in-the-missing-zip-files\/\" target=\"_blank\">Writing an Eclipse Plug-in: The Missing Zip Files<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A collection of useful links to tutorials and other sources of information on developing Eclipse Plug-ins is given here. Particularly on CDT plug-ins little information is available. For the better part, luckily, this is very close to generic Eclipse Plug-ins, with the exception of C\/C++ &#8220;New Project Templates&#8221;. 1. Generic Eclipse Plug-in tutorials Good series [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[20],"tags":[],"class_list":["post-288","post","type-post","status-publish","format-link","hentry","category-eclipse-cdt","post_format-post-format-link"],"_links":{"self":[{"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/posts\/288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/comments?post=288"}],"version-history":[{"count":8,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/posts\/288\/revisions"}],"predecessor-version":[{"id":581,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/posts\/288\/revisions\/581"}],"wp:attachment":[{"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/media?parent=288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/categories?post=288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sevenwatt.com\/main\/wp-json\/wp\/v2\/tags?post=288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}