Привет, Хабр!
Чуть больше недели назад мы выпустили новую версию нашей IDE для Go — GoLand 2020.1.
Если кратко, в этот релизный цикл мы сфокусировались над расширением текущей поддержки Go Modules. Например, в файле go.mod теперь работают автодополнение кода, рефакторинги и навигация, и это далеко не все!
Другим направлением стала борьба с шаблонным кодом и рутиной. Мы добавили множество новых видов автодополнения. Причем часть из них работает автоматически, не требуя вызова комбинаций клавиш. Другая часть расширила текущий набор автодополнений Smart Code Completion и Basic Code Completion.
Не обошлось и без новых инспекций, улучшений для отладчика, поддержки изменений из Go 1.14 и множества других, прочитать о которых можно ниже.
Кстати, узнать о новой функциональности можно и в интерактивной форме — пройдя прямо в IDE урок Features of GoLand 2020.1.
Улучшенная поддержка Go Modules
Мы поддержали переменные окружения GOPROXY, GOPRIVATE, GOSUMDB, GONOPROXY и GONOSUMB из версии Go 1.13.
Устанавливайте значения для них в шаблоне проекта Go Modules. Нажмите иконку Browse в поле Environment, чтобы открыть новое окно Environment Variables.
Мы добавили автодополнение для операторов go, module, require, replace, exclude, и локальных путей в replace директивах для файла go.mod.
Переименовывайте и перемещайте директории, указанные внутри операторов replace, с помощью Move и Rename рефакторингов.
Чтобы узнать, где используется путь к конкретной директории в файле go.mod, вызовите Find Usages в Project View.
И, наконец, новая версия предупредит вас перед коммитом файла go.mod с локальными путями в replace-директиве.
Типы автодополнения кода, которые можно не запоминать
GoLand 2020.1 предложит if err != nil { … } для завершения обработки ошибок. Просто напишите if внутри выражения.
Определяйте структуры и типы интерфейсов, указав ключевое слово type или struct и interface.
Fill Fields добавляет пробелы после двоеточия, когда этого требуют правила форматирования. Это действие также автоматически поставит запятую в конце выражения с объявлением составных литералов.
При создании словарей автодополнение кода переместит курсор за закрывающую скобку, после того как вы укажете тип ключа.
Для типа возвращаемого значения функции автодополнение кода теперь предлагает локальные переменные и нулевые значения, которые соответствуют типу возвращаемого значения.
Smart Code Completion (⌃⇧Space или Ctrl+Shift+Space)
Умное автодополнение кода предлагает указатель для структур с инициализаторами полей.
Кроме того, теперь автодополнение в первую очередь предложит совместимые типы для утверждения типа и переключателя типа.
Для утверждения типа автодополнение кода предложит тип присваиваемой переменной.
Наконец, GoLand 2020.1 предложит варианты автодополнения для указателей в выражении.
Basic Code Completion (⌃Space or Ctrl+Space)
Кроме того, Basic Code Completion теперь предлагает литералы и преобразования.
Редактирование кода
При написании сигнатуры функции, возвращающей несколько значений, GoLand 2020.1 добавит скобки вокруг типов возвращаемого значения, если после первого типа вы поставите запятую.
Когда вы вставляете текст в строковый литерал, IDE экранирует текст.
Чтобы узнать больше о функциях редактирования кода, которые работают автономно, то есть не требуя от пользователя никаких действий, прочтите статью GoLand Editing Features You Didn’t Know About (на английском).
Это интересно: Lazarus 2.0.4 на русском скачать бесплатно
Поддержка Go 1.14
Поддержка перекрывающих интерфейсов
В Go 1.14 добавилась поддержка встраивания перекрывающих интерфейсов, и мы сразу же их поддержали! Когда вы описываете различные аспекты типа, использующего перекрывающие интерфейсы, GoLand не будет предупреждать о дублировании методов.
Автоматический вендоринг
Вендоринг включается автоматически в версии Go 1.14, если корень модуля содержит директорию vendor. Для GoLand 2020.1 мы решили реализовать аналогичное поведение для версии 1.13 и более ранних. IDE будет автоматически разрешать импорт в директорию vendor, если она присутствует в модуле.
Обновления отладчика
Поддержка ярлыков профилировщика
Поддержка ярлыков профилировщика помогает быстрее ориентироваться между горутинами и анализировать дампы памяти. Подробнее об этом в статье How to Find Goroutines During Debugging (на английском).
Поддержка макросов
Используйте макросы в качестве параметров для запуска и отладки приложения. В диалоге Run/Debug Configurations нажмите + в полях Go Tool или Program arguments, чтобы открыть новый диалог Macros со списком доступных макросов.
Кроме того, теперь вы можете сохранять файлы с конфигурациями в проекте. Выберите опцию Store в верхней части диалога Run/Debug Configurations.
Постфиксное автодополнение
Шаблон .else добавляет оператор if для проверки того, не является ли выражение ложным.
Быстрые исправления
Быстрое исправление Create variable теперь предлагает подсказку ожидаемого типа, чтобы ускорить ввод правильного значения.
Инспекции кода
Эта новая инспекция предупреждает о недопустимых вызовах методов с получателем-указателем на значениях, которые не являются указателями. Для обнаруженной проблемы предлагается быстрое исправление.
Проверка Invalid conversions of uintptr to unsafe.Pointer предупредит о потенциально опасном преобразовании между uintptr и unsafe.Pointer для преобразования целых чисел в указатели.
Проверка Unmarshal is called with incorrect argument анализирует вызовы json.Unmarshal и похожих функций из encoding/json, encoding/xml и encoding/gob пакетов.
Locks mistakenly passed by value помогает избежать случайного копирования значений типа sync.Locker.
Live templates
Шаблоны consts, vars, types и imports помогут вам быстро создавать группы объявлений. При использовании одного из этих шаблонов GoLand добавит скобки вокруг имени объявления. Шаблон fori вставляет код для классического for-loop.
Рефакторинги
Рефакторинг Extract Method сохраняет исходный порядок родительской функции и параметры метода. Rename автоматически определяет переименование объявления. Теперь, когда вы переименовываете объявление вручную, IDE покажет иконку в поле редактора. Нажав на иконку, вы переименуете все использования разом.
Навигация
Navigate to implementations (⌥⌘B на MacOS и Ctrl+Alt+B на Windows/Linux) и Navigate to Declaration или Usages (⌘B на MacOS и Ctrl+B на Windows/Linux) теперь в первую очередь показывают результаты текущего проекта.
Кроме того, действие Find Usages (Alt+F7 в Windows/Linux или ⌥F7 в macOS) теперь всегда ищет использование методов интерфейса по умолчанию. Для поиска использований текущего метода используйте Alt+Shift+Ctrl+F7 на Windows/Linux или ⌥⇧⌘F7 на MacOS.
Разное
- JetBrains Mono — новый шрифт от JetBrains, созданный специально для программистов, — доступен по умолчанию. Подробнее о нем рассказывается здесь.
- По умолчанию в IDE установлен плагин Grazie, обеспечивающий интеллектуальную проверку орфографии и грамматики текста.
- Новый режим LightEdit Mode позволяет открыть файл в текстовом редакторе без создания и загрузки проекта. Чтобы попробовать эту функциональность, сначала нужно сделать запуск из командной строки Tools | Create Command-line Launcher, как описано здесь (если вы используете приложение Toolbox App, шаги будут немного отличаться). Более подробные инструкции о том, как открыть файл, сравнить/объединить файлы и даже выполнить проверку кода, см. в этом разделе веб-справки.
- Мы добавили новый режим Дзен, который избавляет вас от возможных отвлекающих факторов и помогает сконцентрировать все внимание на коде. По своей сути, новый режим сочетает в себе режимы Distraction Free и Full Screen. Чтобы включить режим Дзен, перейдите по ссылке View | Appearance | Enter Zen Mode или выберите его из всплывающего меню Quick Switch Scheme (Ctrl+` | View mode | Enter Zen Mode).
- External Documentation теперь ведет к https://pkg.go.dev вместо https://godoc.org.
- Мы вернули цветовую схему Default с новым именем — Classic Light.
Команда JetBrains GoLand
The Drive to Develop
By continuing to browse, you consent to our use of cookies. You can read our Cookie Policy here.
Java
am 1. Mai 2020 um 21:02 Uhr
здрастеintellij idea 2020 license code есть???
Nik Nejm
7 Personen gefällt das
Nik Nejm
пожалуста скинте если есть лицензионный код?
1. Mai um 21:09
Alexander Plochoj
eclipse себе установи, Алёша..
1. Mai um 21:13
1 weiteren Kommentar anzeigen
Arman Schamenow
Либо покупай, либо пиратку качай
1. Mai um 21:14
Nazih Ibrahim
Если ты студент университета можно получить бесплатный код
1. Mai um 21:19
Asamat Abakow
Nazih, надо столько писать и заполнять, что быстрее будет найти пиратку
1. Mai um 22:06
5 weitere Kommentare anzeigen
Iwan Subow
А если нет то stepic в помощь
1. Mai um 21:22
Nik Nejm
Иван, ?
1. Mai um 21:44
3 weitere Kommentare anzeigen
Jewgeni Ochrjamkin
community edition бесплатная же
1. Mai um 21:23
Asamat Abakow
Евгений,
1. Mai um 22:08
3 weitere Kommentare anzeigen
Nikita Dashkin
У меня стоит 2019.3
Выше пытался подняться, не принимает ключи
1. Mai um 21:28
Nik Nejm
Nikita,
1. Mai um 21:45
Alexander Gwosdew
Мне кажется за такую иде не жалко денег, темболее это ещё не дорого.
1. Mai um 23:00
Dmitri Scharygin
Пройди несколько занятий на stepik или учебную возьми
1. Mai um 23:25
Nikita Tschubatjuk
F1538-GDX89-ZXH90-63GD55
На год
2. Mai um 0:11
Nikita Morosow
В 2019 был баг что когда кончилась 30 дневная лицензия. Удаляешь .ideaXXXX и тебе предложат оформить новую
2. Mai um 10:13
Wasili Sinizin
Никита, это не баг, и это работает
4. Mai um 15:09
1 weiteren Kommentar anzeigen
Weniamin Wolkow
NetBeans со спрингом хор
4. Mai um 20:33
Nika Anochina
Можно автоматизировать. У меня работает на 2020 версии)
20. Jul. um 9:32
Andrej Salkow
Ника, интересно. Ещё все правильные пути для мак ос знать
20. Jul. um 10:19
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Скачать