我尝试对 rmarkdown 文件使用 VS Code Hypersnips 扩展 (https://github.com/draivin/hsnips)。该扩展适用于 markdown 文件和乳胶文件,但由于某种原因我无法让它与 rmarkdown 一起正常工作。
例如,我首先在全局设置中定义以下数学上下文:
function math(context) {
return context.scopes.some(s => s.includes("math"));
}
// inline & block math
function inline_math(context){
return context.scopes.some(s => s.includes("math.inline"));
}
function block_math(context){
return context.scopes.some(s => s.includes("math.block")) || context.scopes.some(s => s.includes("math.display"));
}
但是,在这些数学上下文中定义的代码片段(例如以下内容)在键入触发器时不会激活:
context math(context)
snippet `(;;;|cdot)` "cdots" iA
``rv='\\cdots'``
endsnippet
context math(context)
snippet `par` "partial" iA
``rv="\\partial "``
endsnippet
相反,没有上下文定义的片段可以正确激活,例如:
snippet `\\dm` "display math" bA
$$
$1
$$
$0
endsnippet
我不明白为什么。我尝试将片段存储在指定目录中的 rmd.hsnips、Rmd.hsnips、rmarkdown.hsnips 和 Rmarkdown.hsnips 中,但上述问题仍然存在。
谢谢您的帮助。
我也遇到了类似的问题,请问你解决了吗?