如何在多行编辑的末尾添加不同的数字?

时间:2019-01-28 19:39:23

标签: visual-studio-code editor sublimetext3 keyboard-shortcuts

找不到解决方法,也许甚至不可能?

对于我来说,为了测试if语句/用户交互的流程,请在我们的代码中临时添加40行console.log('trigger-fired-1');

但是,要区分它们是希望每个数字都以不同的数字结尾,因此在这种情况下,数字1到40如下:

enter image description here

在屏幕记录的gif中,要复制我想要的内容,我所做的就是将数字复制/粘贴到1到9。我真正想要的是一个快捷键,可以在最后生成这些数字,以便我省去键入每个唯一数字的步骤。

主要在Visual Studio Code或Sublime Text中进行编码,在某些情况下,快捷方式是相似的,或者至少具有相同的支持,但是对不同的快捷键。

2 个答案:

答案 0 :(得分:4)

对于Sublime Text,此问题的解决方案是内部Arithmetic命令。 VS Code中可能提供或可能不提供类似的东西(可能带有某种扩展名),但是我对它的把握还不够确定。

此命令允许您提供某种表达式,以应用于所有光标位置和/或选定的文本。

通过演示,这是您上面概述的示例:

Sample Arithmetic Example

对您提供的表达式在当时对缓冲区中的每个选择/插入符号进行一次评估,然后将表达式的结果插入到缓冲区中(或者在选择文本的情况下,它将替换选择)。还要注意,当您从输入面板调用此命令时(如在屏幕记录中一样),面板将向您显示表达式输出的预览。

特殊变量i引用选择编号;选择项的编号从0开始,因此表达式i + 1的作用是插入从1而不是0开始的选择号。

特殊变量x而是引用特定选择中的文本。这样,您就可以选择一些文本,然后根据您的表达对其进行转换。一个示例是在上面的示例之后立即使用x * 2(确保所有选择仍然存在并包装数字)以使所有内容加倍。

如果愿意,可以一次使用两个变量,也可以同时使用Python math库中的任何变量,例如,math.sqrt(i),如果您想要一些真正深奥的日志。

上面的示例显示了从命令面板中交互选择的命令,其中该表达式自动默认为您想要的示例(i + 1)。

如果要将其作为键绑定,则可以将键绑定到arithmetic命令并直接提供表达式。例如:

{
    "keys": ["super+a"],
    "command": "arithmetic",
    "args": {
        "expr": "i+1"
    },
},

答案 1 :(得分:1)

有一些扩展允许您执行以下操作: