2017-05-08 91 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'文件,但追查哪一个可能很困难 –