OmarElabd / ObjectExporter

Object Exporter lets you export out an object while debugging in Visual Studio, the object can be serialized in either C#, JSON or XML.
GNU General Public License v3.0
264 stars 82 forks source link

Intellisense for exporting Custom Expressions #2

Open OmarElabd opened 9 years ago

OmarElabd commented 9 years ago

Intellisense similar to what is available in the immediate or watch window.

OmarElabd commented 8 years ago

From extendvs office hours:

"Generally, the way it works is: 1 - You create an editor window inside your custom control 2 - Once the debugger is stopped at a breakpoint, you query for the current document + line number + language from the debugger 3 - You ask the language service for a IVsImmediateStatementCompletion2 interface, and then tell that interface to install the statement completion service to your editor control. 4 - At last you pass the document, line number info to the completion service so that it gets the completion context for your editor control."

"For step 2, you can look at Debugger objects in DTE (specifically Debugger.CurrentStackFrame -> StackFrame2 object where you should be able to get the debugger's current document context when it's in break mode). IVsImmediateCompletion2 is all you need for step 3 and you can find the documentation for the interface on msdn. You should NOT need to implement intellisense on your custom editor. IVsImmediateCompletion2->InstallStatementCompletion will do that for you. I should also mention that one thing that takes quite a while to get right is the keyboard handling inside the control (i.e. you want the TAB to commit when statement completion is open but have it switch focus when it is not). "