• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
DWX 2013 Nuremberg
 

DWX 2013 Nuremberg

on

  • 685 views

Eclipse Tips, Tricks and Tools. Tools every developer should know.

Eclipse Tips, Tricks and Tools. Tools every developer should know.

Statistics

Views

Total Views
685
Views on SlideShare
685
Embed Views
0

Actions

Likes
2
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    DWX 2013 Nuremberg DWX 2013 Nuremberg Presentation Transcript

    • Tips,  Tricks  &  Tools every  Eclipse  User  should  know
    • • Project  Lead  of  Eclipse  Code  Recommenders • Eclipse  Commi7er  since  2010 • Plug-­‐in  Developer  for  10  years  (Eclipse  2.1) • Eclipse  4  and  OSGI  Trainer • Co-­‐Lead  of  Java  User  Group  Darmstadt • Speaker  at  JUGs,  EclipseCon,  JavaOne... • PhD  in  Computer  Science • CEO  of  Codetrails • Passion  to  improve  developers  day-­‐to-­‐day  work   with  intelligent  and  prac8cal  tools  -­‐  mostly  using   Data  Mining  on  Big  (So?ware  Engineering)  Data.                      @MarcelBruch                        +MarcelBruch About  me
    • supported  by About  us The  Knowledge  Transfer  Company
    • Disclaimer  ;-­‐) Not  all  tools  I’m  talking  about   today  are  free  or  open  source. I  assume  all  a7endees  are   familiar  with  (i)  refactorings  in   Eclipse,  (ii)  generaXng   ge7ers/se7er,  hashCode,   equals++  with  Eclipse,  and  (iii)   you  daily  use  keyboard   shortcuts. No  refactorings  and  (almost)  no  shortcuts  today!
    • If  you  don’t  know  your  keyboard  shortcuts...
    • No  Mouse!  #dcr13
    • ⌘3
    • Quick  Access  –  ⌘3  
    • WHAT’S  NEW  IN  ECLIPSE  KEPLER?
    • Eclipse  Kepler  by  Numbers (c)  Holger  Voormann  <eclipse@voormann.de>
    • New  and  Noteworthy • Pla[orm  performance  improvements • Pla[orm  builds  with  Eclipse  CBI • IniXal  GTK+  3  support • Eclipse  Orion  3.0 • Eclipse  Jubula  support  for  tesXng  mobile  devices • Install  remedia.on • EGit  3.0 • Mylyn  Reviews • JDT  (usability)  improvements
    • REMEDIATION  SUPPORT  IN  ECLIPSE
    • Installing  new  features  can  be  painful...
    • Not  (that  much)  with  Eclipse’s  new   Install  RemediaJon  Feature!
    • UPDATING  FROM  ECLIPSE  3.X  -­‐-­‐>  4.X OMG,  I  don’t  want  to  reinstall  all  my  plugins  again...
    • Install  soQware  items  from  exisJng  installaJon...
    • Select  which  features  to  import...
    • Want  to  prepare  a  company  wide  install  file?
    • Export  soQware  items  w/  update  sites
    • EGIT/JGIT  3.0  
    • Git  in  Eclipse  -­‐  EGit  3.0
    • Rename  DetecJon
    • Reset  Repository  to  Expression
    • Clean  Repository
    • Commit  and  Push  (at  once)
    • GERRIT  &  MYLYN  REVIEWS Four  eyes  can  see  more  than  two...
    • Gerrit  at  Eclipse
    • Reviewing  Changes  with  Gerrit
    • Gerrit  Workflow Gerrit Hudson Git 3.  Build2.  Pull 4.  Verified 6.  Push 7.  Pull 1.  Push 5.  Approve
    • HOW  IS  MYLYN  REVIEWS  GOING  TO  CHANGE  THIS?
    • 1.  Push  and  Pull  to  Gerrit  from  your  IDE   Feature  in  EGit
    • 2.  Review  changes  in  your  IDE
    • 3.  Submit  the  approved  change
    • 4.  Get  noJficaJons  about  new  change-­‐sets
    • Mylyn  Builds
    • WHEN  EDITING  SOURCE  CODE The  simple  basics...
    • Smart  Semicolons  &  Braces
    • Matching  Enclosing  Brackets
    • “Faster”  IntelliJ-­‐like  Code  CompleJon .abcdefghijklmnopqrstuvwxyz
    • Favorites  for  import static
    • Type  Filters
    • WHEN  DEBUGGING  IN  ECLIPSE The  hidden  and  rarely  used  jewels...
    • Step  Filtering
    • Debug  Details  Formamer
    • Debug  Logical  Structure
    • Extending  Logical  Structures
    • Extending  Logical  Structures
    • Heap  Walking
    • Eclipse  Memory  Analyzer  (MAT)
    • Drop  to  Frame
    • JRebel  Feature  Comparison  Matrix
    • Supported  Frameworks
    • Get  it  from  Eclipse  Marketplace
    • Test  Coverage  with  EclEmma
    • Test  Coverage  with  EclEmma
    • CODE  COMPLETIONS  IN  ECLIPSE Smarter  than  I  expected...
    • Into  Code-­‐Comple`on  Wonderland
    • ⌘1
    • Quick  Fix  –  ⌘1
    • ⌘2
    • Quick  Assist  –  ⌘2
    • ⌃  Space
    • Content  Assist  –  ⌃Space
    • ⌃  .
    • SUBWORDS  COMPLETION “BecauseCamelCaseMatching****s!”
    • Subwords  CompleJon
    • Install  Subwords  from  Eclipse  Marketplace
    • So  many  wonderful  engines?
    • "[In  Eclipse]  sort  by  relevance  is  synonymous  to  alphabe`cal.   In  other  words  it  sucks...  but  in  a  predictably  alphabe`cal   way."
    • @Override protected Control createDialogArea(final Composite parent) { Composite container = (Composite) super.createDialogArea(parent); swtTextWidget = new Text(container, SWT.BORDER); swtTextWidget.| return container; } What  Emmanuel  gets What  does  Emmanuel  get  when  triggering  code  comple`on  here?
    • All  164  proposals  sorted  by  “Relevance”
    • What  Emanuel  wants...
    • Learning  Constructor  CompleJons
    •  Codetrails  Hippie  CompleJon
    • And  win  10  Raspberry  PIs!
    • How  about  IntelliJ  and  Netbeans?  Tweet! Netbeans: @geertjanw  Crowdsourced  Hippie  Comple`on  is  very   cool!  When  can  I  have  it  for  Netbeans? IntelliJ: @andrey_cheptsov  Crowdsourced  Hippie  Comple`on   is  very  cool!  When  can  I  have  it  in  IntelliJ?
    •  It’s  `me  to  share!
    • CAN  WE  GET  IT  EVEN  SMARTER?
    • What  Emmanuel  wants... …  the  most  likely  ones.  
    • Recap
    • Call  CompleJon
    • Code  Snippet  CompleJon
    • Overrides  CompleJon
    • Chain  CompleJon
    • How  it  works 90 Code  Recommenders   Knowledge  Base ❷ Mine  data, extract  code  pamerns, create  recommendaJon  models ❸ deliver  mined knowledge  to  Eclipse  users ❶   Analyze  source  code
    • “And  what  about  my  APIs?”
    • Demo:  Mining  the  JavaFX  APIs
    • Get  the  Developer  Preview www. .com/download
    • How  about  IntelliJ  and  Netbeans?  Tweet! Netbeans: @geertjanw  Code  Recommenders  is  very  cool!  When   can  I  have  it  for  Netbeans? IntelliJ: @andrey_cheptsov  Code  Recommenders  is  very  cool!   When  can  I  have  it  in  IntelliJ?
    • NULL  ANNOTATIONS  IN  ECLIPSE   Gerng  rid  of  NullPointerExcepJons...
    • PrevenJng  NullPointerExcepJons
    • Enabling  Null  Analysis
    • Overriding  Null  Analysis  AnnotaJons
    • GENERAL  TOOLS  FOR  ECLIPSE  4
    • PIMP  YOUR  ECLIPSE Eclipse  4  UI  was  torn  into  shreds.  Is  there  any  easy  way  to  get  a  nice  UI?
    • Eclipse  4  Chrome  Theme  
    • Eclipse  4  Chrome  Theme
    • Get  it  from  Eclipse  Marketplace
    • Eclipse  Color  Theme
    • Eclipse  Color  Theme
    • Eclipse  Color  Theme
    • SHARING  PREFERENCES  IN  ENTERPRISES Same  serngs  everywhere...
    • Any  default  value  can  be  overridden  by  a  properJes  file  specified   on  startup  as  follows: Preferences -- launch -- eclipse.exe -plugincustomization /path/to/plugin_customization.ini -- plugin_customization.ini -- org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=. org.eclipse.jdt.ui/content_assist_autoactivation_delay=5
    • Workspace  Mechanic
    • Workspace  Mechanic  -­‐  DetecJng  Issues
    • Workspace  Mechanic  -­‐  Fix  it!
    • Configuring  Workspace  Mechanic
    • Configuring  Workspace  Mechanic
    • Configuring  Workspace  Mechanic
    • ECLIPSE  AND  (REMOTE)  SHELLS
    • Easy  Shell
    • EasyShell
    • Remote  Systems  Explorer
    • Virtual  Machine  Serngs Take  with  a  grain  of  salt!   Every  VM  and  Eclipse  installaXon  is  different. -­‐Xincgc -­‐Xss1m -­‐Duser.name=FirstName  LastName -­‐Dfile.encoding=UTF-­‐8 -­‐Dosgi.requiredJavaVersion=1.7 -­‐Declipse.p2.unsignedPolicy=allow -­‐Declipse.p2.MD5Check=false -­‐Xms512m -­‐Xmx2g -­‐XX:NewSize=16m -­‐XX:PermSize=120m -­‐XX:MaxPermSize=300m -­‐XX:MaxPermHeapExpansion=20m -­‐XX:+UseConcMarkSweepGC -­‐XX:CMSInitiatingOccupancyFraction=70 -­‐XX:+UseCMSInitiatingOccupancyOnly -­‐XX:+UseParNewGC -­‐XX:+CMSConcurrentMTEnabled -­‐XX:ConcGCThreads=2 -­‐XX:ParallelGCThreads=2 -­‐XX:+CMSIncrementalPacing -­‐XX:CMSIncrementalDutyCycleMin=0 -­‐XX:CMSIncrementalDutyCycle=5 -­‐XX:GCTimeRatio=49 -­‐XX:MaxGCPauseMillis=20 -­‐XX:GCPauseIntervalMillis=1000 -­‐XX:+UseCMSCompactAtFullCollection -­‐XX:+CMSClassUnloadingEnabled -­‐XX:+DoEscapeAnalysis -­‐XX:+UseCompressedOops -­‐XX:+AggressiveOpts
    • BUILD  YOUR  OWN  ECLIPSE  -­‐  ECLIPSE  CBI
    • All  you  need #> git clone -b master --recursive git://git.eclipse.org/ gitroot/platform/eclipse.platform.releng.aggregator.git #> mvn clean verify
    • supported  by The  Knowledge  Transfer  Company
    • THANKS