Visual Studio代码intellisense提示

时间:2016-01-11 17:40:07

标签: visual-studio-code

我已开始在El Capitan上使用Visual Studio Code进行javascript开发,到目前为止我真的非常喜欢它,特别是代码提示,但我遇到了一些我不理解的行为并希望有人可以解释

我正在开发一个Backbone项目,如果我在一个对象文字并添加一个新方法,我会得到一个我不理解并且必须打击的弹出/代码提示'逃'离开。它经常出现很烦人。弹出窗口看起来像一个功能签名但我不明白为什么它在那里。它看起来像:

select *
  from table_name
  pivot ( max(id) id
        , max(assignmt) assignmt
    FOR assignmt IN ('S' S,
                     'P' P));

+---------+-------+------------+--------+------------+
| ZIP_ CD | S_ID  | S_ASSIGNMT.| P_ID   | P_ASSIGNMT.|
+---------+-------+------------+--------+------------+
| 1812    | 777   | S          | 111    | P          |
| 1451    | 878   | S          | NULL   | NULL       |
+---------+-------+------------+--------+------------+

有人可以解释这意味着什么以及如何摆脱它?

提前致谢。

enter image description here

2 个答案:

答案 0 :(得分:1)

这称为IntelliSense。它为您提供有关您要调用的功能的更多信息。

在您的示例中:1/2(newNode:Node,offSet:number)void

1/2 - 这表示您尝试呼叫的功能有2次重载(您可以单击箭头或使用箭头键向上/箭头键向下浏览所有重载)

newNode:Node - newNode是第一个参数的名称,Node是预期的类

offSet:number - offSet是第二个参数的名称,number是预期的类型

void - 表示返回类型,在这种情况下,不返回。

IntelliSense是静态类型/预编译语言(如C#或Java)的优势之一。我认为Visual Studio Code的一个重要特性是,它为您提供了一种JavaScript(如此)的语言。 (动态,在运行时编译)。 Visual Studio Code通过使用.d.ts和JSDocs等TypeScript文件实现了这一点(我相信)。

关于停用它...我查看了settings.json文件,发现只有2个关于IntelliSense的命令:

// Always include all words from the current document. (default: false)
"javascript.suggest.alwaysAllWords": false,

// Complete functions with their parameter signature. (default: false)
"javascript.suggest.useCodeSnippetsOnMethodSuggest": false,

您可以在代码上访问此文件 - >偏好 - >用户设置。 您还可以在Visual Studio Codes Homepage.

上看到引用的文件

两者都达不到你想要的。 这让我觉得您无法停用它。(参见编辑)您可以查找一个打字文件夹并从项目中删除/ exclude

编辑:经过进一步研究,我相信我找到了您正在寻找的设置:Editing Evolved.

您想要设置:

editor.quickSuggestions: false,
editor.suggestOnTriggerCharacters: false
设置.json文件中的

答案 1 :(得分:0)

我被自己咬了,非常讨厌的bug。您可以使用以下设置禁用它:

"editor.parameterHints": false

这当然会禁用所有提示,即使是有用的提示。对我来说这是一个可以接受的权衡。