Vscode: Is it possible to listen to events of an inputbox?

Created on 21 Nov 2015  路  15Comments  路  Source: microsoft/vscode

If I accept input using

window.showInputBox();

Is there any way I can listen to key change events? I am writing an extension and I want to accept an input from the user and I want to autocomplete when the user hits tab like most terminals. If this is not possible inside the inputbox is there any other control I can use to achieve this?

VIM api feature-request quick-pick

Most helpful comment

Assign this to me as I'm interested in it and I need it.

All 15 comments

@mithun-daa currently not, but it seems you want a lot more, also the ability to alter the input after the call to showInputBox.

Perhaps hidden in #3579 was the request for an extension to have this functionality as a part of the command structure (and not particular to an input box). In that issue, it is described that an extension author may want to have command 'options' show up as they type a command name. For instance, given commands today that are hard-coded as:

team create bug
team create task
team create work item

The functionality I'm looking for would be for the command palette to show "team create" by default and when "team create" was either completed (or the only command option left based on matching) would the values "bug", "task" and "work item" would appear. This allows extension developers to provide "dynamic" commands.

In addition (or maybe alternatively), it would be welcome for a command to take a variable number of arguments. The command that gets called could then take action based on what was passed in to the command. In the example above, the command could be "team create", then one of the 3 options would appear, and the user could type even more values (that would be passed to the command that was selected).

I thought i'd give it a go at writing an extension to improve fast file searching (see https://github.com/17twenty/fzf-go ) but without a way to get events from the inputbox it's pretty useless.
The part I don't get is that the functionality already exists as a number of the existing dialogs use the concept.

I want to be able to take an input, shell out and get results based on that input, and then as the input changes do more processing etc..

|                                           |
| > Enter file parts here                   |
|                                           |
+-------------------------------------------+
| Downloads/lol_frontend.png                |
| Downloads/nicetrace.go                    |
| Downloads/BuildingSoftwareProductsInAWeeke|
| Downloads/TheOpportunityAnalysisCanvas.pdf|
| Downloads/9781785286421-PRACTICAL_LINUX_SE|
| Downloads/google-apps-security-and-complia|
+-------------------------------------------+

any progress of this ?

Being able to have any input in the QuickPickList would be also needed for my extension.

Pretty please? Vim users will love you forever.

Assign this to me as I'm interested in it and I need it.

This would also open up for navigating file directories like the C-x C-f of EMACS

_bump_ @rebornix was interested in doing it, and it would clear the way for #23169

+1

+1

+1 - I would like to focus on input box so I can paste text, anyone know if this is possible yet?

/cc @chrmarti who I believe is working on new API to do this

The new API allows for listening for value changes on the input field and dynamically update the list of items in a "QuickPick": https://github.com/Microsoft/vscode/issues/53327 with an example: https://github.com/Microsoft/vscode-extension-samples/blob/master/quickinput-sample/src/quickOpen.ts

Was this page helpful?
0 / 5 - 0 ratings