VSCode在自动完成函数时添加括号

Posted

技术标签:

【中文标题】VSCode在自动完成函数时添加括号【英文标题】:VSCode add parentheses when autocompleting functions 【发布时间】:2019-08-27 05:44:01 【问题描述】:

是否可以调整 VSCode 以便在函数自动完成时使用() 而不是简单的函数名称编写?

例如,当我输入str 并自动填充到strlen 时,我想得到strlen(),这样可以节省相当多的时间。

【问题讨论】:

【参考方案1】:

在设置json中,

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

【讨论】:

【参考方案2】:

你可以去File->Preferences->Settings 输入python

然后点击Edit in settings.json 之后写下"python.analysis.completeFunctionParens": true, 并重新加载 VS Code

【讨论】:

【参考方案3】:

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

对于 TypeScript,你可以试试这个:

"typescript.suggest.completeFunctionCalls": true

【讨论】:

【参考方案4】:

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

    "C_Cpp.autocompleteAddParentheses": true

【讨论】:

【参考方案5】:

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

【讨论】:

请考虑包含代码本身而不是(仅)屏幕截图,因为前者更易于访问并且允许文本搜索和复制。 我正在使用 Pylance,发现我不需要 "python.autocomplete.addBrackets": true 但对我有用的是 "python.analysis.completeFunctionParens": true【参考方案6】:

如果你在 Flutter 中工作,请尝试重置 VS Code 的所有设置,因为它会默认添加括号。

【讨论】:

【参考方案7】:

对于 Python,当使用 Python extension 时,相关设置为:

python.autocomplete.addBrackets

【讨论】:

如果您使用 Pylance,相关设置为 python.analysis.completeFunctionParens,如 here 所述 @previous_developer 非常感谢!【参考方案8】:

可以通过勾选javascript.suggest.completeFunctionCalls属性来解决。 运行代码 sn-p 来查看 gif。

<div style='position:relative; padding-bottom:calc(40.34% + 44px)'><iframe src='https://gfycat.com/ifr/CleverActualHornbill' frameborder='0' scrolling='no' width='100%' height='100%' style='position:absolute;top:0;left:0;' allowfullscreen></iframe></div>

【讨论】:

似乎不适用于方法——打开了一个相关问题:***.com/questions/66676976/…【参考方案9】:

一些语言扩展允许使用( 作为所谓的"commit character" 来触发完成项的插入。这至少适用于 TypeScript、JavaScript 和 Haxe。

如果"editor.autoClosingBrackets" 未被禁用,这也将自动插入关闭)

如果它不适用于特定的语言扩展,或许可以考虑在相关存储库上打开功能请求。

【讨论】:

谢谢,它在 JS 上效果很好!现在我需要找到一种方法让它与 php 一起工作。 这必须由语言扩展处理。也许你在 PHP 扩展上打开一个功能请求/检查他们是否会接受这个功能的拉取请求。 在切换上述选项后,这也不适用于 Flutter!每次我必须手动添加括号时:D - SG【参考方案10】:

这是可能的。您可以创建自己的 sn-ps,它将在智能感知中显示: User Defined snippets。您也可以使用snippet-creator 扩展名来获得舒适感。

【讨论】:

以上是关于VSCode在自动完成函数时添加括号的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 自动将括号添加到函数名称

vscode定义空函数时,为啥要在后面加;号

WebStorm、React 和 JSX 花括号自动完成

如何设置webstorm以自动将分号添加到javascript函数,方法等

在 上禁用自动完成。 (点)在 VSCode

VS Code中的JSX组件(函数)自动完成?