将自定义 yasnippet 目录添加到 `Spacemacs`

kri*_*nab 2 emacs yasnippet spacemacs

很抱歉这个非常新的问题,但只是尝试为yasnippetsin配置一个单独的目录spacemacs。我对 emacs lisp 一点也不熟悉。所以它说我可以将目录放入

(setq-default dotspacemacs-configuration-layers '(
(auto-completion :variables
auto-completion-return-key-behavior 'complete
auto-completion-tab-key-behavior 'cycle
auto-completion-complete-with-key-sequence nil
auto-completion-complete-with-key-sequence-delay 0.1
auto-completion-private-snippets-directory nil)
))
Run Code Online (Sandbox Code Playgroud)

所以我必须设置auto-completion-private-snippets-directory,但我不确定如何配置像“~/Dropbox/snippets”这样的自定义目录。我使用添加的目录尝试了下面的代码,但它不起作用。

dotspacemacs-configuration-layers '(
...
auto-completion-private-snippets-directory "~/Dropbox/snippets")
))
Run Code Online (Sandbox Code Playgroud)

我不确定是否需要尝试将新目录推送到变量等。任何建议。

kri*_*nab 5

我想出了如何做到这一点。基本上只需要将目录附加到yas-snippet-dirs变量中。然后将这些附加目录添加到从中收集片段的目录列表中yasnippet

;; Snippet configuration
(setq-default dotspacemacs-configuration-layers '(
  (auto-completion :variables
                   auto-completion-return-key-behavior 'complete
                   auto-completion-tab-key-behavior 'cycle
                   auto-completion-complete-with-key-sequence nil
                   auto-completion-complete-with-key-sequence-delay 0.1
           auto-completion-enable-snippets-in-popup t
           auto-completion-enable-sort-by-usage t
           auto-completion-enable-help-tooltip t
                   auto-completion-private-snippets-directory nil)
                   ))

;; add extra snippet directories
(setq yas-snippet-dirs (append yas-snippet-dirs
                               '("/home/<username>/Dropbox/.../snippets")))

(setq yas-snippet-dirs (append yas-snippet-dirs
                               '("/home/<username>/Dropbox/.../more_snippets")))
Run Code Online (Sandbox Code Playgroud)