Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debugAdapter console intellisense Apis #8114

Closed
nojvek opened this issue Jun 24, 2016 · 9 comments
Closed

debugAdapter console intellisense Apis #8114

nojvek opened this issue Jun 24, 2016 · 9 comments
Assignees
Labels
debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality
Milestone

Comments

@nojvek
Copy link
Contributor

nojvek commented Jun 24, 2016

The current VSCode debugging experience feel subpar to that of chrome devtools or F12 console.

Proposal:

debugAdapter sends getConsoleCompletionsAtPosition(text: string, pos: number): ConsoleCompletions[] as user is typing.

debugAdapter returns back a list of completions
interface ConsoleCompletions {
text: string;
pos: number; // where to apply this completion
.. other info
}

I'm not sure of the exact completions structure but happy to have input from other adapter folks.

@nojvek nojvek changed the title debugAdapter console intellisense Apis and multline input debugAdapter console intellisense Apis Jun 24, 2016
@weinand weinand added debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality labels Jun 25, 2016
@weinand weinand self-assigned this Jun 25, 2016
@weinand weinand added this to the Backlog milestone Jun 25, 2016
@weinand
Copy link
Contributor

weinand commented Jun 25, 2016

@nojvek I don't think that the debugAdapter is involved here. What is needed is access to the language model in the debug console (and all other places where language specific code is edited). The intellisense experience in the debug console should be the same as in the editor (and the editor doesn't use the debugAdapter for this).

@nojvek
Copy link
Contributor Author

nojvek commented Jun 25, 2016

The language service might not always know what is possible at runtime. e.g
values of an array or objects created a runtime. The way this is done in JS
consoles is walking the prototype tree and properties.

On Sat, Jun 25, 2016 at 1:36 AM, Andre Weinand notifications@github.com
wrote:

@nojvek https://github.com/nojvek I don't think that the debugAdapter
is involved here. What is needed is access to the language model in the
debug console (and all other places where language specific code is
edited). The intellisense experience in the debug console should be the
same as in the editor (and the editor doesn't use the debugAdapter for
this).


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8114 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AA-JVIdiGP7pRMOE-VbWhEwzKhvW_FwXks5qPOh9gaJpZM4I-AAT
.

@roblourens
Copy link
Member

I agree with @nojvek, intellisense will be far more useful if the debug adapter is involved. For JS targets in particular, I think users will expect an F12/chrome devtools-like experience where intellisense shows properties that are actually available.

It would be interesting if the two data sources were mashed up, giving you available properties along with language service data when available, if that's feasible.

@weinand
Copy link
Contributor

weinand commented Jul 21, 2016

Yes, we are aiming for a combination of debug adapter and language service and we are planning to start with the debug adapter.

Here is the corresponding debug protocol feature request: microsoft/vscode-debugadapter-node#48

@nojvek
Copy link
Contributor Author

nojvek commented Jul 21, 2016

This is awesome. Thanks Andre

When criteria do you think will determine it going into stable mode rather
than experimental mode?

On Thursday, July 21, 2016, Andre Weinand notifications@github.com wrote:

Yes, we are aiming for a combination of debug adapter and language service
and we are planning to start with the debug adapter.

Here is the corresponding debug protocol feature request:
microsoft/vscode-debugadapter-node#48
microsoft/vscode-debugadapter-node#48


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8114 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-JVMMUuejR79MmS_M9b2BVsBqzTYtwks5qXzrOgaJpZM4I-AAT
.

@weinand
Copy link
Contributor

weinand commented Jul 21, 2016

@nojvek as soon as we have implemented the frontend (UI) and at least one backend (node-debug) for it. Then we have a better understanding of the fine details of the protocol. The experimental API that I've added is just to get things started...

@isidorn
Copy link
Contributor

isidorn commented Aug 24, 2016

@weinand Each suggestion needs to have a type and currently this is missing in the debug protocol

@weinand
Copy link
Contributor

weinand commented Aug 24, 2016

@isidorn ok, I'll add this. For now just hardcode 'property'

@weinand
Copy link
Contributor

weinand commented Aug 25, 2016

@isidorn I've added a type attribute to the CompletionItem type and node-debug now returns a 'function' type.

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

4 participants