quickaddjs返回的文本被换行

若返回的文本里含有\n字样,就会被当作换行符处理。

这算是bug吗? 如何让quickadd能原样写到markdown文件里?

1 个赞

再转义一下?\\n 看看行不行

都试过了,不管加多少个反斜杠,都不成,把它换成代码,也不成。

\\n OK。

let str = '测试\\n测试'
app.workspace.activeEditor.editor.replaceSelection(str)

另,楼主用 return 输出,意味着也勾选了 Capture to active file?不推荐这样做,原因见 实现 Vim Mode 的切换 #4 提到的意外。

定义一个capture:

return "a\\nb"; 

输出是:
a
b

之前的低版本,把代码里的\n替换成 \\n,输出就是
a\nb
但因为要用infoDialog,升级后,就不管怎么添加\,都是输出
a
b
了。

你的代码,若是在当前文件当前光标处输出,确是一个解决方案!THX.

但我不是capture到active,是今天的日记文件里,该文件可以未创建,也未打开。
使用return,确是无解!

补充:
capture active时,若是enbale write to bottom,4楼代码一样是被换行了。
可能是quickadd自己的机制吧。