gpt4 book ai didi

visual-studio-code - VSCode中的动态代码段评估

转载 作者:行者123 更新时间:2023-12-04 04:03:02 25 4
gpt4 key购买 nike

代码段是否可以在Visual Studio代码中插入动态计算的完成内容或代码段?

我想要一个用于插入各种格式的日期和时间字符串的代码段。例如,如果您键入date,则ISO格式的当前日期将自动扩展。

example of dynamic snippet expansion with dates

Sublime Text中提供了一种工具,可以通过on_query_completions类中的 EventListener 方法在python API中执行此操作。那里的实现将非常简单:

def on_query_completions(self, view, prefix, locations):
if prefix == 'date':
val = datetime.now().strftime('%Y-%m-%d')
return [(prefix, prefix, val)] if val else []

我已经阅读了 User Defined Snippets上的文档,但似乎只能插入带有制表位和用户填写的变量的预定义文本。

如果代码段API公开的功能无法做到这一点,我是否可以通过较低级别的插件/扩展API来实现类似的功能?

我确实意识到,存在一个名为 Insert Date and Time的扩展名,但这是通过命令面板而不是动态扩展名起作用的。

最佳答案

绝对不可能在代码片段中执行脚本或类似内容。

您可以改写Visual Studio Code的扩展名。该扩展必须实现 CompletionItemProvider

它的provideCompletionItems方法将返回 CompletionItems 列表。它们的filterText属性将设置为建议框中显示的文本(例如“日期”或“时间”),并且其insertText属性将设置为动态计算的值。

最后,您需要使用registerCompletionItemProvider注册完成提供程序。

在开始之前,您应该绝对了解如何创建扩展:https://code.visualstudio.com/docs/extensions/example-hello-world

关于visual-studio-code - VSCode中的动态代码段评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39413783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com