VIM:有一种从Vim管理Visual Studio解决方案/ makefile项目的简单方法吗?

时间:2009-07-13 13:55:56

标签: c++ visual-studio vim project-management makefile

我尝试使用Visual Studio而不是VIM(+插件),但说实话 - VS对VIM的唯一优势是它能够自动管理我的项目。

我知道VS的存在ViEmu,但我想反过来 - 有什么方法可以从VIM内部管理项目吗?

我尝试了c.vim插件和Project插件,但是:

  • 我在Windows上使用c.vim时遇到问题(据我记得,文件路径中有“斜杠”错误。)
  • 项目允许组织项目,但它缺少生成makefile / msbuild文件的功能(或者我错了?)。

是否有任何提示/解决方案/黑客,这将允许我使用VIM来管理我的项目? (理想情况下,使用makefile和MSBuild文件,但只有一种类型的构建文件就足够了。)

5 个答案:

答案 0 :(得分:6)

要将vim与devenv集成,可以使用Visual Studio中的devenv在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编译和构建程序。

答案 1 :(得分:2)

我的想法是Eclim项目,该项目为Vim带来了Eclipse功能。然后你可以从Eclipse管理你的VS项目,我不知道有任何项目可以做到这一点,但我怀疑有些项目存在。

答案 2 :(得分:1)

也许我不明白这个问题。

VS是完整功能IDE - 您可以编辑,编译和调试而无需离开它。

相比之下,vim不是IDE - 它非常强大的文本编辑器。然而,vim有一些面向程序员的内置功能(例如:make命令,编译,自动缩进等)。 vim来自Unix世界,那里有几个构建工具(make,scons,cmake等)。如你所知,你可以使用插件“整合”它们,这些插件大多远非完整。

我认为你在开始时尝试做的事情是正确的 - 给VS世界带来vim编辑能力。

答案 3 :(得分:1)

您是否看过其他构建工具(nant在.net中最受欢迎)?

Nant比msbuild简单得多,您可以在几行中创建一个简单的构建文件,并轻松地与vims makeprg集成。

答案 4 :(得分:0)

您不必维护visual studio项目文件来管理源代码。有许多预生成工具可用于生成可视工作室项目文件。如CMake,Premake等。通过这种方式,您不会被复杂的VC项目设置所驱使,并且它也会使其具有跨平台的可能性。

因此在vim中,您可以按物理文件夹拆分项目,然后使用Cmake脚本定义生成项目的规则。

当添加/删除文件时,重新生成VC项目,然后调用Cmake,它将调用msbuild来编译项目。

您可以使用vim插件YouCompleteMe来获取编译器级别的情报。

您可以编写简单的vim脚本来启动已编译的可执行文件。

你还有什么期望? :)