Расширение для Visual Studio Code, автоматически генерирующее JSDoc-комментарии к функциям на основе их сигнатуры.
Браев Денис Германович Группа: М3101
По команде из палитры расширение:
- Находит функцию под курсором (поиск вверх по документу).
- Разбирает её сигнатуру: имя, параметры, возвращаемый тип.
- Формирует описание функции из её имени (разбор camelCase и словари).
- Вставляет готовый JSDoc-блок над функцией.
Поддерживаются четыре формы объявления функций:
- обычная функция
function name(...) { }; - стрелочная функция
const name = (...) => { }; - функциональное выражение
const name = function(...) { }; - метод класса
name(...) { }.
Было:
function calculatePrice(base: number, discount: number): number {
return base * (1 - discount);
}Стало:
/**
* Вычисляет цену.
*
* @param {number} base
* @param {number} discount
* @returns {number}
*/
function calculatePrice(base: number, discount: number): number {
return base * (1 - discount);
}- Откройте файл
.ts,.js,.tsxили.jsx. - Поставьте курсор на строку с функцией.
- Нажмите
Ctrl+Shift+P. - Введите
JSDocи выберите команду «JSDoc Generator: JSDoc: сгенерировать комментарий».
- TypeScript: типы параметров подставляются в
@param {тип}. - JavaScript: типы не подставляются, только имена параметров.
- Опциональные параметры (
name?: string) — маркер?отбрасывается. - Параметры со значением по умолчанию (
count: number = 0) — значение отбрасывается. - Функции без параметров и без возврата — короткая заглушка
/** */. - Функции, возвращающие
void— тег@returnsне добавляется.
- Деструктурированные параметры (
{ a, b }) считаются одним параметром. - Сложные generic-типы переносятся строкой без разбора.
- Перегруженные функции не поддерживаются.
- Незнакомые слова в именах функций остаются без перевода — словари
VERBSиNOUNSлегко расширяются.
- Visual Studio Code версии 1.80 или выше.
- Node.js для сборки проекта.
git clone <адрес-репозитория>
cd jsdoc-generator
npm install
npm run compile- Откройте проект в VS Code.
- Нажмите F5 — откроется новое окно с уже загруженным расширением.
- В этом новом окне откройте любой
.ts-файл и вызовите команду.
Подробное описание архитектуры и логики работы — в файле
docs/architecture.md.
MIT