2017-05-08 86 views
1

什麼是最好的方式來確定哪些Visual Studio代碼設置產生/允許各種建議彈出(所以它可以關閉)?特別是我想消除這三個表現。配置Visual Studio代碼建議

enter image description here

+0

您是想要完全禁用Intellisense還是禁止它建議特定的內容? –

+0

@ShaunLuttin具體的東西。特別是這三件事,並理想地看到某種普遍的方式,看看有哪些建議,並根據需要禁用 –

+0

哎呀。我試圖在vscode安裝目錄中刪除'PromiseRejectionEvent'的實例,奇怪的是這並沒有阻止這個建議的發生。嗯。我想知道你爲什麼收到了投票。 –

回答

2

這些建議是從標準庫類型。支持VS Code的JavaScript和TypeScript語言功能的TypeScript服務從.d.ts文件加載這些類型,以便了解標準JavaScript庫函數的簽名,例如parseIntPromise

找出一個類型是從,請嘗試使用工作區符號搜索(CMD牛逼)未來:

enter image description here

在這種情況下,這些類型的來自標準lib.d.ts文件TypeScript自動加載。 TypeScript還會自動爲DOM api加載一個d.ts文件。

要禁用這些建議,建立一個jsconfig.json在你的項目的根目錄與內容:

{ 
    "compilerOptions": { 
     "lib": [] 
    } 
} 

這告訴打字稿不包括核心庫中的任何額外的分型的文件。您也可以選擇要包括哪些分型:

{ 
    "compilerOptions": { 
     "lib": [ 
      "es2015" 
     ] 
    } 
} 

爲有效lib選項

列表,請參閱the documentation如果您發現有此行爲的任何錯誤或對如何可以改進的任何建議,請file an issue against VS Code


更新

要發現其中一種建議是從哪裏來的,也可能是你能寫:

/** 
    * @type {AsyncResultObjectCallback} 
    */ 
var placeholer; 

,然後placeholder運行go to type definition。即使使用"lib": [],您仍可能會看到來自@types文件或節點程序包的建議,其中包括d.ts文件

+0

一如既往的感謝。你碰巧在哪裏'AsyncResultObjectCallback'來自哪裏?您提到的搜索菜單找不到它,但它似乎顯示在建議列表中。 –

+0

我已經更新了答案,以解釋您如何也可以使用'去鍵入定義'來發現類型建議來自哪裏。在你的情況,我懷疑'AsyncResultObjectCallback'來自某個庫的'd.ts'文件,但追查哪一個可能很困難 –