大佬,这个功能好像有个缺陷。 就是如下面这段代码:
def test()
a = 3
b = 4
如果我把光标放到 a = 3 上,然后再折叠,就会没有效果。
看了一眼代码,感觉还挺难解的。 expression_statement
不管是啥类型的都是一样的。
不知道有没有匹配不成功,自动向其父级进行匹配的功能?
先切换到行首,再折叠是可行的。就是多了一步操作,vscode 里面是可以折叠的。
大佬,这个功能好像有个缺陷。 就是如下面这段代码:
def test()
a = 3
b = 4
如果我把光标放到 a = 3 上,然后再折叠,就会没有效果。
看了一眼代码,感觉还挺难解的。 expression_statement
不管是啥类型的都是一样的。
不知道有没有匹配不成功,自动向其父级进行匹配的功能?
先切换到行首,再折叠是可行的。就是多了一步操作,vscode 里面是可以折叠的。
是不是少了 :
?
- def test()
+ def test():
我這邊是都可以摺疊. 如果還有問題的話就提個 issue 吧?
嗯,:
是我打少了。加上也是一样的。
就是光标处于 a = 3 中间的时候,没法折叠。处于 a = 3 左边的时候,是可以折叠的。
你再试一下?也可能是我自己的设置出了问题
阿, 我忘記我是使用 vs-edit-mode. 所以他幫我解決了這類問題. 老實說, ts-fold
只提供了正確的折疊代碼的方式. 但並沒有規定/限制你怎麼折疊.
類似 Issue:
目前可能要請使用者自己配置了.
可行,谢谢大佬
就是需要手动将 vs-edit-close-node
和 vs-edit-open-node
手动 remap 到 evil-colse-fold
和 evil-open-fold
之前直接用 ts-fold
的时候是不需要的。
是这两者的底层实现有什么不同吗?
ts-fold
只是單純的在"此處"摺疊. vs-edit
的先移動光標才執行折疊. 由於 vs-edit 顧名思義就是仿 Visual Studio 的折疊方式, 所以不宜放在 ts-fold. 我推薦使用者自己摸索, 畢竟沒有完美的插件. 自己摸索合適的才最完美.
我好像懂了 ,谢谢大佬
大佬,这条语句这么设置会覆盖掉其它 mode 的设置项的。
我在 github 里面提示一个 issue
就是因为这个才出现的,我改成下面这样就好。
(setf (alist-get 'python-mode ts-fold-range-alist) (ts-fold-parsers-python))
另外,请教一下大佬,这是 Tab 的分割线,是怎样实现的。
大佬是不是自己设置了对比度啥的,方便分享一下吗?我自己调不出来你图片中的效果。
不過每個 theme 都長得不一樣; 所以配出來還是得要自己調整.
弄好了,这个效果真得是太赞了呀
谢谢大佬
有時候會遇到這種情況, 不過通常下個指令就會被刷掉了.
有些指令能刷掉,有些好像不行。虽然不影响使用,但是看起来还是有点影响观感的,不知道引起这个问题的原因是什么,要是能提前规避掉,就更加好了。
是阿! 現在這個插件是目前最好用的. 但還是有些問題. 希望哪天能有新的代替品.
ts-fold 現在支援 29 treesit.el
; 不過現在是另一個包.
看這, GitHub - emacs-tree-sitter/treesit-fold: Code folding using treesit.el.
怎么还依赖下面这个很老的包?是不是我找错资源了?
安装时有下面的编译错误:
lib/treesit-fold/treesit-fold-indicators.el:32:11: Error: Cannot open load file: 没有那个文件或目录, fringe-helper
代碼是從 ts-fold 移植過來的. 我自己用 fringe-helper 是沒什麼問題.