Microsoft/TypeScript

Intellisense behaviour of functions and parameters

Open

#3,520 opened on 2015年6月16日

GitHub で見る
 (4 comments) (0 reactions) (0 assignees)TypeScript (48,455 stars) (6,726 forks)batch import
Experience EnhancementHelp WantedSuggestionVS Code Tracked

説明

Some odd/unintuitive Intellisense behaviour:

/**
 * Function description A
 * @param name Parameter description A
 */
function uniqueName(name: string): string {
}

export const Uid = {
    /**
     * Function description B
     * @param name Parameter description B
     */
    uniqueName
};

The intellisense description for the 'Uid.uniqueName' property is now description B, however the intellisense for the parameter is description A. There isn't anything overriding here - the description of the function is always taken from the export, and the parameter description is always taken from the function definition. As such, I need to do the following to get full intellisense support for this pattern:

/**
 * @param name Parameter description
 */
function uniqueName(name: string): string {
}

export const Uid = {
    /**
     * Function description
     */
    uniqueName
};

i.e. function definitions in one place, parameter definitions in another place. I know I can work around this by restructuring the code, but it still feels like I should be able to achieve it in the above format.

コントリビューターガイド