6

假设我在编辑器中选择了一些文本。我想定义我自己的 Python 函数或脚本:

  1. 将所选文本作为字符串作为输入。
  2. 对其进行转换并返回一个新字符串,该字符串在编辑器中替换所选文本

此外,理想情况下,我希望将这些函数或脚本注册为commandID我可以自己定义的 VSCode 命令(带有特定的 s),并注册到 VSCode 中的命令面板。通过这样做,我可以将它们绑定到keybindings.json具有特定快捷方式和 when 子句的快捷方式。


VSCode 中是否有任何内置功能可以做到这一点?如果没有,我可以遵循哪些步骤来做到这一点?

4

3 回答 3

1

这在技术上是可行的,但我不知道目前支持这个想法的任何扩展。您可能需要编写扩展来执行此操作。

于 2019-11-29T19:42:23.460 回答
1

免责声明:我们是 vscode-texty 扩展的作者

根据OP 的建议,我们增强了vscode-texty以添加此支持。

现在它支持以下功能。

  • 使用临时脚本选择一些文本和进程选择
  • 使用临时脚本在选择中选择一些文本和处理行
  • 自定义脚本可以引用lodash、numeric和moment库,方便文本操作
  • 将脚本保存为自定义命令并使用快速选择选项调用该命令
  • 键绑定该自定义命令以快速执行

一个问题(由于 vscode api 的限制)是自定义命令不会出现在标准命令面板中。因此,要通过 UI 调用,您首先调用 command Texty: Process selections using custom command,它将所有可用命令显示为快速选择选项,执行选择。

在此处输入图像描述

于 2019-12-22T18:41:16.420 回答
0

脚本框允许您编写一个 js 函数来修改您选择的文本,但不能注册为命令

于 2021-04-13T12:26:27.923 回答