Eclipse basic, basic tutorial

Eclipse is a multi-platform development environment. Its extreme flexibility makes it possible to use it in a lot of environments, from the Java development to the Web development.

The VI battle

Butterflies, XKCD

Everyone has his/her own way of working. Usually this is because that person has learnt the hard and difficult keyboard macros related to one small program, like vi and emacs, which once learnt can never be forgotten. Eventually it will be faster for that person to use vi and emacs for everything rather than use a purpose-built tool for what they are doing, since there will be more of a learning overhead.

But, outside of particle physics, programming of all types is widly done within an IDE. Why?

  • Because it is more standard,
  • less platform dependent,
  • less language-specific,
  • easier, simpler,
  • less to remember.

Often a company, sich as Google and Microsoft insists that development teams use the same IDE, sometimes a propriatory version.

What is an IDE?

The holy grail

  • *IDE*="Integrated Development Environment"
  • A Single point of call for managing code, (multiple) code editors, compilation, debug tools, software repositories.
  • A Very very helpful editor with auto-completion, mouse-over descriptive features.
  • A time-saving tool for developers.

All IDEs are slightly different. Each offers usually the ability to work with a single programming language and a set of pre-defined package structures, so this does not get you around the fact that you need to learn a different syntax for your editor in each language.

Probably you will have come across and IDE such as Borland, Visual Studio, the Visual basic interface inside Excel, for example.

What is Eclipse?

An Eclipse

Eclipse is much more than an IDE.

  • Eclipse is a collection of IDEs for almost every existing programming language.
    • C++
    • Java
    • python
    • Ruby
    • and more ...
  • Eclipse is a document preparation tool for types like:
    • latex
    • html
    • xml
    • and more ...
  • Eclipse presents a single static look-and-feel to each mode of operation.
  • Eclipse brings together your coding team with several tools such as:
    • SVN/CVS/GIT repository exploring and full interface
    • interfaces to bug-tracking systems (but not savannah, yet)
  • Eclipse is cross-platform
    • Since it uses Java, Eclipse can be installed on almost any client machine.

Eclipse has everything you could ever want as a coder.

The basic concepts of Eclipse

A latex perspective

1 Workspace

The workspace is a concept within eclipse of the top directory under which you are doing your development.

There can be references to items outside your workspace, but these are "external projects" by convention.

For example, your cmtuser area in LHCb is a workspace.

You can have multiple workspaces for completely different groups of projects, you can create temporary workspaces in temporary locations, you can switch workspaces as/when you like.

2 Projects

Projects are defined beneath the workspace. A project is a single contained entity which has some set rule about its compilation.

A project can involve multiple different languages, so long as there is a single build command.

For example, a LHCb internal note will be a project. The directory for DaVinci_v28r3 under your cmtuser area would be a different project.

3 Plugins

Eclipse can do almost anything. Each distinct application of Eclipse will be packaged within a given plugin.

For example the plugin for compiling latex documents is called Texlipse, and the plugin for browsing SVN is calle Subversion.

4 Perspectives

Perspectives are the dashboard or heads-up-display of Eclipse, it gathers together directory explorers, open text documents, shells, console output, and any other useful tools depending on the application within eclipse.

The most useful perspectives are the SVN perspective, the C++ perspective and the Texlipse perspective.

As you can tell, there is roughly one perspective per plugin.

Here is an example of how to change the perspective to the SVN perspective.

SVN perspective1

SVN perspective2

Further external tutorials

Before you try and use eclipse, it's a good idea to understand a bit about it, get familiar with the most basic operations, such as opening different perspectives, looking through the Gaudi/LHCb svn repositories, etc.

Next!


-- RobLambert - 10-Nov-2011

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng LatexPerspective.png r1 manage 294.3 K 2011-11-10 - 16:12 RobLambert Latex perspective example
PNGpng SVN1.png r1 manage 301.7 K 2011-11-10 - 17:18 RobLambert SVN perspective
PNGpng SVN2.png r1 manage 323.6 K 2011-11-10 - 17:19 RobLambert SVN perspective 2
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2012-07-12 - MarcoClemencic
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback