Существует ли в природе такой редактор текста (исходного кода), который позволял бы производить навигацию по всему проекту? Редакторы на подобии Notepad++ или Atom очень удобные в части редактирования кода. Но существуют ли плагины для них, которые позволяли бы переходить по переменным или функциям по файлам проекта?
Отслеживать
задан 12 дек 2017 в 5:57
Denis Leonov Denis Leonov
540 4 4 золотых знака 10 10 серебряных знаков 24 24 бронзовых знака
vim и emacs c плагинами вроде бы позволяют это делать
12 дек 2017 в 6:22
попробуй visual studio code. Вроде он без проблем переходит по функциям и переменным.
12 дек 2017 в 6:31
Попробуйте какую-нибудь IDE
12 дек 2017 в 7:44
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
На самом деле существует много способов решить данную задачу. И многие с них ограничиваются только фантазией программиста. Начнем с классики — vim.
Классика — vim + ctags
В vim проблема автодополнения кода/навигации стояла давно и решение было придумано простое — ctags. Ctags — это маленькая программа, которая парсит сорцы и делает специальный tag файл, в котором хранится информация о переменных, функциях и тому подобном.
Редакторы кода
- почти в любом линуксе «Из коробки».
- работает достаточно быстро
- можно гибко настроить (ниже)
- нет парсинга «налету» (решается вызовом ctags по сохранению)
- нормально работает только с простыми языками — си и подобными, плюсы сильно хуже.
- автодоболнение «тупое», плохо привязано к контексту.
Хотя это и примитивное решение, но оно гибкое. У меня был случай, когда нужно было делать навигацию по файлам шаблонов, движок которых был написан внутри компании и за ее приделами неизвестный. Несколько часов и был готовый перловый скрипт, который парсил (примитивно) шаблоны и формировал файл тегов. После этого вим запрыгал по них «нативненько». Базовые комбинации — Ctrl — ] — переход по тегу, Ctrl — t — вернуться назад.
Если установить расширения Ctrlp, то можно будет искать по тегам с помощью CtrlPTag.
Еще, наличие файла тегов позволяет запускать так vim -t и вим найдет, где объявлен идентификатор и откроет нужный файл в нужном месте:)
TagBar также может сделать жизнь чуточку лучше.
vim + YouCompleteMe
Использовать плагин YouCompleteMe. Данный плагин делает почти то, что многие ожидают — дополнение «на лету». На убунту ставится легко, на gentoo требовала плясок. Но работает очень интересно.
vim+clang
Добавить в vimrc такую строку
let g_clang_library_path=’/usr/lib/llvm. /libclang.so.1′
и поставить плагин clang_complete (хотя у меня как то и без плагина работает. ).
Yavide
Упоминая вим, хочется сказать и yavide — это уже хитро настроенный vim, который пытается выглядеть как полноценная ide.
Visual studio code
Майкрософт взяла популярный редактор atom и попыталась исправить в нем «все фатальные недостатки» и сделала свой редактор. Работает достаточно хорошо, если поставить следующие плагины ms-vscode.cpptools, ajshort.include-autocomplete (первый ставится обычно автоматом). Но мне не нравится как он показывает навигацию.
10. Редакторы кода и IDE [Универсальный программист]
Emacs
Также есть ещё эмакс, но я не большой любитель его, поэтому мало что смогу написать.
Все вышеприведенные способы хорошо заводятся в линукс. Visual studio code, не смотря на свое происхождение, хорошо справляется с задачами под линукс/мак, но плохо работал (похоже сейчас начали это исправлять) под виндой.
Visual Studio Community
Под виндой хорошо поставить communiti версию студии. Она покроет много задач и самое главное — бесплатна.
Qt Creator
Вторая неплохая IDE как не странно — QtCreator. Под линуксом я перешел на него, отказавшись от Visual studio code (но для мелких проектов все равно использую вим:) ). Последнее время QtCreator достаточно хорошо развивается, так что покроет базовые вещи легко.
Разное
Есть ещё много других IDE — CodeBlock, CodeLite, Eclipse, но как то они не в ту сторону движутся.
Clion
Отдельно хочется упомянуть CLion. Если продукты Jetbrains знакомы, то может оказаться удобным. Но у него есть три больших недостатка — сильно платный, тормознутый (впрочем, как и остальные продукты, которые запускаются на jvm) и он написан не на с/с++ — это как проектировать спорткары, но при этом ездить на запорожцах/москвичах.
Бонус — Juci++
Недавно увидел новую чудную маленькую ide — juci++. Работает приятно, настраивается модно с помощью json файла, который применяется «на лету». Буквально за пол часа удалось почти все настроить под себя.
а может все таки Notepad++?
Для него есть даже большая инструкция по настройке на хабре. Попытки адаптировать Clang под него я видел, но не пробовал. Также есть поддержка Ctags или этот.
Источник: ru.stackoverflow.com
Редактор исходного кода — SynWrite
SynWrite — бесплатный редактор исходного кода плюс редактор текста. Cочетает в себе лучшие идеи от других популярных редакторов, предоставляя полноценную среду для работы веб-разработчикам, вебмастерам и блоггерам. Одни из функций редактора SynWrite включают записи макросов, подсветка кода, свертывание кода, мульти-курсор редактирования и регулярные выражения.
Функциональность редактора можно легко расширить с помощью плагинов, как готовых решений, так и собственных, написанных под себя. Поддерживает более 70 языков программирования (CSS, Java, C++, JavaScript, Pascal, Perl, XML, PHP, SQL, HTML и другие).
Основные возможности редактора исходного кода:
- Подсветка синтаксиса для большинства языков
- Сворачивание кода
- Поддержка всех кодировок
- Мульти-каретки и мульти-выделения (режим одновременной работы с несколькими курсорами)
- Древовидная структура исходного кода
- Поддержка шаблонов исходного кода
- Подсказки и выделения кода
- Авто-завершение кода
- Поиск и замена с использованием регулярных выражений
- История буфера обмена
- Внешние инструменты (приложения с графическим интерфейсом, консольные приложения и др)
- Плагины на основе Python
- Основные макросы
- Проверка орфографии в том числе русской
- Валидация документов
- Предосмотр изображений
- Автоподсветка ошибок в коде
- Встроенная таблица специальных символов
- Файловый менеджер
- Выбор цвета
- Интеграция в Проводник Windows
- Встроенный клиент FTP / SFTP
- Экспорт в RTF / HTML с подсветкой синтаксиса и многое другое
- Справка по работе на русском языке
Текстовый редактор кода SynWrite, это полноценная замена популярного редактора Notepad++ и многих других профессиональных редакторов.
Посмотрите, оба редактора функционально очень схожи по своим возможностям
Редактор кода помимо основных, имеет целый ряд дополнительных инструментов, которые облегчают написание кода. Одним из таких инструментов является функция умного автозавершения для HTML и тегов, позволяющая дописать элементы кода, только начав писать его, используя в том числе подсказку параметров . Кроме этого редактор исходного кода SynWrite имеет очень удобную систему диалога поиск/замена. Поиск осуществляется очень быстро и в удобном виде. Редактор кода работает с закладками, вкладками, шрифтами и поддерживает большое количество тем оформления.
SynWrite — бесплатный редактор с подсветкой кода, удачная альтернатива Notepad++, а в некоторых случаях и превосходит его. Отличный редактор исходного кода для программиста, вебмастера и пользователя.
Советую почитать:
- Визуальный редактор для Joomla
- Бесплатный редактор блогов — Post2Blog 3.01
- Текстовый редактор AkelPad + Плагины
- NeonHTML — универсальный редактор
- Редактор текстовых файлов — TEA
Источник: www.websteel.ru
Текстовые редакторы
Текстовый редактор — самостоятельная компьютерная программа или компонент программного комплекса (например, редактор исходного кода интегрированной среды разработки или окно ввода текста в браузере), предназначенная для создания и изменения текстовых данных в общем и текстовых файлов, в частности.
Текстовые редакторы предназначены для работы с текстовыми файлами в интерактивном режиме. Они позволяют просматривать содержимое текстовых файлов и производить над ними различные действия: вставку, удаление и копирование текста, контекстный поиск и замену, сортировку строк, просмотр кодов символов и конвертацию кодировок, печать и т.п..
Часто интерактивные текстовые редакторы содержат дополнительную функциональность, призванную автоматизировать действия по редактированию (от записываемых последовательностей нажатий клавиш до полноценных встроенных языков программирования), или отображают текстовые данные специальным образом (например, с подсветкой синтаксиса).
Многие текстовые редакторы являются редакторами исходного кода, то есть они ориентированы на работу с текстами программ.
Источник: mb4.ru