代码块中的jsdoc @字符

时间:2018-03-20 20:53:52

标签: angular typescript visual-studio-code documentation jsdoc

我试图为这样的模块函数编写文档:

/**
 * Usage:
 *
 * ```
 * @NgModule({
 *      imports: [
 *          BrowserModule,
 *          ...,
 *          ThisModule.forRoot({
 *              name: 'Name',
 *              version: '1.0',
 *      ],
 * }),
 * ```
 * 
 * @param config Service configuration parameters
 */
public static forRoot(config: SVConfig) {

问题在于@NgModule。我试过了:

* ```
* @NgModule

似乎html权限在代码之外运行良好(```),但不在代码块内部(它做了一些奇怪的事情,比如用粗体和新行创建NgModule

还尝试\@{@literal @}\u0064@@但没有成功。 我发现最友好的是(@)NgModule

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

遗憾的是,@example块内的jsDoc不支持特殊符号。它们仅在内联代码块内工作,例如:

```js
@Module
```

这将导致正确的@Module输出。

@example不同,您不能在所有内容之后放置一个内联代码块,因为它是内联的,这意味着它将位于您的@returns节之前的某个位置。尴尬,我知道。

当您想在代码示例中使用多行注释等内容时,也是如此。

```js
a.setParams(/* parameters here */);
```

输出:a.setParams(/* parameters here */);

答案 1 :(得分:0)

我很幸运在Unicode空间中使用了替代@符号:U+FF20 (@)。它使文档看起来正确,但不幸的是,如果有人复制/粘贴代码块,该文档将无法正常工作。自从至少2012年以来,这似乎是一个悬而未决的问题,因此我没有屏住呼吸寻求更好的解决方案。