Eclipse IDE FOSS Unconference on Linux and Open Source Softwares by [email_address] OSSCamp Delhi Presented by Naresh Kumar [email_address] IIT Delh i
Eclipse IDE
IDEs
History of Eclipse
Application of Eclipse
Components and Plugins
C/C++ Development in Eclipse (CDT)
Making a Simple C/C++ Project using CDT
Concluding Remarks
Disclaimer
I am going to talk about Eclipse as a user, not an expert.
I stole some pictures and slides from other presentations that were available online.
Introduction
IDE:
Integrated Development Environment
Integrated Design Environment
Integrated Debugging Environment
IDE is a computer software to help computer programmers develop software
They normally consist of a source code editor , a compiler , interpreter, or both, build-automation tools , and (usually) a debugger . Sometimes a version control system and various tools to simplify the construction of a GUI are integrated as well.
Open-source & free(dom) software IDE's
Dev-C++, a free open-source IDE for Windows using MinGW
SharpDevelop (http://www.icsharpcode.net/OpenSource/SD), a free .NET Open-source IDE for windows
Kdevelop A KDE based IDE on Linux based on the GNU Development Tools
Anjuta, IDE especially for GNOME Developers
NetBeans for Java under a Community License
Eclipse, IDE for almost everything
Assistance in Code writing
Autoindent
Auto creation of braces
Word Wrapping
Spell Checking
Autocompletion
Compile and Run from Editor
Setting Compile time options
Jump to an Error
Finding Things
Jump to source of a method
Finding anything in files (includes string with wildcards)
Jump to Definiton of an Object
Expectations from an IDE
Contd.
Wizards
For example, Generate Get/Set methods for all local variables
Generate toString() method for your class
GUI Design
Forms, Panels etc.
Debugging
Setting Breakpoints
Stepping through code
Evaluationg Expressions and changing values
Documentation Support
Version Control Support
And lot more....
What is Eclipse ?
Widely regarded as the Java development environment
With all the bells and whistles...
Languageaware editors, views, ...
Refactoring support
Integrated unit testing and debugging
Incremental compilation and build
Team development support
Out of the box support for CVS
And lot more ....
Eclipse is an IDE Framework
Eclipse + JDT = Java IDE
Eclipse + CDT = C/C++ IDE
Eclipse + PHP = PHP IDE
Eclipse + JDT + CDT + PHP = Java, C/C++, PHP IDE
All these IDEs derived from Eclipse contains
First Class framework for backend Language
Language aware editor
Search, debugging etc.
Eclipse is an Open Source Project and Community
All Eclipse projects are opensource and available for free download.
Hundreds of plugins provided by commercial companies, organizations, and individuals
Eclipse conferences
Enthusiastic blogger community
http://www.planeteclipse.org
Numerous Eclipse portals, etc...
EclipseZone (http://eclipsezone.com)
Eclipse Plugin Central (http://eclipseplugincentral.com)
Others (http://eclipse.org/community)
Eclipse is a Foundation
The Eclipse Foundation
Was created to manage and direct the ongoing development of the Eclipse open source software project
Is responsible for providing IT infrastructure required by development teams
Independent notforprofit Foundation formed in 2004
Many members, including major Java, Linux and Embedded vendors
BEA, Borland, JBoss, IBM, SAP, RedHat, Novell, Monta Vista, Wind River, Mentor, ENEA, QNX
Eclipse is focused on nurturing the ecosystem to complement, and enhance the Eclipse Platform
Brief Sidetrack on History
First version released in Nov 2001.
IBM contributed the original code – worth $40 million
OTI developed dev environment for Smalltalk which was licences to IBM under the name Visual Age.
Visual Age for Java was then developed then rewritten in Java to form basis of Eclipse
Sun Microsystems wasn't happy about it.
The SWT and Jface libraries are an alternative to Sun's AWT and Swing.
Why is Eclipse interesting to LUG members?
Runs on Linux (and many other platforms)
Opensource community
UI of Eclipse looks like a Linux application when it runs on Linux; the native widgets are used.
Eclipse supports OS integration
In windows GUI is more like a windows application
Some of the the Eclipse projects deal with Linux.
Ex. Tools for mobile Linux, etc.
Eclipse is a Rich Client
An application that uses the windowing and GUI features of the operating system
Native widgets
Drag & drop
Integration with platform component model
Much, much, more…
Rich user experience
Platform independent
Component model
Integrated update mechanism and Extensible
Eclipse Rich Client Platform JDT PDE Eclipse Java IDE Equinox SWT JFace UI Update Runtime IDE UI LTK Search Debug Help Team Ant
Eclipse Rich Client Platform JDT PDE Eclipse IDE Equinox SWT JFace UI Update Runtime IDE UI LTK Search Debug Help Team Ant
Eclipse Rich Client Platform JDT PDE Eclipse Rich Client Platform Equinox SWT JFace UI Update Runtime IDE UI LTK Search Debug Help Team Ant
Summary of Eclipse TopLevel Project
Platform provides the frameworks for all other projects.
Everything in java and separated into plugins if possible.
Plugins need to be written in Java. You can use the PDE to develop them.
Full Java IDE is provided.
Plug-ins
Eclipse employs Plug-ins to provide all of its additional functionality above its rich client platform
Seperate Plugins have created support for among others, C/C++ (CDT), Python, Telnet, and database.
Plug-in architecture supports writing any desired extension to the environment.
C/C++ Development in Eclipse
Eclipse Platform is only a framework
Doesn't support C/C++ directly
CDT Plug-in is required
CDT is
Set of Open-source plug-ins
Implemented purely in Java
Eclipse + CDT = C/C++ IDE
CDT provides Standard features
C/C++ Editor
New Project Wizards
Debugging and Running Programs
Developing C/C++ Applications in Eclipse
Following section will present methodology to develop a C/C++ application in Eclipse.
First Step is to install CDT plug-in from:
Help->Software Updates
You'll now be able to see that two new projects are available: C and C++.
Creating new projects
After installing the CDT in Eclipse, navigate to File => New => Project where you will find three new types of projects available:
C ("Standard C Make Project"),
C++ ("Standard C++ Make Project"), and
"Convert to C or C++ Projects"
Choose "Standard Make C++ Project" to create source code files for your project.
In the C/C++ Projects View, right-click and select New => Simple => File.
0 comments
Post a comment