EiffelStudio the Eiffel IDE

Similar documents
Einführung in die Programmierung Introduction to Programming

Using Eclipse for Java. Using Eclipse for Java 1 / 1

At the shell prompt, enter idlde

1.00 Lecture 2. What s an IDE?

New IDE Application Profiler Enhancements

NetBeans Tutorial. For Introduction to Java Programming By Y. Daniel Liang. This tutorial applies to NetBeans 6, 7, or a higher version.

Object-Oriented Software Construction

How to Archive s in Outlook 2007

Introduction to Computation and Problem Solving

NetBeans IDE Field Guide

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS

Supplement: Visual C++ Debugging

Code::Blocks Student Manual

Noopur Gupta Eclipse JDT/UI Committer IBM India

TxEIS on Internet Explorer 8

Module 4: Working with MPI

Code::Blocks Student Manual

RoboHelp HTML Training

Module Road Map. 7. Version Control with Subversion Introduction Terminology

Prerequisites for Eclipse

Creating a new CDC policy using the Database Administration Console

Introduction to Excel

The Road to CCSv4. Status Update

SECTION 2: HW3 Setup.

BASICS OF THE RENESAS SYNERGY PLATFORM

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, April 2017

Customizing DAZ Studio

Supplement H.1: JBuilder X Tutorial. For Introduction to Java Programming, 5E By Y. Daniel Liang

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server

Private/Public Saved Searches

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, March 2017

Supplement II.B(1): JBuilder X Tutorial. For Introduction to Java Programming By Y. Daniel Liang

Remote Desktop How to guide

Resource 2 Embedded computer and development environment

Visual Studio.NET. Although it is possible to program.net using only the command OVERVIEW OF VISUAL STUDIO.NET

GETTING STARTED WITH ECLIPSE Caitrin Armstrong

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, July 2017

Lab Android Development Environment

BASIC NAVIGATION & VIEWS...

This cheat sheet is aimed at people with some experience in eclipse but who may not be aware of many of its features.

Getting Started with Solar Eclipse. Release 8.6.5

News in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018

Part I. Integrated Development Environment. Chapter 2: The Solution Explorer, Toolbox, and Properties. Chapter 3: Options and Customizations

VERSION JANUARY 19, 2015 TEST STUDIO QUICK-START GUIDE STANDALONE & VISUAL STUDIO PLUG-IN TELERIK A PROGRESS COMPANY

A Quick Tour GETTING STARTED WHAT S IN THIS CHAPTER?

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

Excel 2013 for Beginners

IBM ILOG OPL IDE Reference

SECTION 2: Loop Reasoning & HW3 Setup

Chapter 4 Working with Arena

Eclipse Quick Reference Windows Hosted

Microsoft Office Outlook 2007: Intermediate Course 01 Customizing Outlook

SECTION 2: Loop Reasoning & HW3 Setup

Using Microsoft Word. Paragraph Formatting. Displaying Hidden Characters

Schedule Builder Agency User Guide

Programming Logic - Beginning

LionMail. for Administrative Assistants

10 Underused Office Features

Playlist Builder 1.5 Manual

Unveiling Zend Studio 8.0

Getting Started (1.8.7) 9/2/2009

Studio2012.aspx

ekaizen Lessons Table of Contents 1. ebook Basics 1 2. Create a new ebook Make Changes to the ebook Populate the ebook 41

Laboratory Assignment #4 Debugging in Eclipse CDT 1

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Copyright 2018 MakeUseOf. All Rights Reserved.

1. Right-click the worksheet tab you want to rename. The worksheet menu appears. 2. Select Rename.

Where Did My Files Go? How to find your files using Windows 10

Blitz! (Outlook 2011 for Mac)

TECHNICAL RESOURCE Remote Banner Control

In the fourth unit you will learn how to upload and add images and PDF files.

Intermediate Excel 2003

2 Getting Started. Getting Started (v1.8.6) 3/5/2007

Word Processing vs. Desktop Publishing

Forms/Distribution Acrobat X Professional. Using the Forms Wizard

ORGANIZING YOUR ARTWORK WITH LAYERS

Blender for Trainz > Table of Contents > Blender Tools > 3D Editor > Edit Mode > Edge Intersect VTX Last updated: October 16, 2015

How to create and send a new . NOTE: See different guide for repurposing an existing

SAP Debug Tips Switching between the Classic Debugger and New Debugger

Netherworks Studios. Start DAZ Studio 3 and simply navigate to "NWS Scripts" in your content folder. Run the "Activate Folder Favorites" script.

Adobe Illustrator. Quick Start Guide

Using Eclipse and the

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, March 2017

Getting Started Guide

EW The Source Browser might fail to start data collection properly in large projects until the Source Browser window is opened manually.

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, November 2017

Tips and Tricks for Highly Productive Programming in LabVIEW

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1

What s NetBeans? Like Eclipse:

AndeSight. User Manual. Working with AndESLive. Version 1.0

SAMPLE - NOT LICENSED

LabView instrumentoinnissa, 55492, 3op Labview in instrumentation

Blackboard for Faculty: Grade Center (631) In this document:

Unit 1: Working With Tables

Introduction to Excel

Creating Dragon Templates and Commands

The Basics of Visual Studio Code

Outlook Clean Up Guide

MadCap Software. Index Guide. Flare 2017 r2

Transcription:

EiffelStudio the Eiffel IDE Christian Estler ETH Zurich christian.estler@inf.ethz.ch Distributed and Outsourced Software Engineering - ETH course, Fall 2012 1

EiffelStudio an Overview EiffelStudio (ES) is an Integrated Development Environment to write Eiffel programs Developed by Eiffel Software First version ca. 1990 Current version is 7.1 Available on SourceForge We use ES in the course Many things are similar to IDEs like Eclipse or VisualStudio; some things are different or tricky that s what we ll talk about here 2

EiffelStudio an Overview We will talk about Clean compile (what is it, why is it needed?) Code Browsing Code Views EiffelStudio s navigation using Pick & Drop Debugging in EiffelStudio Auto-completion and Code-Templates Refactoring tools 3

Clean Compile Clean compile means compiling the project from scratch Necessary e.g. after adding or removing libraries Deletes previously generated intermediate compile information (the EIFGENs folder) Rule of thumb: if your program shows strange behavior, do a clean compile If you remember only one thing from this talk, it should be clean compile more: http://docs.eiffel.com/book/eiffelstudio/clean-compile 4

Code Browsing ES has many features for browsing code; you ll often use the following: Group & Feature View Class tool to determine Ancestors Descendants Clients Feature tool to determine Flat view Callers Callees Navigation through Pick & Drop (ES way of doing Drag & Drop) 5

Code Browsing the Basics Group View Feature View Tip 1: arrange Views such that both are visible all the time. You ll use them a lot. Tip 2: Pick & Drop also works with these Views. Alternative to double-click. 6

Code Browsing the Class Tool Eiffel makes have use of (multiple) inheritance Class tool provides all information on the class level 7

Code Browsing the Feature Tool Feature tool provides all information of a feature Tip: Pick & Drop also works within the Class and Feature tools (e.g. pick something inside the Feature tool and drop it right there) 8

Code Browsing the Diagram Tool Diagram tool can be used to a high-level overview of the entire system (more than Class and Feature tool) Target Icon Pick & Drop a cluster on the diagram target icon 9

Code Browsing Different Code Views You can inspect code in different views Editable views Basic text view Non-editable views Clickable view Flat view Contract View Interface view Default editor view, used for writing code Reformatted representation of the code; more clickable elements (e.g. comments) than in basic text view Shows the flattened version of a class (e.g. all inherited features); this is the view used by the debugger Public interface of the class, incl. contracts Same as contract view but for the flat-version of the class. more: http://docs.eiffel.com/book/eiffelstudio/class-views 10

Code Browsing the Adressbar Adressbar can be used to quickly open classes or features If you only remember part of a class or feature name, use * in the search, e.g. Search class: TTT_* all classes starting with TTT Search feature: * all features of the current class 11

Tip for Pick & Drop Many ES tools work with Pick & Drop Tip: try to drop elements on various kinds of icons in ES Pick & Drop feels slow if you go through the right-click context menu Make right-click the default for Pick & Drop: Tools -> Preferences -> General.Pick and drop 12

Tip for Pick & Drop Option 1: Shift + right-click: Pick Ctrl + right-click: Open element in a new tab in editor Option 2: Make right-click the default for Pick & Drop: Tools -> Preferences -> General.Pick and drop 13

Compiler Compiling a system (F7) Melting: Generates bytecode, not C code. Quick to generate but slowest execution. Use during development. Freezing: Generates C code for the whole system. Compilation takes longer but system executes faster. Can still be debugged. Use during development. Finalizing: Creates an executable production version. Finalization performs extensive time and space optimizations. Cannot be debugged. 14

Running a System Run a system by clicking run (F5) Run stepwise Switches to execution mode Shows more debugging related tools Shows controls for system execution (stop, pause, etc.) 15

Debugger Debugging works for melted and frozen systems (not for finalized ones) Breakpoints can only be added using a flat view One way: switch editor view to flat view Quicker: Pick & Drop feature into Feature tool 16

Debugger To start the debugger simply hit Run (no distinction like in Eclipse) Usual debugger tools are available during debugging Call Stack Expressions Switching between threads Usual debugger controls are available One step at a time (F10) Step into a routine value (F11) Step out of a routine (Shift + F11) 17

Debugger Often useful: conditional breakpoints Execution will only be stop under certain condition 18

Tip for debugging a client/server system Goal: run server and client on same machine Rather than using command line, you can do: Run the server Detach the server instance ES returns to edit mode Run the client 19

Auto-completion ES has auto-completion Auto-completion knows (only) about compiled code If it does not work (as you would expect), try the following Try to compile the system Close and reopen the file in the editor Do a clean compile 20

Auto-completion * can also be used in auto-completion Example: Find all calls containing set Use my_target_name.*set 21

Auto-completion Word vs. Class We have two types of completion 1. Word-completion (Ctrl + Space) 2. Class name completion (Ctrl + Shift + Space) 22

Code Templates ES comes with a number of code templates write a keyword hit enter subsequent keywords are filled in automatically Examples do.. end from... until loop end across as loop end Special case across loop + hitting space rather than enter across as all end 23

Refactoring Tools EiffelStudio only supports two refactorings: Renaming Pull Up routine Works only on compiling system rename class re rename feature 24

Other useful stuff Take a look at menu Edit Edit Advanced Make use of Line numbers Pretty print Commenting Learn some of keyboard shortcuts 25

Things we ignore for the moment Project settings Shared with all other teams Thus you should not modify them Profiler: http://docs.eiffel.com/book/eiffelstudio/profiling Record Replay: http://docs.eiffel.com/book/eiffelstudio/execution-recordand-replay 26

Further Resources Official EiffelSoftware websites: http://www.eiffel.com/ http://dev.eiffel.com/ http://docs.eiffel.com/ Have a look in the DOSE wiki Make use of the Eiffel Mailing list: http://tech.groups.yahoo.com/group/eiffel_software/ Search the archive for answers Feel free to post any kind of (Eiffel-related) question 27

THE END 28