Skip to content

IntelliSense / JSDoc - function declaration not same as function expression #7586

@LittleBrainz

Description

@LittleBrainz

In the recent February release of VS Code 0.10.11 (with TypeScript 1.8.2), IntelliSense with JSDoc works as expected when referencing a function defined by a declaration, but displays limited information when referencing a function defined by an expression.

This was raised in microsoft/vscode#3842. After consideration, @egamma declared this to be a TypeScript issue.

TypeScript Version:

1.8.2 or 1.8.9

Code

/**
 * Transform a string to upper-case.
 * @param {string} value The string to be transformed.
 * @returns {string} The upper-cased string.
 */
function upper1(value) {
    return value.toUpperCase();
}


/**
 * Transform a string to upper-case.
 * @param {string} value The string to be transformed.
 * @returns {string} The upper-cased string.
 */
const upper2 = function(value) {
    return value.toUpperCase();
};


const v1 = upper1('hey');

const v2 = upper2('ho');

Expected behavior:

IntelliSense with JSDoc works as expected when referencing a function defined by a declaration:
fd completion
And hover:
fd hover

Actual behavior:

IntelliSense displays limited information when referencing a function defined by an expression:
fe completion
And hover:
fe hover

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions