#javascript #intellisense #babeljs #code-completion
#javascript #intellisense #babeljs #завершение кода
Вопрос:
Я работаю над библиотекой, в которой я пишу код es6
и переношу его в es5
. При попытке протестировать выходной es5
код IDE не может дать мне подсказки об аргументах функции. Кажется, он только знает, что я экспортировал функцию с именем foo
. Я пробовал это на обоих vs code
и Webstorm
. Я видел, что многие другие библиотеки, которые я использовал, дают подсказки о параметрах функции. Я экспортировал функции, предоставляемые моей библиотекой, в файл записи моей библиотеки — index.js
. Файл ввода выглядит следующим образом:
import {
foo,
} from "./utils";
export {
foo
};
Результат выглядит следующим образом:
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "foo", {
enumerable: true,
get: function get() {
return _calculate.default;
}
});
var _calculate = _interopRequireDefault(require("./calculate"));
function _interopRequireDefault(obj) { return obj amp;amp; obj.__esModule ? obj : { default: obj }; }
Я использую babel для переноса следующим образом:
$ babel -d lib src/
Что я могу сделать, чтобы транспилированный код предоставлял пользователю подсказки по параметрам?
Ответ №1:
Если вы используете NetBeans IDE, вы можете использовать L_CTRL ПРОБЕЛ.. Это откроет то, что доступно в библиотеках, которые вы используете. Допустим, я использую THREE.js ; Я могу ввести:
ТРИ.B L_CTRL SPACE
и вернул бы это
Также, если вы хотите предоставить документацию о функции, вы можете использовать комментарии JavaDoc, подобные этому:
/**
* Author : prisoner849
* https://jsfiddle.net/prisoner849/8hqy99jj/
* @param {type} geometry
* @param {type} independent
* @returns {GridBoxGeometry.newGeometry|THREE.BoxBufferGeometry}
*/
function GridBoxGeometry(geometry, independent) {
....
}