Подтвердить что ты не робот

Перемещение разработки из Windows в Linux

Я - давняя Visual Studio (от версии 6 до 2008), которая действительно нравится редактору и особенно отладчику. Теперь я подумываю о том, чтобы дать Linux пойти, есть ли IDE с похожими или лучшими возможностями там?

Мне также интересны рекомендации для библиотек GUI, С++ или С#.

4b9b3361

Ответ 1

Я переехал из окон в linux 9 или около того несколько лет назад, потратив свою первоначальную карьеру на Visual Studio.

Переход был относительно простым, поскольку среда сборки была в первую очередь основана на Makefiles. До этого момента я использовал сценарии для создания проекта визуальной студии для проекта каждый раз, когда были изменения.

В то время другие в моей команде использовали emacs. Кривая обучения довольно крутая, когда вы исходите из чего-то вроде VS, но IMHO это хорошо стоило того времени, когда я вложил в нее.

То, что продавалось мне на emacs, было интеграцией с gdb. Emacs имеет режим специально для gdb. Когда этот режим запущен, вы можете включить "gdb-many-windows". Это дает вам представление, очень похожее на представление любой среды отладчика. Кроме того, одна из первых вещей, которые я сделал после переезда, - это настроить быстрые клавиши VS. Так что даже после всего этого времени в моем файле .emacs есть следующее:

(global-set-key [f7] 'compile)             ;; asks for a command to run eg: make
(global-set-key [f4] 'next-error)          ;; show the next error
(global-set-key [S-f4] 'previous-error)    ;; show the previous error

(global-set-key [f5] 'gdb)                   ;; start the debugger   
(add-hook 'gud-mode-hook                     ;; allows changes to debugger mode
          '(lambda ()
             (define-key (current-local-map)
               [f10]
               'gud-next)                    ;; F10 does step over
             (define-key (current-local-map)
               [f11]
               'gud-step)                    ;; F11 does step into
             (define-key (current-local-map)
               [\S-f11]
               'gud-finish)                  ;; Shift+F11 finish function
             (define-key (current-local-map)
               [f5]
               'gud-cont)                    ;; F5 does continue.
             (gdb-many-windows t)))          ;; Set up a debugger type view

Если вы раньше не использовали emacs, то первое, что вам нужно знать, это то, что вы набираете: Ctrl + X Ctrl + C для выхода из emacs.

Если вы решите отдать его, после загрузки его используйте Ctrl-H, затем "t". Это запускает учебник emacs, который даст вам основы.

Конечно, если вы застряли, тогда просто просмотрите или спросите вопрос SO с тегом emacs. Это стало действительно источником информации для использования emacs. Я узнал об этом gdb-many-windows в апреле этого года из этого вопроса!

Ответ 2

http://monodevelop.com/ будет вашей ближайшей ставкой для редактора, подобного визуальной студии

Ответ 3

Я бы порекомендовал Eclipse, он очень похож на Visual Studio в возможностях и может быть расширен с гораздо большим количеством плагинов, чем VS. предложение.

Ответ 4

Я проверил Mono. Вам не нужно слишком сильно переделывать то, что вы уже делаете.

Ответ 5

Не, просто не! Я делаю это сейчас @работа, так как я должен и я пробовал, netbeans, kdevelop, eclipse. Они настолько базовые по сравнению с VS, особенно если вы привыкли к более продвинутым функциям, которые вы сойдете с ума, и попросите визуальную студию вернуться назад.

Ответ 6

Eclipse - единственная среда разработки, поддерживающая несколько языков, сопоставимых с Visual Studio.

Ответ 7

Если вы собираетесь заниматься разработкой С# на linux, я бы порекомендовал MonoDevelop. Он разработан специально для разработки .net(eclipse is not), и он действительно довольно полно показан, он включает в себя визуальные отладчики, завершение кода, графическую интеграцию с nunit и практически все, что вы ожидаете от современной среды разработки. Он включает некоторые функции, отсутствующие в Visual Studio. Я был возбужден совсем недавно, чтобы обнаружить, что я могу щелкнуть правой кнопкой мыши по интерфейсу и выбрать найти все реализации. Это функция, не реализованная в visual studio, и которую я считаю чрезвычайно полезной.

Что касается библиотек GUI, если вы используете С# в linux, тогда лучшая инфраструктура графического интерфейса GTK #. MonoDevelop включает встроенный графический конструктор для него. Несколько зрелых и широко используемых приложений linux используют это, включая:

Banshee - музыкальный проигрыватель

FSpot - менеджер фотографий (по умолчанию в Ubuntu)

Tomboy - приложение Notes (по умолчанию в gnome)

MonoDevelop - IDE (аналогично Visual Studio)

GTK # также является кросс-платформой, поэтому может работать и на Mac, и на окнах. Это подтверждается его использованием в MonoDevelop, где он используется для работы в Linux, Mac и Windows.

Ответ 8

Я разработчик Linux, и я бы убил (или, по крайней мере, искалечил) среду разработки, приближающуюся к сложности Visual Studio. Но тогда Visual Studio не поддерживает Lua или Haskell или ML, которые являются основными языками, которые я использую в эти дни.

Как и многие другие, я нахожу Eclipse слишком медленным и не хватает функциональности для языков, которые не являются Java.

У меня есть две положительные рекомендации: для отладки программ на C и С++ комбинация valgrind (отладчик памяти) и Отладчик отображения данных (интерактивный отладчик GUI) делают меня примерно в 5 раз более производительным в C, чем я имел обыкновение только с dbx или gdb.

Ответ 9

Теперь я собираюсь дать Linux, есть ли IDE с подобным, или лучше, возможности там?

Мне также интересны рекомендации для библиотек GUI, С++ или С#.

Я говорю только для С++:

  • Есть похожие IDE, но они не так хороши, как VS.
  • Структура Qt включает в себя лучшую библиотеку графического интерфейса С++.

Даже не заботьтесь о Eclipse или MonoDevelop для С++, попробуйте KDevelop или QtCreator. Отладка С++ будет особенно болезненной по сравнению с тем, к чему вы привыкли.

Ответ 10

MonoDevelop. Также # Разработать довольно приятно - быстро, хотя и не хватает некоторых функций, и поддерживает только С# (Mono или .NET)