如何在不破坏格式的情况下以JSDoc编写包含JavaScript注释的模板文字?

时间:2019-04-11 06:11:17

标签: javascript typescript escaping jsdoc

我想使用带有@example的JSDoc来记录javascript函数,但是它破坏了JSDoc。

我想要的代码示例如下(我想要的版本):

stripJSDoc(`/**
* Hello
*/

function Hello();

/**
* World
*/

function World();`)

// => ['Hello', 'World']

我将在上方插入下方。

/**
 * Strip JSDoc text from given string.
 *
 * @example
 *
 * // I will insert above example code here.
 * 
 */

function stripJSDoc();

现在,我已经插入了,JSDoc格式已损坏。

/**
 * Strip JSDoc text from given string.
 *
 * @example
 *
 * stripJSDoc(`/**
 * * Hello
 * */
 * 
 * function Hello();
 * 
 * /**
 * * World
 * */
 * 
 * function World();`)
 * 
 * // => ['Hello', 'World']
 * 
 */

function stripJSDoc();

如您所见,格式现在已损坏,我可以转义一些字符,但是VSCode提示将被损坏。

转义码:

/**
 * Strip JSDoc text from given string.
 *
 * @example
 *
 * stripJSDoc(`/**
 * * Hello
 * *\/
 * 
 * function Hello();
 * 
 * /**
 * * World
 * *\/
 * 
 * function World();`)
 * 
 * // => ['Hello', 'World']
 * 
 */

function stripJSDoc();

现在VSCode没有显示正确的文档:

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您是正确的,您必须在jsdocs示例块中转义*/。这是必需的,因为JavaScript不支持嵌套的多行注释

悬停消息中的前导星星是known bug,您无法解决。它计划在TypeScript 3.5中修复,直到5月份VS Code才会使用。错误修复后,您可以按照these instructions升级VSCode中的TypeScript版本。 (TypeScript支持VS Code的JavaScript支持)