GoSublime/GoLint кэширует пакеты импорта?

Есть ли в SublimeText 3/GoSublime какой-то тип кэширования пакетов импорта Go? Если да, то как очистить его по требованию?

Я спрашиваю, потому что при написании пользовательского пакета, находящегося под контролем исходного кода Github, он работает, пока я не рефакторинг функции или структуры. Затем, вернувшись к моему основному приложению (куда я импортирую этот пакет), оно загорается, как рождественская елка, когда я начинаю использовать новые методы.

GoSublime (или GoLint?) не улавливает реорганизованные изменения func, и все отображается как ошибка. Но тем не менее, я могу перейти к подсказке и запустить go build и go test просто отлично - инструмент Go работает нормально.

Единственное, что я смог зафиксировать, это примерно через 24 часа, кажется, что это сработало?

OSX 10.9
SublimeText 3
GoSublime
sublimelint **<- DO I NEED THIS?  SAYS IT IS FOR HIGHLIGHTING**
SublimeLinter
SublimeLinter-contrib-GoLint
SublimeLinter-contril-GoType
(and a few other packages)

Я новичок в SublimeText; но я считаю, что у меня все подключено и установлены необходимые пакеты. Консоль Sublime не показывает ошибок в линтерах (говорит, что находит gotype и golint).

SublimeLinter: gotype activated: /Users/user1/go/bin/gotype SublimeLinter: golint activated: /Users/user1/go/bin/golint

Вещи прекрасно работают внутри самого пакета. Это не только мое удаленное приложение. В моем пакете есть каталог тестов «/examples», который даже не подхватывает изменения в корневом пакете. Но опять же, реальный инструмент Go делает, строит и запускает все тесты, используя новый рефакторинговый код.

Именно GoSublime/GoLint кэширует данные схемы/пакета импорта. Как это очистить?

Спасибо!


person eduncan911    schedule 07.09.2014    source источник


Ответы (1)


Возвращаясь, чтобы ответить себе на это после 5 месяцев без ответов...

@dave-cheney сам ответил на сообщение группы Google, которое я разместил по этому вопросу:

https://groups.google.com/forum/#!topic/golang-nuts/N3xB6PGs3wo

Разрешение:

  • Этот код, даже одноразовый инструментарий для других проектов, должен жить в вашем $GOPATH/src. Я изменил все проекты, чтобы они находились в $GOPATH/src/privatedomain/etc, и обновил сценарии сборки, чтобы просто развернуть исполняемый файл в этих других репозиториях (и зафиксировать их). Учитесь работать с инструментами, а не бороться с ними. :)

  • Вам нужно запустить go install [package] для этих локально разработанных пакетов, чтобы их изменения немедленно отображались в вашем текущем проекте Sublime. Однако, если вы не запустите go install, все еще происходит длинная дневная задержка, и изменения подхватываются другими инструментами/пакетами в Sublime. «go install» работает, чтобы обойти это каждый раз, так что ничего страшного (*см. следующий пункт).

  • В Sublime я часто запускаю go install [package], а затем закрываю/повторно открываю текущий файл, над которым работаю, чтобы зафиксировать изменения.

Обратите внимание, что вам не нужно быть в сети для go install [package] - если пакет является локальным (например, в разработке). Итак, это был ответ для моей среды, так как я много занимаюсь разработкой в ​​автономном режиме (коммутируя).

person eduncan911    schedule 17.02.2015