你好,关于代码片段(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 中实现起来可能更容易。
4条答案
按热度按时间3pmvbmvn1#
这个功能请求现在是我们待办事项列表的候选项目。社区有60天的时间对这个问题进行投票。如果它收到20个赞成票,我们将把它移到我们的待办事项列表中。如果没有,我们将关闭它。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation。
快乐编码!
uurv41yg2#
这个功能请求收到了足够多的社区投票,我们将其移动到了我们的待办事项列表中。要了解更多关于我们如何处理功能请求的信息,请参阅我们的documentation。
快乐编码!
pxiryf3j3#
我喜欢这个请求的一切,并对它的发展方向很感兴趣,因为我有一个针对代码片段语言的插件,顺便说一下为什么我要给出不请自来的反馈。
我唯一建议的是远离
\<number>
语法,专注于列(而不是制表符索引)不同的开发者对于制表符和空格有不同的喜好。为了与
workbench.action.gotoLine
命令保持一致,我会投票支持:<number>:<number>
在这个命令中,如果你输入
:1
,你会跳转到第一行(从这个Angular 考虑时,索引为0),如果你输入:1:5
,你会跳转到第一行(0)和第五个字符(索引为4)。所以对于一个代码片段:
::2
的意思是无论你的制表符偏好如何,都从第2列开始::4
的意思是无论你的制表符偏好如何,都从第4列开始听起来怎么样?如果不是那样的话也没关系——只是我的一点看法
k4aesqcs4#
这个看起来更好了,谢谢您的反馈:D