Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

VA Code Completion

743 views

Published on

ESUG 2012, Ghent

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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.

×