如何在 VSCode 中展开片段后获得自动智能感知?

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

我尝试更快地编写代码,但我遇到了麻烦。 我使用带有 TypeScript 的 Astro.js 和带有 Astro 扩展的 VSCode。

当我在组件标签中写入一些道具(属性)时,我会看到智能感知下拉菜单,其中包含该组件的可用道具。

First intellisense dropdown

接受后

iconDirection
我得到
iconDirection=""
有2个光标位置(我认为这是一些片段逻辑)。

After accept hint

它的决定不显示下一个智能感知建议。

之后,我退出“片段行程”,删除引号并重新写入。只有这样我才能获得具有当前可用值的第二个智能感知。

What I'm waiting in second hint

一般问题:如何才能写得更快?,即:

  1. 类型
    i
  2. 选择一些建议的道具(属性)
  3. 并立即获得带有可用值的第二个下拉列表
  4. 选择一些值

或者:

  1. 接受智能感知变体后如何关闭“”?
  2. 如何在光标放置后在代码片段中获取智能感知(自动下拉,而不是使用快捷方式!)?

我尝试在 VSCode 中设置引号以不自动放置它们,但这不会影响正在展开的智能感知工具提示。它们仍然与“”一起扩展。 我尝试通过组合键调用工具提示,但它们的调用有点不正确(一整套工具提示,而不是几个值)。 我尝试(并且仍在尝试)找到将工具提示编辑为我需要的表单的解决方案。

更新: 我通过添加此设置部分解决了问题:

"editor.snippetSuggestions": "bottom",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.quickSuggestions": {
  "other": true,
  "comments": false,
  "strings": true
},

但这迫使我使用快捷方式并且不会自动显示工具提示 =(

visual-studio-code intellisense vscode-snippets
1个回答
0
投票

据我所知,VS Code 通常不支持此功能(在接受另一个建议或插入片段后自动触发建议,而无需用户输入任何内容来触发快速建议)。维护者似乎同意这一点。请参阅此交流(引用 Johannes Rieken):

您是否期望 VS Code 在接受一项完成项后立即要求完成?

VS Code 不会这样做...自动触发建议仅在键入时发生(单词开头或触发字符)。但是,您可以使用

editor.action.triggerSuggest
作为建议的命令,以便在插入建议后“手动”重新触发建议。

在第二段中,我相信他指的是

CompletionItem
command
财产 - 即该解决方案必须是硬编码的,这必须在每个扩展 /
CompletionItemProvider
/
CompletionItem
的基础上完成。

我想如果您真的想要这样的功能,您可以提出功能请求问题票

但我个人只是建议将触发自动完成功能绑定到非常容易到达的东西上。我个人使用 alt+a(拇指 + 小指,尽管我将大写锁定重新绑定到 ctrl,因此使用默认的 ctrl/cmd+space 也同样简单)。

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