Skip to content

Unhelpful "Did you forget to include 'void' in your type argument to 'Promise'" in JS file #46570

Description

TS Template added by Matt Bierner (@mjbvz)

TypeScript Version: 4.5.0-dev.20211028

Search Terms

  • javascript
  • checkjs
  • strict

See #46570 (comment) for more minimal repro


In minimal-hello-world extension sample, using this code:

// The module 'vscode' contains the VS Code extensibility API// Import the module and reference it with the alias vscode in your code belowconstvscode=require('vscode');// this method is called when your extension is activated// your extension is activated the very first time the command is executed/** * @param {vscode.ExtensionContext} context */functionactivate(context){// Use the console to output diagnostic information (console.log) and errors (console.error)// This line of code will only be executed once when your extension is activatedconsole.log('Congratulations, your extension "helloworld-minimal-sample" is now active!');// The command has been defined in the package.json file// Now provide the implementation of the command with registerCommand// The commandId parameter must match the command field in package.jsonletdisposable=vscode.commands.registerCommand('extension.helloWorld',async()=>{// The code you place here will be executed every time your command is executedconstquickpick=vscode.window.createQuickPick();quickpick.items=[{label: 'step 1'}];void(awaitnewPromise(resolve=>{quickpick.onDidAccept(()=>{console.log(quickpick.selectedItems.map(i=>i.label).join(', '));if(quickpick.selectedItems.length===0)return;if(quickpick.selectedItems[0].label==='step 1'){quickpick.value='';quickpick.canSelectMany=true;quickpick.items=[{label: 'a'},{label: 'b'},{label: 'c'}];// If I uncomment this it will fix the bug// quickpick.selectedItems = [];}else{resolve();}});quickpick.show();}));quickpick.hide();});context.subscriptions.push(disposable);}// this method is called when your extension is deactivatedfunctiondeactivate(){}// eslint-disable-next-line no-undefmodule.exports={
activate,
deactivate
}

I see this error:
image

This isn't really something we should be warning about in JS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: Error MessagesThe issue relates to error messagingGood First IssueWell scoped, documented and has the green lightHelp WantedYou can do this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions