vscode 更好的控制代码片段缩进

lg40wkob  于 5个月前  发布在  Vscode
关注(0)|答案(4)|浏览(60)

你好,关于代码片段(snippets)的问题,我有一个建议。实际上,代码片段是从光标位置开始缩进的,你只能向前缩进,使用 \t 命令。但是对于一些语言(如 COBOL),这会导致问题,因为有些指令是在固定的列上。

我想知道是否可以添加一个变量或规则,让我们可以精确地指定行的起始列或制表符索引。例如:

{
    "special-identation": {
        "scope": "COBOL",
        "prefix": "si",
        "description": "example of multiline indentation control"
        "body": [
            "\2INIT-VAR SECTION.",
            "\1* Executing my-code section",
            "PERFORM MY-CODE",
            "",
            "\3EXIT."
        ]
    }
}

在这里,我放了 \ + 一个数字。\0 表示从第0列开始,\1 表示从制表符索引1开始,\2 表示从制表符索引2开始等。

编辑:我在想其他的事情。我们已经有了 \t 可以向前缩进。要实现向后缩进的功能,可以考虑使用 \b

编辑2(2024年2月4日):我们可以使用 \0 而不是 \1 等。我们已经有了 \t 可以缩进,所以它看起来像这样:\0\t\t。这似乎更好,而且在 VSCode 中实现起来可能更容易。

3pmvbmvn

3pmvbmvn1#

这个功能请求现在是我们待办事项列表的候选项目。社区有60天的时间对这个问题进行投票。如果它收到20个赞成票,我们将把它移到我们的待办事项列表中。如果没有,我们将关闭它。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation
快乐编码!

uurv41yg

uurv41yg2#

这个功能请求收到了足够多的社区投票,我们将其移动到了我们的待办事项列表中。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation
快乐编码!

pxiryf3j

pxiryf3j3#

我喜欢这个请求的一切,并对它的发展方向很感兴趣,因为我有一个针对代码片段语言的插件,顺便说一下为什么我要给出不请自来的反馈。
我唯一建议的是远离 \<number> 语法,专注于列(而不是制表符索引)
不同的开发者对于制表符和空格有不同的喜好。为了与 workbench.action.gotoLine 命令保持一致,我会投票支持 :<number>:<number>
在这个命令中,如果你输入 :1 ,你会跳转到第一行(从这个Angular 考虑时,索引为0),如果你输入 :1:5 ,你会跳转到第一行(0)和第五个字符(索引为4)。
所以对于一个代码片段:

"body": [
            "::2INIT-VAR SECTION.",
            "::4* Executing my-code section",

::2 的意思是无论你的制表符偏好如何,都从第2列开始
::4 的意思是无论你的制表符偏好如何,都从第4列开始
听起来怎么样?如果不是那样的话也没关系——只是我的一点看法

k4aesqcs

k4aesqcs4#

这个看起来更好了,谢谢您的反馈:D

相关问题