在 VS 代码片段中插入明天的日期
Insert tomorrow's date in a VS Code Snippet
我有一个 Alfred Snippet 可以为我键入每周 Markdown 清单的大纲。结果如下:
## Week (4/25–4/29)
- [ ]
### Monday Apr 25, 2022
- [ ] Snippet
----
我想将其移至 VS Code Snippet。 VS Code 定义了环境变量,如 $CURRENT_YEAR
和 $CURRENT_MONTH_NAME_SHORT
可以填充其中的一些内容。但是对于“周 (4/25-4/29)”这一行,我真的很想知道下周五的日期(通常是从今天算起的四天)。有什么方法可以用 VS Code 片段来做到这一点吗?
作为参考,我的 Alfred 是这样定义的:
## Week ({date:M/d}–{date +4d:M/d})
- [ ]
### Monday {date}
- [ ] Snippet
----
使用 VSC 片段是不可能的。
使用扩展名 File Templates (v1.10.0),您可以生成 dates/times 与 now
.
的特定偏移量
您必须定义首选 dateTimeFormat
设置。
定义以下设置(我们有一个命名的日期格式:week-schedule
)
可以是全局的或在您的工作区中
"templates.dateTimeFormat": {
"locale": "en-US",
"options": {
"year": "numeric",
"month": "2-digit",
"day": "2-digit",
"weekday": "long",
"hour12": false,
"hour": "2-digit",
"minute": "2-digit",
"second": "2-digit"
},
"template": "${month}/${day}"
"week-schedule": {
"options": {
"year": "numeric",
"month": "short",
"day": "2-digit",
"weekday": "long",
},
"template": "${weekday} ${month} ${day}, ${year}"
}
}
定义以下模板(全局或在您的工作区中)
week-schedule.md
##@@## ${dateTimeFormat#template=${year}-${month}-${day}#offset=+1WD0 +1D#}_${dateTimeFormat#template=${month}-${day}#offset=+1WD0 +5D#}${input#Additional#find=^(.+)$#replace=-#}
## Week (${dateTimeFormat:offset=+1WD0 +1D:}–${dateTimeFormat:offset=+1WD0 +5D:})
- [ ]
### ${dateTimeFormat:week-schedule:offset=+1WD0 +1D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +2D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +3D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +4D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +5D:}
- [ ] Snippet
----
它将创建一个包含日期和一些(可选)附加文本的文件名。
第一行需要那么长。整个文件名模板必须在第 1 行。
该模板可以包含 VSC 片段和输入字段以及一些其他变量。
编辑
在 v1.11.0 中有一个命令templates.pasteTemplate
,您可以在其中插入带有键绑定的模板
{
"key": "ctrl+alt+w", // or any other combo
"command": "templates.pasteTemplate",
"args": {
"text": [
"## Week (${dateTimeFormat:week-schedule-head:offset=+1wd0 +1d:}–${dateTimeFormat:week-schedule-head:offset=+1wd0 +5d:})",
"- [ ]",
"",
"### ${dateTimeFormat:week-schedule:offset=+1wd0 +1d:}",
"- [ ] Snippet",
"",
"----"
]
}
}
我有一个 Alfred Snippet 可以为我键入每周 Markdown 清单的大纲。结果如下:
## Week (4/25–4/29)
- [ ]
### Monday Apr 25, 2022
- [ ] Snippet
----
我想将其移至 VS Code Snippet。 VS Code 定义了环境变量,如 $CURRENT_YEAR
和 $CURRENT_MONTH_NAME_SHORT
可以填充其中的一些内容。但是对于“周 (4/25-4/29)”这一行,我真的很想知道下周五的日期(通常是从今天算起的四天)。有什么方法可以用 VS Code 片段来做到这一点吗?
作为参考,我的 Alfred 是这样定义的:
## Week ({date:M/d}–{date +4d:M/d})
- [ ]
### Monday {date}
- [ ] Snippet
----
使用 VSC 片段是不可能的。
使用扩展名 File Templates (v1.10.0),您可以生成 dates/times 与 now
.
您必须定义首选 dateTimeFormat
设置。
定义以下设置(我们有一个命名的日期格式:week-schedule
)
可以是全局的或在您的工作区中
"templates.dateTimeFormat": {
"locale": "en-US",
"options": {
"year": "numeric",
"month": "2-digit",
"day": "2-digit",
"weekday": "long",
"hour12": false,
"hour": "2-digit",
"minute": "2-digit",
"second": "2-digit"
},
"template": "${month}/${day}"
"week-schedule": {
"options": {
"year": "numeric",
"month": "short",
"day": "2-digit",
"weekday": "long",
},
"template": "${weekday} ${month} ${day}, ${year}"
}
}
定义以下模板(全局或在您的工作区中)
week-schedule.md
##@@## ${dateTimeFormat#template=${year}-${month}-${day}#offset=+1WD0 +1D#}_${dateTimeFormat#template=${month}-${day}#offset=+1WD0 +5D#}${input#Additional#find=^(.+)$#replace=-#}
## Week (${dateTimeFormat:offset=+1WD0 +1D:}–${dateTimeFormat:offset=+1WD0 +5D:})
- [ ]
### ${dateTimeFormat:week-schedule:offset=+1WD0 +1D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +2D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +3D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +4D:}
- [ ] Snippet
----
### ${dateTimeFormat:week-schedule:offset=+1WD0 +5D:}
- [ ] Snippet
----
它将创建一个包含日期和一些(可选)附加文本的文件名。
第一行需要那么长。整个文件名模板必须在第 1 行。
该模板可以包含 VSC 片段和输入字段以及一些其他变量。
编辑
在 v1.11.0 中有一个命令templates.pasteTemplate
,您可以在其中插入带有键绑定的模板
{
"key": "ctrl+alt+w", // or any other combo
"command": "templates.pasteTemplate",
"args": {
"text": [
"## Week (${dateTimeFormat:week-schedule-head:offset=+1wd0 +1d:}–${dateTimeFormat:week-schedule-head:offset=+1wd0 +5d:})",
"- [ ]",
"",
"### ${dateTimeFormat:week-schedule:offset=+1wd0 +1d:}",
"- [ ] Snippet",
"",
"----"
]
}
}