Как избежать знака @ внутри комментариев JSDoc в NetBeans

У меня есть простой метод в API, который позволяет искать объекты с помощью JSONPath. Поскольку его синтаксис практически незнаком младшим разработчикам, я решил привести несколько примеров в комментарии JSDoc. Однако вот в чем загвоздка: знак @ воспринимается как начало нового jsdoc-тега, поэтому описание портится.

Вопрос: как заставить NetBeans (или jsdoc в целом) игнорировать знаки @ внутри определенного куска кода? Предпочтительно внутри блока @example.

Таким образом, этот код будет отображаться без изменений во всплывающей подсказке:

$..book[?(@.price<10)] // - filter all books cheaper than 10

Также @example, <code>, <pre> - не помогают.

Объект HTML &#64; преобразуется в @ во всплывающей подсказке, но он выглядит нечитаемым в самом коде ($..book[?(&#64;.price<10)]) и работает только в основном тексте jsdoc...


person c69    schedule 19.04.2012    source источник
comment
@ignore может работать.   -  person Paul Sweatte    schedule 24.08.2012


Ответы (2)


Это довольно старый вопрос, но у меня была та же проблема, за исключением VSCode, и я подумал, что поделюсь возможным решением.

Что в итоге сработало, так это перемещение @returns ниже примера и, к сожалению, без использования @example, например:

/**
 * some description
 * 
 * For example:
 * ```js
 * $..book[?(@.price<10)] // - filter all books cheaper than 10
 * ```
 * @returns {*} whatever you're returning
 */

Это не идеально, но работает для всплывающей подсказки VSCode; Я не уверен, что это будет работать с NetBeans.

person Scott Rudiger    schedule 13.04.2018
comment
Если вы скачаете Netbeans и убедитесь, что он работает - я с радостью приму ответ ???? p.s.: у меня больше нет Netbeans на моих машинах, поэтому я не могу проверить это сам. - person c69; 16.04.2018

Не уверен, что это будет работать для всех сред, но при использовании VSCode в файле машинописного текста (.ts) я смог использовать строки шаблона для получения красиво отображаемого примера кода.

/**
 * @description
 * This function totally does something.
 *
 * @example```
import { SomeThing } from '@mycompany/my-cool-library';

DoSomething(SomeThing)```
 * 
 * @returns string
 */

Отображает всплывающую подсказку следующим образом:

escaping_the_@_sign

person Glorifundel    schedule 19.04.2019
comment
Это также не работает для меня, но сделало строку строкой шаблона, поэтому использовало `вместо ' вокруг строки с @ в ней - person ndonohoe; 28.05.2020