各位朋友好,超级新人想请问一个问题,以前我一直用的visual studio code输入def时会自动给我一个如下的模板
def funcname(self, parameter_list):
pass
这样我按tab就可以一个一个填好
可是当我在spacemacs输def的时候他却只给我keyword的填充而没有这种snippet
我已经装载了auto-completion layer 并在user-config加了
(setq auto-completion-enable-snippets-in-popup t)
可是还是没有什么用,百思不得其解,google上也没有什么答案…
原来如此是f,哪里可以看到这个默认的index呢比如我想弄class的时候就又蒙圈了…我查了一圈没看到,而且你的好像是自己跳出来的我要按meta / 才可以
实在小白的问题,多谢指点!!
我把所有yasnippet 的key后面加了->,这样输完key还能显示company active mode,有需要到我repo自取。
1 个赞
不好意思再问一下,我把python mode的放到我的Private snippet文件夹下的确生效了可是java mode却没有入法炮制成功,可是菜单栏的yasnipper里却明明显示有的,我看到python mode下面除了snipper意外还有很多其他的文件,不知有没有关系…
这是我原搬山人的配置。
这里定义了下snippet路径。
(defun ztlevi/load-yasnippet ()
(interactive)
(unless yas-global-mode
(progn
(yas-global-mode 1)
(setq my-snippet-dir (expand-file-name "~/.spacemacs.d/snippets"))
(setq yas-snippet-dirs my-snippet-dir)
(yas-load-directory my-snippet-dir)
(setq yas-wrap-around-region t)))
(yas-minor-mode 1))
这段有个remove-hook和add-to-hooks的过程,如果你不是自己定义layer的话,只要把progn里面的内容放到dotspacemacs/user-config
里面就行了
(defun ztlevi-programming/post-init-yasnippet ()
(progn
;; remove yas-installed-snippets-dir from yas-snippet-dirs
(with-eval-after-load 'yasnippet
(setq yas-snippet-dirs (remq 'yas-installed-snippets-dir yas-snippet-dirs)))
(set-face-background 'secondary-selection "gray")
(setq-default yas-prompt-functions '(yas-ido-prompt yas-dropdown-prompt))
(mapc #'(lambda (hook) (remove-hook hook 'spacemacs/load-yasnippet)) '(prog-mode-hook
org-mode-hook
markdown-mode-hook))
(spacemacs/add-to-hooks 'ztlevi/load-yasnippet '(prog-mode-hook
markdown-mode-hook
org-mode-hook))
))
.yas_parents
就是指定parent mode,它下面的所有snippet都会继承,.yas_setup.el
就是针对各个mode进行一些修改,我也是从yasnippet github repo那里直接拿过来的,具体没看过。应该不是这里的问题。
1 个赞
哼没起作用… 我有空好好研究u研究 暂时先用visual studio code编java吧,顺便也看到了你的vsc leader key设置,照抄下哈哈哈~
主要就是yas-snippet-dirs
,默认有("~/.emacs.d/snippets" yas-installed-snippets-dir)
,spacemacs会自动加上~/.spacemacs.d/snippets
想问下你的emacs里java会出现自动补全吗,感觉没人在emacs里用java 我的python是没有问题的但是java就不行,我在google上看了一会好像不少人有这个问题但是也没有人解决
有点崩溃,不知道怎么回事我瞎弄了一些东西自己好了,得,就这样了…
LdBeth
14
Spacemacs 的 Java 補全似乎要用 Eclipses 當後端。
et2010
15
比较好奇楼主为什么会从号称宇宙最强 IDE 的 VS Code 跳到 spacemacs
我从全宇宙次强的IDE jb家跳到spacemacs,原因有:
- vim插件有差距,随便找一条vim技巧来尝试,ideaVim有50%可能不能用,evil只有10%
- jb虽好,不能让我在
foo(❚)
时按下我自己绑定的C-;
使代码变成foo(❚);
然后继续在括号内编辑。
哈哈没有呀两个都用,宇宙最强的编辑器也太多了,用spacemacs是特别喜欢他的leader key还有各种各tweak,大神也多不像vscode很多都是半知半解copy设置的,上端社区质量没emacs高哈哈哈~但是各有各的好吧,我觉比较很无聊,学习~
还有我是搞自然语言处理的,感觉用emacs处理text应该也挺给力的
这个我看过但是暂时还是很少人用.话说你那个在括号里control ; 的代码能让我学习下不呵呵~
(defun insert-semi-at-eol ()
"Insert semicolon at end of line."
(interactive)
(save-excursion
(end-of-line)
(insert ";")
)
)
(define-key evil-insert-state-map (kbd "C-;") 'insert-semi-at-eol)
内置save-excursion
保存光标位置,秒速实现黑魔法
2 个赞
et2010
21