我已开始在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 |
+---------+-------+------------+--------+------------+
有人可以解释这意味着什么以及如何摆脱它?
提前致谢。
答案 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
这当然会禁用所有提示,即使是有用的提示。对我来说这是一个可以接受的权衡。