问题标签 [yasnippet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
207 浏览

emacs - 避免在邪恶模式的插入状态下退出 yasnippet

是否可以更改 yasnippet,使其在邪恶模式的插入状态下不会退出?我希望能够在编辑片段的同时操作文本。

谢谢!

0 投票
1 回答
533 浏览

emacs - 加载 .html 文件时,yasnippet 不会自动加载

yasnipped 已使用 elpa/melpa 软件包系统安装在 emacs 上。

我可以确认它在 ~/.emacs.d/elpa/yasnippet-20160104.129

当我加载 .html 文件时,没有 yasnippet 菜单,正如预期的那样,请告知。我没有向 .emacs 添加任何额外内容

0 投票
0 回答
70 浏览

r - ess - 如何制作文件模板(样板文本)

我一直在使用r-autoyas安装后得到的“原样”。每当我创建新文件时,如何自定义它或安装任何其他让我拥有 R 文档模板(即 .R、.Rmd)的插件?

例如,我想放一些样板文本:

“文件部分”是不同的部分标记文本。例如:

也许这些都可以用 yas-snippets 完成,但我还不知道如何创建自定义片段。

0 投票
1 回答
238 浏览

emacs - 是否可以在“yas-choose-value”的值中使用“占位符”?

在 emacs yas-minor-mode 中,我想在 yas-choose-value 中列出的值中使用占位符。可能吗?以下代码是我想要做的。不过效果不好。。

我预计以下操作。

(step-1) yas-expand 为“my_func”执行

我应该可以从“x1”、“x2”和“x3”中选择一个

(第 2 步)参数应根据(第 1 步)中的选择进行更改

  • 如果选择“x1”,

    应予以补充。“foo”和“bar”的位置是占位符,它们是默认值。

  • 如果选择“x2”,

    应予以补充。“hoge”的位置是占位符,它是默认值。

  • 如果选择“x3”,

    应予以补充。没有争论。

0 投票
1 回答
177 浏览

emacs - yasnippet 的动态键

我目前正在学习定义 yasnippets,但似乎有一个用例我不知道如何使用。例如,假设我想定义一个 ruby​​ 片段,将键“def”扩展为标准函数定义。这很容易做到,但是假设我想让生成的函数的参数数量取决于键,比如如果我扩展键'def> n ',我想要一个带有n个参数的函数定义。我将如何做到这一点?

编辑

基本上,我想制作具有 HTML 插件 Emmet 所拥有的行为的动态片段。就像下面的缩写 'p*3>div*2' 和 Emmet 如何创建 3 对 p 标签,每个标签中有两个 div 对,我希望可以让 'def*3>2' 生成 3每个有 2 个参数的函数定义。这只是一个例子,但基本上我想要量词和嵌套属性。

0 投票
0 回答
177 浏览

emacs - 为 yasnippet 定义一个函数

我有一个 yasnippet 用于在 c 样式代码中创建小节横幅注释:

它创建一个注释并自动将行填充到当前缓冲区的填充列宽度。它有点长而且难以阅读,所以我想知道我是否可以在这个片段中以某种方式定义一个函数。

我能够像这样在反引号中创建一个defun:

但是函数名称被返回并输入到呈现的代码片段中,并不理想。

我应该简单地在我的 init.el 文件中定义函数吗?那是最好的解决方案吗?还是有另一种方法来创建我正在做的事情?

0 投票
0 回答
90 浏览

emacs - 在 yasnippet 中启用自动填充模式

我有一个多行注释片段,我想在其中启用自动填充模式,但在退出时禁用自动填充模式。这可能吗?

我尝试添加一个钩子,但无法让它正常运行。我也尝试在反引号中添加语句,但除了将自动填充模式输出到呈现的片段之外没有任何效果。

有任何想法吗?

0 投票
1 回答
203 浏览

javascript - 动态 YASnippet,插入方法名称和参数

在 Java(或 JavaScript)代码块中插入 YASnippet 时,如何访问方法的名称(及其参数)?

目标是能够扩展

进入(例如):

如果插入函数体:

(这样的实时模板存在于 IntelliJ IDEA 中。)

0 投票
0 回答
95 浏览

emacs - 如何指定代码片段在 YASnippet 的提示菜单中的显示顺序?

在为 YASnippet 编写代码片段时,是否可以指定代码片段应如何在提示菜单中显示(“选择代码片段:..”)?

为了用户友好,我希望提示菜单看起来像 Emacs YASnippet 菜单。

-Øyvind

编辑:我找到了解决问题的方法。只需用这种方式在 Emacs 配置文件中重新定义yas--prompt-for-template :

0 投票
0 回答
1273 浏览

string - 在emacs中获取真实的字符串长度

在 emacs 中计算实际字符串长度的正确方法是什么?(insert "\nhi")实际上,我的意思是我希望在执行类似or之后插入缓冲区的字符数(insert "\x100")

例如,我有一个用于编写expand-abbrev-hook's 的片段,但是当有转义字符时,它无法正确获取字符串长度,例如。

计算的值应该在扩展之间和之后$3使光标返回,但是如果有字符串,例如,那么长度会有所偏差。$2$3"\n"