This document provides an agenda for an Advanced Eclipse Workshop on June 30, 2010. It introduces the three presenters and provides an overview of topics to be covered, including Eclipse basics, shortcuts, templates, validators, PHP Tool Integration, Subversion, debugging with Xdebug, external tools, and building documentation. Hands-on exercises are included for preferences, debugging configuration, and debugging sessions. Contact information and licensing details are also provided.
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
1. Bastian Feder, Papaya Software GmbH
Nils Langner, Gruner + Jahr
Sven Kiera, TWT Interactive GmbH
Advanced Eclipse Workshop
IPC spring edition 2010
30.06.2010
2. Who are we?
Bastian Feder Nils Langner
Application developer Qualitätsmanagement
PHP since 2001 PHP since 2002
Open Source addict Founder
www.phphatesme.com
Sven Kiera
Web developer
PHP and Java since 1998
Author of PHP Tool
Integration (PTI)
5. Start the engines
Set current language
System -> Systemverwaltung -> Sprachunterstützung
Open
Anwendungen -> Zubehör -> Terminal
#> cd IPC09_Workshop ¶
#> sudo chown -R ubuntu:ubuntu workspace ¶
#> ./bin/eclipse/eclipse ¶
6. Eclipse - Basics
Workspace
The workspace is the physical location (file path) you are working in. You can
choose the workspace during startup of eclipse or via the menu (File-> Switch
Workspace-> Others).
All your projects, sources files, images and other artifacts will be stored and saved
in your workspace.
Perspective
A perspective is a visual container for a set of views and editors.
Views
Viewport providing specific information and/or functionality
Working Sets
Group elements for display in views or for operations on a set of elements.
8. Eclipse - Shortcuts
Shortcut Description
CTRL-ALT-Cursor Copy the current line
CTRL-Left/Right Jump to previous/next courser position
CTRL-Up/Down Move marked text
SHIFT-ALT-A Toggle block edit and normal mode
STRG-SHIFT-T Open the „Open Type“ box
STRG-SHIFT-C Comment the marked text using „//“
ALT-ENTER Maximize Editor
To edit the shortscuts Window -> Preferences -> General -> Keys
10. File Templates
Creating a prefilled file
when using the „new PHP
File“ dialog
Window -> Preferences -> PHP -> Editor ->
Tempalates
11. Code Templates
Eases typing of complex code structures
(e.g. foreach statement)
Activation key: <CTRL> + space
12.
13. Validators
Validators are plugins that
can analyse files and set
markers (e.g. Warnings,
Errors)
They can be switched off!
Validators can be run manual or on build
Most native PDT validators are syntax
checkers
It is possible to add validators
written in PHP
Window -> Preferences -> Validation
14. PTI & Dynamic Language Toolkit
Eclipse Plugins für Eclipse PDT 2.x und Zend Studio 7.x
Ziel: Direkte Nutzung von PHP Tools in Eclipse PDT
Aktuelle Unterstützung:
PHP_CodeSniffer
PHPDepend
PHPUnit
PHP Copy / Paste Detector
PEAR Verwaltung inkl. aktueller PEAR Bibliothek
Erweitert Eclipse DLTK External Checker um direkte
Nutzung von PHP Skripten
Open Source (EPL)
15. Creating a Validator
The dynamic language validator will run
a php script and interprets the outfit by
matching against an regular expression
We are going to build the incredible
echo-instead-of-print Validator
Window -> Preferences -> Dynamic
Languages -> Validators -> Add
26. Debugging techniques (III)
• Multi-User Debugging
– Only possible using Remote
Debugging
– DBGp Proxy necessary
27. Xdebug
Debugging for PHP by Derick Rethans
(http://www.xdebug.org)
Provides profiling, tracing, code coverage,
…
Cross platform
28. Obtaining Xdebug
PECL
Download from xdebug.org
Installation support at
http://xdebug.org/find-binary.php
Package system of Linux distribution
29. Xdebug configuration
Add to php.ini (e.g. on Mac)
[XDebug]
;; Only Zend OR (!) XDebug
zend_extension="/usr/lib/php/php5/extensions/no-debug-non-zts-20060613/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1 ;if debugging on remote server, put client IP here
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
;; profiler
xdebug.profiler_enable=Off
xdebug.profiler_enable_trigger=On
xdebug.profiler_output_dir=/data_lokal/temp/xdebug/profiling
30. Xdebug configuration (II)
.htaccess - file
#-------------------------------#
# xDebug section #
#-------------------------------#
php_value xdebug.remote_enable 1
php_value xdebug.remote_handler bdgp
php_value xdebug.remote_host 127.0.0.1 ;if debugging on remote server, put client IP here
;; php_value xdebug.allowed_clients <client IP address>
php_value xdebug.remote_port 9000
# profiler
php_value xdebug.profiler_enable_trigger 1
php_value xdebug.profiler_enable 0
php_value xdebug.profiler_output_dir "/data_lokal/temp/xdebug/profiling"
46. License
This set of slides and the source code
included in the download package is
licensed under the
Creative Commons Attribution-
Noncommercial-Share Alike 2.0
Generic License
http://creativecommons.org/licenses/by-nc-sa/2.0/deed