wlh320 / rime-ls

A language server for Rime input method engine 通过 LSP 代码补全使用 Rime 输入法
BSD 3-Clause "New" or "Revised" License
208 stars 13 forks source link

Windows10一直配置不成功 #18

Closed roao closed 11 months ago

roao commented 11 months ago

感谢大佬的项目,但是我在Win10上一直没有配置成功。 我用的是neovim+nvim-cmp,配置文件用的是配置示例里第一个,每个路径都改好了。 但是打开nvim后提示 Client 2 quit with exit code 3221225781 and signal 0 敲几个字母也没有rime的补全。 LspLog看不到相关报错,配置的日志文件目录下也看不到输出。

wlh320 commented 11 months ago

我猜测是因为运行的时候没找到 rime.dll ? 可以把 rime.dll 放在 rime-ls 所在的目录下试试?

roao commented 11 months ago

谢谢!这样就可以看到补全了,只是现在我不太清楚是应该用librime的rime.dll还是小狼毫的,或者说如何告诉rime-ls rime.dll在哪,因为每次用nvim开一个文件就会生成报错的记录文件,比如这样

Log file created at: 2023/12/13 13:52:29
Running on machine: XXXXXXXX
Running duration (h:mm:ss): 0:00:00
Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg
E20231213 13:52:29.092018  6332 legacy_preset_config_plugin.cc:38] failed to include section default:key_binder
E20231213 13:52:29.093999  6332 config_component.cc:254] error building config: double_pinyin_flypy.schema

改动shared_data_diruser_data_dir里的配置文件后还有这样的:

Log file created at: 2023/12/13 13:59:20
Running on machine: XXXXXXX
Running duration (h:mm:ss): 0:00:00
Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg
E20231213 13:59:20.975157 31036 simplifier.cc:45] opencc config not found: t2s.json

我也是第一次接触rime,感觉现在像是无头苍蝇乱试(

wlh320 commented 11 months ago

嗯,还是建议有一定的 rime 使用经验再来用 rime-ls 会比较好,配置过程中会用到 rime 的一些概念。

librime 的 rime.dll 和 小狼毫的 rime.dll 本质上是一回事。librime 是 rime 的核心动态库,小狼毫是它的一个发行版,rime-ls 也可以认为是一种发行版,都要依赖于 rime.dll 这个动态库去运行。

rime 使用的时候不仅需要 dll 动态库还需输入方案。我建议安装小狼毫,shared_data_dir 可以跟它用一个,因为这里面存着默认的一些输入方案,不想折腾的话是可以直接用的。user_data_dir 可以随便指定,里面可以存自己的其他输入方案,同时 rime 也会存一些输入过程的记录和用户的词频等一些数据在里面。

至于 rime.dll ,复制一份小狼毫的或者下载 librime 都可以,就放在 rime_ls.exe 所在的目录就可以,同级目录下是肯定能搜索到的。

roao commented 11 months ago

我理解您的意思是,rime-ls运行时会先读取shared_data_dir下的输入方案,再读取user_data_dir下的。所以我尝试先配置小狼毫输入法,比如先选择繁体的[朙月拼音,然后清空了user_data_dir,这时候可以正常补全,也不会有log文件生成。但是如果在小狼毫里设置使用简体,即使小狼毫正常使用,在nvim中补全依然是繁体的,生成的log文件为:

Log file created at: 2023/12/13 13:59:20
Running on machine: XXXXXXX
Running duration (h:mm:ss): 0:00:00
Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg
E20231213 13:59:20.975157 31036 simplifier.cc:45] opencc config not found: t2s.json

看样子是rime-ls或是rime.dll找不到t2s.json这个文件?

wlh320 commented 11 months ago

如我前面所说,rime-ls 和小狼毫是两个不同的发行版,每个发行版应当有自己的 user_data_dir ,这样的话小狼毫设置简体不会影响 rime-ls 的行为。我推荐安装小狼毫是因为 rime-ls 不会提供给你任何输入所需的方案和配置相关的文件。

opencc 的相关文件应该在小狼毫的 shared_data_dir 里面,具体到 Windows 也就是小狼毫托盘右键,点击“程序文件夹”,里面的 data 这个目录。我也不清楚为什么会找不到,我这里是正常的。

如果想要 rime-ls 输入简体中文,应该搞一个 rime-ls 自己的 user_data_dir,随便在哪里都可以,在里面像配置其他 rime 发行版一样配置输入方案。

roao commented 11 months ago

OK, 感谢答疑,现在已经没有问题了,我原来把shared_data_dir设置成 ~/Appdata/Rome/Rime了,改成data这个目录,然后再配置好自己的user_data_dir就没问题了,看来还是因为头一次接触rime,没有很清楚配置方法啊。