Microsoft/TypeScript

Intellisense behaviour of functions and parameters

Open

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

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

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (平均マージ 6d 17h) (30d で 9 merged PRs)

説明

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.

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