我在vim-go中打开了一个文件vim-go。它在oldpackagename包里。
我想重构并重命名为newpackagename。有什么工具吗?原因是,oldpackagename的最初假设不再适用。
我知道我可以搜索和替换东西,但通常
GoRename resp.nmap <leader>rn <Plug>(coc-rename)在自动重命名所有事件时可以很好地工作。
但是关于包裹的名字,我得到:
vim-go:重命名成功,vim-go:无法在
GoRename请求的位置重命名标识符,并且: coc.nvim重命名错误:不能重命名元素。为了coc.nvim。
包重命名不同吗?我是否必须使用搜索/替换,还是我的信任可能被破坏了?
发布于 2021-08-04 23:27:11
在引擎盖下,vim使用gorename或gopls来运行:GoRename;现在默认的是gopls。
这两种方法都不支持重命名包:
gorename对于coc.nvim,我不确定,但它似乎是与gopls集成的,因此同样缺乏支持也适用。
发布于 2022-10-19 05:40:00
gopls应该很快支持包重命名(2022年10月)。
一旦特性发布,它与维姆-去的集成就应该利用这一点。
gopls/internal/lsp:添加对包重命名的支持 用户现在可以通过在包声明中对包名执行重命名来重命名包。 编辑器将提示用户使用对话文本字段更改包名。 此重命名功能然后执行以下操作:
_test“结尾的当前测试包名称的后缀"_test”,否则只重命名新的包名。然而:
Todo:
internal“作为段时,添加一个测试。go.mod文件,看看是否需要修复任何替换指令,如果重命名影响到任何go.mod文件的位置https://stackoverflow.com/questions/68658351
复制相似问题