Intelligent Assistance in CodeLab 2.20
This all started with me just wanting to add support for Ctrl
+J
in CodeLab. I had to refactor the auto completion code a bit in order to add that feature.
After I got it working, I realized the refactoring I had done would make it much easier to add support for Non-Member (Types, variables, keywords, ect.) auto completion.
I also added support for Highlighting word usage. To ensure matches, it compares spelling, casing, and word type (Type, Property, Field, Method, variable).
Bonus feature: I’ve also added Snippets for the following: if
, else
, switch
, while
, for
, foreach
, using
.
Place the text caret on the right side of the word and press the Tab
key (or press Tab
twice when in the IntelliBox).
Unofficial Changelog:
– More robust detection of variables (can deal with multiple spaces between Type and variable name. Won’t parse variables in code comments)
– Added ‘Get’ & ‘Set’ to the IntelliBox tooltips for properties
– The IntelliBox can be invoked by pressing Ctrl+J
– The IntelliBox will no longer erroneous display when working within code comments
– Highlight word under the caret. Must match spelling, casing, and word type (Type, variable, property, method, ect.)
– Smarter commenting of code blocks (even when lines have varying indentations, the ‘//’ will vertically align. Empty lines are ignored)
– IntelliBox now works with array Types (ex: int[], string[]) members
– IntelliBox for Type constructors (doesn’t actually do any auto completion, but it will show the different constructors available)
– Added Snippets for a few keywords
– Fields can now be further differentiated as Constants or Enum Items.
– LOTS of code cleanup, bug fixes, and refactoring
The update is available from BoltBait on the official paint.net forum.