片段是否可以在Visual Studio代碼中插入動態計算的完成或片段?VSCode中的動態片段評估
我想插入各種格式的日期和時間字符串的代碼片段。例如,如果輸入date
,則ISO格式的當前日期將自動擴展。
中有崇高的文本設施通過在EventListener
類on_query_completions
方法來做到這一點蟒蛇的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的文件,但現在看來,用戶在填寫一次只能插入一個製表站和變量預先定義的文本
。如果通過snippet API公開的功能無法實現,我是否可以通過更低級別的插件/擴展API實現類似的功能?
我知道有一個名爲Insert Date and Time的現有擴展,但是這是通過命令托盤而不是動態擴展工作的。
謝謝,我指出了正確的方向。對於這種用例,使用CompletionItem來實現並不像ST那麼簡單,但它確實提供了更多的靈活性。 –
@ chris-scott,我正在尋找如何做同樣的事情(出於同樣的原因 - 不同格式的時間戳)。既然聽起來像你有它的工作,關心分享你的擴展或把它放在VS代碼市場? :) – Dullroar
@Dullroar,是的,我打算。我沒有在開發模式之外測試它,這就是爲什麼我還沒有發佈它,但我會上傳到github,以便您可以看看。 –