voldikss / coc-extensions

🌸 Collections of coc.nvim extensions maintained by @voldikss
122 stars 6 forks source link

[coc.nvim]: UnhandledRejection: TypeError: Cannot read properties of undefined (reading 'length') #115

Closed fengwk closed 2 years ago

fengwk commented 2 years ago

系统代理:

export http_proxy=127.0.0.1:7890
export https_proxy=127.0.0.1:7890
export socks_proxy=127.0.0.1:7891

当我使用系统代理时进行翻译功能会报告如下错误,我尝试了所有类型的translator.engines都无法正常工作:

[coc.nvim]: UnhandledRejection: TypeError: Cannot read properties of undefined (reading 'length')

我能够确认我的系统代理是正常的,因为我使用下方命令请求返回了正确的结果:

curl "http://dict.youdao.com/fsearch?client=deskdict&keyfrom=chrome.extension&q=hello&pos=-1&doctype=xml&xmlVersion=3.2&dogVersion=1.0&vendor=unknown&appVer=3.1.17.4208"

这可能是翻译请求失败引起的,但我无法确认具体的原因,之前翻译功能是正常的,但是最近可能发生了arch的滚动更新或者coc插件的更新导致了这个问题,当然如果我执行以下命令取消系统代理,翻译功能依然能够正确工作:

unset http_proxy
unset https_proxy
voldikss commented 2 years ago

这个好像默认不读 shell 里面的这几个变量,建议用这个配置试一试

translator.proxy

https://github.com/voldikss/coc-translator#configuration

fengwk commented 2 years ago

我尝试在coc-settings.json里使用了这两个配置,但还是报告了和之前一样的异常

  "translator.proxy": "socks://127.0.0.1:7891",
  "translator.engines": ["google"],
voldikss commented 2 years ago

我有空试试复现

fengwk commented 2 years ago

好的,十分感谢。我暂时先使用vim-translator,这个插件能够正常在系统代理中运行,但是google翻译会比较耗时,其它的翻译方法都存在过时问题,我最终采用了这样的设置提升翻译效率,如果有更好的配置方法也请告诉我(抱歉在coc-translator中讨论vim-translator的问题)。

" vim translator
nmap <silent> <leader>t :Translate --engines=haici<cr>
vmap <silent> <leader>t :Translate --engines=google<cr>