VIM: есть ли простой способ управлять проектами Visual Studio/makefile из Vim?

Я попытался использовать Visual Studio вместо VIM (+ плагинов), но, честно говоря, единственное преимущество VS над VIM - это способность автоматически управлять моим проектом.

Я знаю о существовании ViEmu для VS, но я хотел бы сделать обратное - есть ли способ управлять проектами из VIM?

Я попробовал как c.vim плагин и Project плагины, но:

  • У меня проблема при использовании c.vim для Windows (из того, что я помню, в файле pathpath есть ошибка с "косой чертой" ).
  • Проект позволяет организовывать проекты, но ему не хватает функций для создания файлов makefiles/msbuild (или я ошибаюсь?).

Есть ли советы/решения/хаки, которые позволили бы мне использовать VIM для управления моими проектами? (в идеале, используя как make файлы, так и файлы MSBuild, но достаточно одного типа файлов сборки.)

Ответ 1

Возможно, я не понимаю вопроса.

VS - это полнофункциональные функции IDE - вы редактируете, компилируете и отлаживаете, не покидая его.

vim напротив - не IDE - его очень мощный текстовый редактор. Тем не менее, у vim есть встроенная функциональность, ориентированная на программистов (например: make command, compilation, automatic indentation и т.д.). vim приходит из мира Unix, где есть несколько инструментов для сборки (make, scons, cmake и т.д.). Как вы знаете, вы можете "интегрировать" их с помощью плагинов, которые в основном очень далеки от завершения.

Я думаю, что то, что вы пытались сделать в начале, - это правильная вещь - принесите Vim-редактирующую силу в мир VS.

Ответ 2

Чтобы интегрировать vim с devenv, вы можете использовать devenv из Visual Studio для соответствия проекту в vim. Команда выглядит следующим образом:

Devenv SolutionName /build SolnConfigName [/project ProjName [/projectconfig ProjConfigName]]

Типично, devenv должен находиться в папке C:\Program Files\Microsoft Visual Studio 8\Common7\IDE. Установите его на путь среды, чтобы сделать его вызываемым из vim. Нам также необходимо заставить vim распознавать сообщения об ошибках, создаваемые инструментом построения командной строки devenv. Просто поместите следующие строки в свой vimrc:

" Quickfix mode: command line devenv error format
au FileType cpp set makeprg=devenv.com\ /Build\ Debug\ *[SolutionName]*
au FileType cpp set errorformat=\ %#%f(%l)\ :\ %#%t%[A-z]%#\ %m

Затем вы можете использовать: make для компиляции и сборки программы из vim.

Ответ 3

Моя непосредственная мысль заключалась в проекте Eclim, который привносит функциональность Eclipse в Vim. Тогда вы, возможно, сможете управлять проектами VS от Eclipse, я не знаю никаких проектов, чтобы сделать это, но я подозреваю, что некоторые из них существуют.

Ответ 4

Посмотрели ли вы на другие инструменты сборки (nant является наиболее популярным для .net)?

Nant намного проще, чем msbuild, вы можете создать простой файл сборки в нескольких строках и легко интегрироваться с vims makeprg.

Ответ 5

Вам не нужно поддерживать файлы проектов визуальной студии для управления исходным кодом. Существует множество инструментов предварительного поколения, которые можно использовать для создания файлов проектов визуальной студии. Такие, как CMake, Premake и многое другое. Таким образом, вы не будете сбиты с ума сложными настройками VC-проектов, а также обеспечите возможность быть кросс-платформенной.

Итак, в vim вы можете разделить свой проект на физическую папку, а затем использовать Cmake script, чтобы определить правило для создания проектов.

Когда файл добавлен/удален, вы повторно создаете свой проект VC, а затем вызываете Cmake, который будет вызывать msbuild для компиляции ваших проектов.

Вы можете использовать vim plugin YouCompleteMe для интеллекта на уровне компилятора.

Вы можете написать простой vim script, чтобы запустить скомпилированный исполняемый файл.

Чего еще вы ожидаете?:)