如何在自动完成函数时,让VS Code添加括号?

59

是否有可能调整VS Code,使得当函数自动完成时,它会被写成()而不是仅仅是函数名?

例如,当我输入str并自动完成为strlen时,我希望得到的是strlen(),这可以节省相当多的时间。

13个回答

71

可以通过勾选 javascript.suggest.completeFunctionCalls 属性来解决该问题。


似乎不适用于方法 - 已经打开了一个相关问题:https://dev59.com/Ub_qa4cB1Zd3GeqPSe1D - ultraGentle

22

对于使用Python 扩展程序的 Python,相关设置如下:

python.autocomplete.addBrackets

根据下方评论所述,如果您使用Pylance,则设置如下:

python.analysis.completeFunctionParens


7
如果您正在使用Pylance,相关设置是python.analysis.completeFunctionParens,如此链接所述。 - previous_developer
@previous_developer 做得非常好,非常感谢! - Sanmeet

14

对于C和C++,请使用此设置:

"C_Cpp.autocompleteAddParentheses": true

8

一些语言扩展允许使用 ( 作为所谓的“提交字符”来触发补全项的插入。这在至少 TypeScript、JavaScript 和 Haxe 中有效。

如果没有禁用 "editor.autoClosingBrackets",这也将自动插入关闭的 )

如果它对于特定的语言扩展不起作用,则可以考虑在相关存储库上开启功能请求。


谢谢,它在JS上运行得很好!现在我需要找到一种方法使其与PHP一起工作。 - Rokas Lakštauskas
1
这需要由语言扩展来处理。也许你可以在 PHP 扩展上开一个功能请求 / 检查他们是否会接受具有此功能的拉取请求。 - Gama11
在切换上述选项后,Flutter 也无法正常工作!每次我都不得不手动添加括号 :D - SSG
也适用于Python! - sos

8

就像JavaScript中@snr的解决方案一样。

对于TypeScript,您可以尝试以下方法:

"typescript.suggest.completeFunctionCalls": true


很棒!我尝试了JavaScript,但是不得不使用TypeScript。谢谢。 - vdegenne

5

针对Python,使用Pylance时,在settings.json中添加以下内容:

"[python]": {
    "python.analysis.completeFunctionParens": true,
},

5
在settings.json文件中,设置"python.autoComplete.addBrackets": true设置 "python.autoComplete.addBrackets": true

1
请考虑包含代码本身而不是仅仅截图,因为前者更易访问,同时允许文本搜索和复制。 - kelvin
5
我正在使用Pylance,发现我不需要"python.autocomplete.addBrackets": true,但对我有效的是"python.analysis.completeFunctionParens": true - Cam

4

您可以前往 文件->首选项->设置
输入 pythonenter image description here

然后点击 在 settings.json 中编辑
接着写下 "python.analysis.completeFunctionParens": true, 并重新加载 VS Code


1

0

如果您正在使用Flutter,请尝试重置VS Code的所有设置,因为它默认会添加括号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接