Можно использовать фреймворк Revel с поддержкой завершения кода Go. Насколько я знаю, утилита gocode
требует, чтобы код был скомпилирован в библиотеку в подпапку pkg для работы, но фреймворк выполняет компиляцию на лету.
Я как-то потерялся в теме. Будет ли правильным вызовом go install для соответствующих подпакетов? Кажется, это работает, но это не самый элегантный способ сделать это с моей точки зрения.
Надеюсь, что кто-то может указать мне в правильном направлении.
РЕДАКТИРОВАТЬ: проблема сосредоточена только на источниках, которые я пишу как часть своего приложения Revel. Загруженные пакеты имеют автозаполнение, как и ожидалось.
EDIT2: это лучшее решение, которое я нашел до сих пор - выполнение команды go get
в подпапке app/tmp
вашего проекта. Итак, если ваш проект называется my_project, вы должны назвать что-то вроде go get my_project/revel/app/tmp
Поскольку эта папка содержит основную функцию для проекта, она будет извлекать все зависимости и собирать их в пакеты. Если папка tmp не существует, вам нужно выполнить revel run
в своем проекте и открыть веб-приложение, чтобы оно создавалось на лету. Надеюсь, это хоть немного поможет. Я все еще открыт для лучшей альтернативы :)