гоплы заменяют переменные во всем проекте - PullRequest
0 голосов
/ 30 марта 2020

Вопрос возникает из-за того, что gorename не поддерживает модули. Существует инструмент замены под названием gopls, но пример не является исчерпывающим, поэтому мне интересно, есть ли способ переименовать переменную во всем проекте (в противном случае я не понимаю полезности части переименования)

gopls rename --help говорит:

Использование: rename [flags]

Example:

gopls rename helper/helper.go:8:6  
gopls rename helper/helper.go:#53

Есть ли способ переименовать переменную во всем проекте как gorename умеет делать?

1 Ответ

1 голос
/ 04 апреля 2020

Я рекомендую вам использовать gopls в качестве сервера LSP для интеграции с вашим редактором. Ваш редактор должен предоставить команду lsp-rename для удобного вызова функции переименования.

Что касается использования переименования gopls в командной строке, если у вас есть этот модуль:

--- go.mod ---
module foo

--- foo.go ---
package foo
var Foo = 123

Внутри модуля каталог, запустите gopls rename -d foo.go:3:5 Hello для предварительного просмотра diff («3: 5» означает строку 3, столбец 5):

% gopls rename -d foo.go:3:5 Hello
--- /Users/muir/scratch/foo/foo.go.orig
+++ /Users/muir/scratch/foo/foo.go
@@ -1,3 +1,3 @@
 package foo

-var Foo = 123
+var Hello = 123

Затем запустите gopls rename -w foo.go:3:5 Hello, чтобы записать изменения. Предполагая, что вы используете последнюю версию gopls, она будет переименована во всем модуле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...