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

8

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

我知道ViEmu适用于VS,但我想做相反的事情——有没有办法从VIM中管理项目?

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

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

有什么技巧/解决方案/黑科技可以让我使用VIM来管理我的项目吗?(理想情况下,同时使用makefiles和MSBuild文件,但只使用一种构建文件也足够了。)


相关问题:https://dev59.com/33NA5IYBdhLWcg3wC5JR(*不是*完全重复)。 - Konrad Rudolph
5个回答

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中编译和构建程序。

2
我的第一个想法是Eclim项目,它将Eclipse功能带到Vim中。然后你可能可以从Eclipse中管理你的VS项目,我不知道有没有这样的项目,但我猜想有一些存在。

1

也许我没有理解问题。

VS是一个功能齐全的IDE - 您可以在其中编辑、编译和调试,而无需离开它。

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

我认为您一开始尝试做的事情是正确的 - 将vim的编辑能力带到VS世界中。


1
你有看过其他的构建工具吗(nant是.net最流行的)?
Nant比msbuild简单得多,你可以用几行代码创建一个简单的构建文件,并轻松地与vims makeprg集成。

0

你不必维护Visual Studio项目文件来管理你的源代码。有很多预生成工具可用于生成你的Visual Studio项目文件,例如CMake、Premake等。这样你就不会被复杂的VC项目设置搞疯了,同时也带来了跨平台的可能性。

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

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

你可以使用vim插件YouCompleteMe来进行编译器级别的智能提示。

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

还有什么是你期望的呢? :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接