如何让 VS Code 在自动补全函数时添加括号?

问题描述 投票:0回答:13

是否可以调整 VS 代码,以便当函数自动完成时,它是用

()
而不是简单的函数名称编写的?

例如,当我输入

str
并自动完成
strlen
时,我想得到
strlen()
,它节省了很多时间。

function autocomplete visual-studio-code parentheses
13个回答
65
投票

可以通过勾选

javascript.suggest.completeFunctionCalls
属性来解决


18
投票

对于使用 Python 扩展 的 Python,相关设置是:

python.autocomplete.addBrackets

根据下面的评论,如果您使用Pylance,设置为:

python.analysis.completeFunctionParens


12
投票

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

"C_Cpp.autocompleteAddParentheses": true

8
投票

一些语言扩展允许使用

(
作为所谓的 “提交字符” 来触发完成项的插入。这至少适用于 TypeScript、JavaScript 和 Haxe。

如果

"editor.autoClosingBrackets"
没有被禁用,这也将自动插入结束
)
.

如果它不适用于特定的语言扩展,也许考虑在有问题的存储库上打开一个功能请求。


6
投票

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

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

"typescript.suggest.completeFunctionCalls": true


5
投票

对于Python,使用Pylance时,在settings.json中添加:

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

4
投票

在 settings.json 文件中 设置

"python.autoComplete.addBrackets": true
.

set


4
投票

你可以去

File->Preferences->Settings

输入
python

然后点击

Edit in settings.json

之后写下
"python.analysis.completeFunctionParens": true,
并重新加载VS Code


1
投票

有可能。您可以创建自己的片段,它将显示在智能感知中: 用户定义的片段。您还可以使用 snippet-creator 扩展来获得舒适感。


0
投票

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


0
投票

在最新版本的 vs code 打开设置 > 搜索“括号” > 滚动查找

python>解析:完整函数Parens

打勾 然后你就可以开始了。


0
投票

目前没有适用于所有语言的通用设置。 VS Code 将此留给各个语言服务来实现(考虑到其可扩展性模型,这实际上是非常合理的)。

  • 对于 JavaScript,使用

    "javascript.suggest.completeFunctionCalls": true
    。这将导致函数以其参数签名完成。

  • 类似地,对于 TypeScript,使用

    "typescript.suggest.completeFunctionCalls": true
    .

  • 对于PHP Intelephense 扩展

    intelephense.completion.triggerParameterHints
    设置的默认值为
    true

  • 对于Python扩展,使用

    "python.analysis.completeFunctionParens": true

  • 对于使用 vscode-cpptools 扩展的 C 和 C++,请使用

    "C_Cpp.autocompleteAddParentheses": true

  • 对于 Rust Analyzer 扩展,使用具有值

    rust-analyzer.completion.callable.snippets
    "fill_arguments"
    "add_parenthesis"
    设置。
    "fill_arguments"
    添加括号 and 预填充参数。

  • 我粗略地搜索了Java 扩展 的设置,但没有找到任何看起来相关的东西(也许我只是错过了)。我还尝试在谷歌上搜索功能请求问题票(“

    github vscode java issues autocomplete function parenthesis
    ”),但粗略地浏览了顶部搜索结果后没有找到任何东西。

  • 对于C#,见方法intellisense不加括号 #1453,已关闭以推迟 Roslyn 问题IDE:Intellisense:插入完整方法调用 #12363

  • Dart 扩展 只是默认执行此操作。

松散相关:这个(相当过时和封闭的)VS 代码问题单:Autocomplete should insert parenthesis for methods #1021.

有一些扩展我不确定它们的行为(现在懒得尝试):RGo


0
投票

在新版本的 VS Code 中,没有我们可以选中/取消选中的 UI 元素来为 javascript 或 typescript 启用此功能,但正如另一个 Stackoverflow 解决方案所建议的那样,您需要编辑系统中的 settings.json 文件并添加以下内容行到您的 JSON 对象

  1. F1 或“Ctrl + Shift + P”调出命令面板。
  2. 选择 Settings.json 进行用户设置。
  3. 将以下内容粘贴到文件末尾并保存。

"typescript.suggest.completeFunctionCalls": true,
"javascript.suggest.completeFunctionCalls": true,

最初发布于: VSCode 自动完成功能*和方法*括号(js/ts)

© www.soinside.com 2019 - 2024. All rights reserved.