После многих лет использования Visual Studio для программирования на C ++ я только сейчас переключаюсь на Linux для работы. Пока все идет отлично, за одним небольшим исключением — gedit. После написания некоторого кода в простом текстовом редакторе я действительно начинаю скучать по функциям автоматического форматирования, к которым я привык.
Есть ли какой-нибудь «блокнот программиста», который бы помог с автоматическим форматированием на лету, или мне пришлось бы использовать стандартную IDE для этой функции? Большинство разработчиков Linux форматируют свой код вручную с помощью основного текстового редактора?
Я не ищу полноценную IDE, просто что-то, что автоматически форматирует мой код C ++ при вводе.
Существует довольно широкий спектр текстовых редакторов для IDE в Linux. Вот некоторые из них, которые приходят на ум, от большинства «подобных блокнотам» до самых «похожих на VS».
В отделе «текстовый редактор» (имеется в виду отсутствие встроенной компиляции, конфигураций сборки, отладчика и т. Д. Просто редактирование текста / кода):
В отделе IDE (имеется в виду интеграция с некоторыми инструментами сборки, и, как правило, некоторый код завершения и анализ семантики кода (обнаружение переменных, классов и т. Д., Может ссылаться на dox для них)):
Конечно, это лишь частичный список, включающий только те, с которыми я сталкивался или о которых много слышал. Там, наверное, много других.
Есть ли какой-нибудь «блокнот программиста», который бы помог с автоматическим форматированием на лету, или мне пришлось бы использовать стандартную IDE для этой функции?
Все приложения, которые я перечислил выше в отделе «текстового редактора», поддерживают такую функцию (но я не уверен на 100% в Gedit, потому что она довольно проста, и я не очень часто ее использую, потому что я не не нравится) Единственный основной переход, который вы получаете, когда пишете код из текстового редактора в IDE, — это код завершения / фонового синтаксического анализатора, то есть функции типа «Intellisense», включая документацию всплывающей подсказки о классах или функциях. Вы не можете получить это в текстовом редакторе, потому что он должен был бы знать о вашей конфигурации сборки (например, ваши файлы cmake или эквивалентные), чтобы знать, откуда извлекать заголовки, чтобы иметь возможность «понять» ваш код за пределами тривиальных правил синтаксиса, ключевых слов. и отступ.
Большинство разработчиков Linux форматируют свой код вручную с помощью основного текстового редактора?
Нет. Но это разнообразный мир. Некоторым нравятся базовые текстовые редакторы, где автоматическое отступление — примерно столько же, сколько вы получаете, в то время как другие предпочитают многофункциональные IDE, а затем есть те, кто выбирает свой текстовый редактор по тому, насколько круто выглядят цветовые темы. 😉
И, между прочим, есть также довольно мощные средства форматирования кода командной строки, такие как лязг-формат, который может переформатировать ваш код намного более умным способом, потому что он имеет полноценный внешний интерфейс компилятора C ++, анализирующий ваш код.
Насколько я знаю, Gedit есть поддержка автоматического отступа, попробуйте Редактировать -> Настройки -> Редактор и установите флажок «Включить автоматический отступ».
Однако лично я рекомендую вам использовать VIM, профессиональный текстовый редактор, хотя и не для всех. Vim не IDE, просто текстовый редактор, но он очень мощный.
Если напор кажется слишком много на данный момент, я думаю, что Кейт лучше, чем Gedit.