簡體   English   中英

VS Code JavaScript 使用 ESLint 自動完成

[英]VS Code JavaScript Autocomplete with ESLint

這是我的代碼,它按預期工作。

function Afunction(v) {
    this.v = v;
}
Afunction.prototype.vlog = function () { console.log(this.v); };

function extend(props) {
    for (const key in props) {
        const prop = props[key];
        Afunction.prototype[key] = prop;
    }
}

extend({
    someOther: function () { console.log("someOther"); },
    someMore: function () { console.log("someMore"); }
});

var obj = new Afunction();
obj.vlog();
obj.someOther();
obj.someMore();

和 output

some value
someOther
someMore

但在我的 VS Code 中僅顯示自動完成建議中的vlog someOthersomeOther不在那里顯示。

在此處輸入圖像描述

我在 jQuery 中了解了擴展jQuery 我嘗試以我的方式實現它。 但是我面臨這個自動完成問題,我的 object 中有很多 function 屬性,所以如果自動完成工作會很棒。 否則我必須像這樣寫所有屬性 function Afunction.prototype.someOther

如果有任何方法可以制作地圖/界面文件,我看到ESLint文件夾中有很多.ts文件,所以我曾經在那里添加了所有道具,它向我展示了建議。

ESLint 靜態分析您的代碼以快速發現問題。 VS Code 中的自動完成是由 VSCode智能感知完成的,這不能運行靜態工作的代碼。

您可以遵循以下文檔: https://docs.microsoft.com/en-us/visualstudio/ide/javascript-intellisense?view=vs-2022

VSCode 支持的 JSdoc: https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html

你可以像下面這樣使用@typedef

/**
 * @typedef  {Object} SpecialType - you doc here
 * @property {Function} someOther - you doc here
 * @property {Function} someMore  - you doc here
 */

/* All your code above place here */

/** @type {SpecialType} */
var obj = new Afunction();
obj.someOther();
obj.someMore();

在此處輸入圖像描述

注意: VSCode 目前不支持@memberof否則我們也可以使用它。 https://jsdoc.app/tags-memberof.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM