As previously reported a little while ago, the outline tree has recently been able to recognize JS classes created by defining members on a prototype. That functionality has just been extended in a couple of ways: first, defining an entire prototype at once is now handled correctly (e.g. adding all fields to a prototype at once):
Next, Object.create() is parsed properly; all property descriptors passed in as the second argument to the method are properly added to the desired prototype:
Further, as the JS parser is smart enough to figure this stuff out now, you can quickly navigate to these newly-identified class members via Ctrl+Shift+O. Pretty nice!
Only a couple of new things might get added before the next release – code completion for built-in objects such as Math, Object, JSON, etc. Beyond that, I’d like to add some form of language support for Angular and possibly jQuery, but we’ll see. As a large part of the JS language support was written by someone other than myself, who hasn’t been active recently, it might take a little bit of time for me to figure out the best way to add such features in (the JS language support is currently designed to support code completion for server-side scripting as well as browser-based JS work, so things aren’t as simple as they might seem).