После предыдущей серии работ построена языковая среда GO. Мы также изначально испытали большинство команд, предоставляемых GO. Но прежде чем официально вступить в разработку, предстоит еще проделать часть работы, а именно выбрать подходящую вам IDE.
Зачем использовать IDE
«Зачем программистам использовать IDE», на ряде форумов сообщества часто встречаются такие вопросы. Насчет того, стоит ли использовать IDE, у каждого свои взгляды.
На раннем этапе разработка программы не нуждается в IDE, это эпоха машинного программирования. Позже, с развитием компьютерной индустрии, для дальнейшего повышения эффективности разработки проектов производится IDE.
Следует понимать, что IDE — это в основном набор программного обеспечения, которое легко программировать за счет интеграции различных наборов командных инструментов, и обычно это помогает нам сформировать набор эффективных привычек программирования и разработки. Конечной целью является повышение эффективности разработки проекта.
Зная суть IDE, если нам нравится метаться, мы можем сделать текстовый редактор, такой как vim или emacs, своей собственной IDE.
Какие функции поддерживаются
Независимо от того, используете ли вы существующую IDE на рынке или IDE, созданную вручную с помощью vim, вы не можете обойтись без одной темы: Какие функции задействованы в IDE? Возможность редактирования текста не нуждается в представлении, это самая основная функция.
горячая клавиша
Держите руки на клавиатуре - это очень важный момент в эффективном развитии. Для этого нам нужно полагаться на мощные ярлыки. IDes обычно имеют уникальный набор спецификаций ярлыков. Когда вы привыкли к IDE, ярлыки ключей могут быть одним из важных причин, почему люди так неохотно меняют IDE.
подсветка кода
Подсветка кода в основном включает переменные, определения функций, классы, константы, специальные символы, ключевые слова и т. д. Подсветка кода может улучшить процесс чтения кода, использовать разные цветовые схемы для разных синтаксисов и снизить вероятность ошибок кода. Кроме того, IDE обычно поддерживают настраиваемое сопоставление цветов, которое можно свободно устанавливать в соответствии с личными предпочтениями.
форматирование кода
Чтобы облегчить командную разработку, перед разработкой проекта обычно формулируется унифицированная спецификация кода. Необходимо соблюдать установленные спецификации, и IDE обычно поддерживают функции форматирования кода, чтобы облегчить достижение наших целей. Следует отметить, что, в отличие от GO, многие языки программирования не имеют команд, подобных gofmt, и спецификации кода также разнообразны.
подсказки кода
Подсказки по коду IDE могут быстро предоставить ряд предлагаемых списков на основе входных данных, таких как информация о параметрах, списки элементов, фрагменты кода и т. д. Чтобы дать более точные подсказки, некоторые IDE могут даже анализировать исторические записи операций пользователя. Такое ощущение, что это уже небольшая рекомендательная система.
Навигация прыгает
Более крупные проекты обычно имеют больший объем кода и включают больше файлов. При разработке нам часто приходится переключаться между переменными, функциями, классами и т. д. кода. Самый неудобный способ, мы можем переключаться через клавиши со стрелками или мышью. IDE обычно реализуют методы для быстрого перехода между переменными, определениями типов, определениями функций и файлами.
отладка кода
В большинстве случаев отладку кода можно выполнить, распечатав функции. Но с помощью функций отладки, предоставляемых систематическими инструментами, мы можем справиться с различными сложными сценариями. Инструменты отладки обычно поддерживают различные возможности отладки точек останова, наблюдение за переменными и другие функции.
строить компилировать
Наиболее часто используемым инструментом сборки под Linux должен быть Makefile, и make раньше использовался для разработки C/C++. Но некоторые языковые проекты будет сложно создавать с его помощью, например, Java. Функция сборки и компиляции среды IDE позволяет быстро создавать объектные файлы. Функция компиляции обычно использует собственный компилятор языка, такой как GO с командой go build.
Другие функции
Конечно, помимо описанных выше, IDE могут иметь множество других возможностей, таких как рефакторинг кода, история файлов, управление локалями, управление базами данных и многое другое. Пока это функция, которую можно вообразить, ее в принципе можно интегрировать, и текущая IDE, похоже, полностью вышла за рамки традиционной IDE.
Какие IDE есть в GO
В 2019 году GO разрабатывался уже десять лет. За этот период появилось множество IDE, которые может использовать язык GO, и представить их все подробно нереально. Далее я сосредоточусь на нескольких IDE, которые я знаю лучше.
Goland
Goland, интегрированная среда разработки Go, запущенная коммерческой компанией jetbrains за последние два года, действительно мощная.
Я считаю, что многие программы использовали свои IDE, такие как Intellj IDEA для Java, PHPStorm для PHP, PyCharm для Python, CLion для C++, интерфейс WebStorm и т. д. Используя JetBrains IDE, мы можем наслаждаться превосходным готовым интерфейсом и системой подключаемых модулей, которые компания JetBrains накопила за более чем десять лет.
Несколько лет назад, до выпуска Goland, если мы хотели использовать IDE jetbrain для разработки GO, нам требовалась поддержка подключаемых модулей, предоставляемая ею. Эти плагины, кажется, были сняты с полок после того, как Goland был выпущен.
Я должен признать, что функциональный уровень Голанда действительно совершенен. Но есть несколько моментов, на которые я хочу пожаловаться.Первое, что я должен упомянуть, это то, что IDE Jetbrians в основном имеет проблему зависания, и потребление ресурсов относительно серьезно. Хотя некоторые большие коровы предоставили решения по оптимизации, опыт по-прежнему несравним с другими IDE.
Использование Goland «из коробки» делает его очень простым, на самом деле нечего вводить, и в принципе его можно установить!
VS Code
Мощный современный легкий редактор IDE, разработанный Microsoft, бесплатный и с открытым исходным кодом. Благодаря мощным возможностям подключаемых модулей VS Code почти поддерживает разработку проектов на основных языках. Без исключения GO является одним из них.
Причина, по которой я попробовал VS Code, не в так называемом компьютерном мышлении, мне нравится бездельничать. Это потому, что IDE Jetbrains часто зависает и часто переключается между разными языками. Одновременный запуск нескольких IDE Jetbrains — проблема.
Чтобы добавить возможности разработки GO в VS Code, вам нужно только установить плагин, адрес плагина. Во время установки вы можете столкнуться с некоторыми проблемами, наиболее распространенной из которых является сбой загрузки по сети при установке некоторых зависимых пакетов. Не буду говорить почему, всем понятно. Однако проблему еще предстоит решить.
Приведите конкретный пример! В плагине GO мы установим пакет через go get golang.org/x/tools/xxx В это время велика вероятность ошибки сетевого подключения. Мы можем найти соответствующий репозиторий на github, golang/tools, а затем использовать команду git, чтобы загрузить его, поместить в каталог, указанный GOPATH, а затем установить его.
Наконец, вставка вопроса, VS код разработан электронным, а электрон представляет собой библиотеку с открытым исходным кодом кроссплатформенного настольных приложений с HTML, CSS и JavaScript, Nodejs и Chromium. Следовательно, с характеристиками браузера используйте VS-код, мы можем добиться много замечательных плагинов, таких как следующие плагины.
GitHub Daily: после установки этих плагинов VSCode грести и ловить рыбу на работе — не мечта.
Vim GO
При ближайшем рассмотрении vim должен быть текстовым редактором, но у него есть много возможностей, которые не должны принадлежать текстовому редактору, например, завершение слов, переход по тегу ctags, разделение окон, восстановление файла после сбоя, сравнение файлов, более 400 видов выделения текста. , так далее. Самый важный момент — у vim есть собственный скриптовый язык, что позволяет расширять его возможности за счет плагинов.
Расширение vim до GO IDE, подходящей для вашего собственного использования, требует не только написания множества сложных конфигураций и сценариев, но и совместной работы различных подключаемых модулей для достижения наших целей. Например, представленные выше общие функции IDE должны быть настроены и реализованы одна за другой в vim.
Чтобы создать среду vim для GO, вам нужно использовать очень важный плагин vim-go. Предоставлен зарубежными разработчиками, есть и его на ютубеПоделиться видео, вы можете пойти и посмотреть, если вы заинтересованы. vim-go предоставляет различные функции, такие как компиляция кода, выполнение, тестирование, рефакторинг кода, подсказки об ошибках и т. д. Подробнее см.учебник vim-go.
Следует отметить, что хотя vim поддерживает подключаемые расширения, все же очень сложно интегрировать опыт VS Code. Я не уверен, что это возможно, но даже если бы это было возможно, это было бы очень сложно. В настоящее время я пытаюсь настроить среду разработки GO с помощью vim.Визуализация выглядит следующим образом, и некоторые функции не идеальны. Когда вы созреете, вы сможете написать статью и представить ее всем от простого до глубокого.
В настоящее время я в основном использую эти три IDE: Goland в основном используется на работе, а VSC и vim используются в обычное время. Конечно, есть много других IDE, которые кратко представлены ниже, но, поскольку я мало ими пользовался, трудно говорить по опыту.
Sublime Text
Первоначально используя VS Code, я чувствую, что его привычки использования похожи на Sublime. Но когда дело доходит до Sublime, говорят, что это мощный текстовый редактор, а его возможности кодирования также расширяются за счет плагинов. GoSublime — это плагин, который расширяет функциональность GO для Sublime.
LiteIDE Облегченная IDE, я слышал, что ее разработали китайцы. Наверное, более популярен до появления Голанда. Может быть, это потому, что я невежественен и не знаю, сколько людей используют его сейчас.
Затмение IDE с открытым исходным кодом, популярная на протяжении многих лет, имеет богатые ресурсы и поклонников, она должна быть любимой IDE для разработки Java. GoEclise — это подключаемый модуль Eclipse для Goland. Я узнал из github, что этот проект, похоже, давно не обновлялся.
Атом Как и VS Code, он разработан на основе Node-Webkit, а именно Electron. Это текстовый редактор с открытым исходным кодом на github. go-plus — это плагин, разработанный Atom для Golang.
Суммировать
Эта статья начинается с того, зачем использовать IDE, и знакомит с историей развития IDE. В то же время он обобщает, какие функции обычно предоставляет базовая IDE. Просто знание их может помочь нам лучше использовать их в будущем. Наконец, я представил на рынке несколько популярных IDE и проанализировал их соответствующие преимущества и недостатки, насколько это было возможно.