VA Code Completion

629 views

Published on

ESUG 2012, Ghent

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
629
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

VA Code Completion

  1. 1. VA Smalltalk Code Completion Seth Berman Instantiations, Inc.Copyright © 2012 Instantiations, Inc.
  2. 2. Code Completion Introduction •  Problem: Our ability to recall names is limited •  Solution: Use the computer’s calculating capabilities to predict names as they are being entered in the text editorCopyright © 2012 Instantiations, Inc.
  3. 3. Code Completion Release History •  V8.5 (August 2011) •  First Release •  Requirements derived from community discussion •  Additional requirements based on IDE experiences •  Lots of Research •  V8.5.1 (March 2012) •  Architectural improvements •  New search capabilities •  Emphasis on configurability •  V8.5.2 (Upcoming Release) •  Added code completion to Inspectors •  Small UI enhancementsCopyright © 2012 Instantiations, Inc.
  4. 4. Code Completion What’s New? •  Redesigned Configuration UI •  Supporting Inspectors, Debuggers, Browsers and Workspaces •  Theme & Match Highlighting •  CamelCase Matching •  Live-Filtering •  Block Argument Detection •  Prereq Chain Visibility •  Drag-N-Drop Support •  New Completion TypesCopyright © 2012 Instantiations, Inc.
  5. 5. Code Completion - Contexts •  Code completion is available in 4 contexts •  Browsers •  Inspectors •  Debuggers •  Workspaces •  Context information is used to help resolve types •  Contexts help define what classes/methods are visibleCopyright © 2012 Instantiations, Inc.
  6. 6. Code Completion - Suggestions •  Variables •  Local •  Instance/Class/Class Instance •  Pseudo •  Pool •  Global •  Classes •  Methods •  Symbols/Atoms •  Pool Dictionaries •  Character LiteralsCopyright © 2012 Instantiations, Inc.
  7. 7. Code Completion – Work Flow On activation, have @150ms to… 1.  Prepare the text from the cursor to the top of source 2.  Create parse tree 3.  Identify context 4.  Perform static analysis 5.  Identify candidate completions (match algorithms) 6.  Draw suggestions in the popupCopyright © 2012 Instantiations, Inc.
  8. 8. Code Completion Demo DEMO TIMECopyright © 2012 Instantiations, Inc.

×