我尝试更快地编写代码,但我遇到了麻烦。 我使用带有 TypeScript 的 Astro.js 和带有 Astro 扩展的 VSCode。
当我在组件标签中写入一些道具(属性)时,我会看到智能感知下拉菜单,其中包含该组件的可用道具。
接受后
iconDirection
我得到iconDirection=""
有2个光标位置(我认为这是一些片段逻辑)。
它的决定不显示下一个智能感知建议。
之后,我退出“片段行程”,删除引号并重新写入。只有这样我才能获得具有当前可用值的第二个智能感知。
一般问题:如何才能写得更快?,即:
i
或者:
我尝试在 VSCode 中设置引号以不自动放置它们,但这不会影响正在展开的智能感知工具提示。它们仍然与“”一起扩展。 我尝试通过组合键调用工具提示,但它们的调用有点不正确(一整套工具提示,而不是几个值)。 我尝试(并且仍在尝试)找到将工具提示编辑为我需要的表单的解决方案。
更新: 我通过添加此设置部分解决了问题:
"editor.snippetSuggestions": "bottom",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true
},
但这迫使我使用快捷方式并且不会自动显示工具提示 =(
据我所知,VS Code 通常不支持此功能(在接受另一个建议或插入片段后自动触发建议,而无需用户输入任何内容来触发快速建议)。维护者似乎同意这一点。请参阅此交流(引用 Johannes Rieken):
您是否期望 VS Code 在接受一项完成项后立即要求完成?
VS Code 不会这样做...自动触发建议仅在键入时发生(单词开头或触发字符)。但是,您可以使用
作为建议的命令,以便在插入建议后“手动”重新触发建议。editor.action.triggerSuggest
CompletionItem
的 command
财产 - 即该解决方案必须是硬编码的,这必须在每个扩展 / CompletionItemProvider
/ CompletionItem
的基础上完成。
我想如果您真的想要这样的功能,您可以提出功能请求问题票。
但我个人只是建议将触发自动完成功能绑定到非常容易到达的东西上。我个人使用 alt+a(拇指 + 小指,尽管我将大写锁定重新绑定到 ctrl,因此使用默认的 ctrl/cmd+space 也同样简单)。