Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Vim作为C#编辑器,面临一些问题_C#_Vim - Fatal编程技术网

使用Vim作为C#编辑器,面临一些问题

使用Vim作为C#编辑器,面临一些问题,c#,vim,C#,Vim,我有几个问题,还有几个问题是如何使用vim作为C#编辑环境。首先,我是vim的新手,所以这对我来说是一个学习过程,我非常感谢您提供的任何建议和指导。其次,我在编译任何cs文件时遇到了一些问题 我将其用作我的cs.vim编译器: if exists("current_compiler") finish endif let current_compiler = "cs" if exists(":CompilerSet") != 2 " older Vim always used :

我有几个问题,还有几个问题是如何使用vim作为C#编辑环境。首先,我是vim的新手,所以这对我来说是一个学习过程,我非常感谢您提供的任何建议和指导。其次,我在编译任何cs文件时遇到了一些问题

我将其用作我的cs.vim编译器:

 if exists("current_compiler")
  finish
endif
let current_compiler = "cs"

if exists(":CompilerSet") != 2      " older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
            \%trror%*[^:]:\ %m,
            \%tarning%*[^:]:\ %m

execute 'CompilerSet makeprg=' . cs#get_net_compiler("csc.exe") . "\\ %
如果存在(“当前编译器”)
完成
恩迪夫
让当前编译器=“cs”
如果存在(“:编译器集”)!=始终使用2“旧Vim:设置本地
命令-nargs=*编译器集setlocal
恩迪夫
编译器集错误格式&
编译器集errorformat+=%f(%l\\,%v):\%t%*[^:::::\%m,
\%trror%*[^::::\%m,
\%计息%*[^:::\%m
执行“CompilerSet makeprg=”.cs#get#u net_compiler(“csc.exe”)。“\\%
不知道我在哪里找到的。但是,如果我在一个目录中,目录名中有空格,我会得到一个错误,无法找到要编译的文件。我想我需要告诉它逃离空间,但我该怎么做

即使我切换回原来的cs.vim编译器文件,我也会遇到奇怪的问题,它似乎无法编译:

除此之外,是否可以在vim中使用C#项目,并在编译时让它识别引用等

编辑:为了澄清,我使用了Visual Studio作为我的主要IDE。我想学习更好地使用vim,因此我提出了以下问题


谢谢

就我个人而言,我使用Vim和Visual Studio的组合(安装了VsVim)进行日常C#编码。我使用纯Vim进行更长时间的编辑,因为VsVim虽然很好,但它与完整的Vim环境及其生态系统不一样。在交互式调试方面,没有什么比VisualStudio更好的了

为了获得编译器,我在我的vimrc中使用以下设置,这些设置是从互联网的某个部分窃取和转换的:

set errorformat=\ %#%f(%l\\\,%c):\ %m
set makeprg=C:\\windows\\microsoft.net\\framework\\v4.0.30319\\msbuild.exe\ /nologo\ /v:q\ /property:GenerateFullPaths=true 
请注意,它集成了MSBuild,因此可以与完整的
.sln
文件一起工作——整个构建工作正常,无需处理单个文件。要执行完整构建,只需运行
:make

虽然不是严格要求,但我也喜欢这个标志:

set shellcmdflag=\/C

因为它可以确保
cmd
窗口自动关闭。

作为多年的VIM用户,您将返回VS。请看下面的帖子:@Allov谢谢您的链接。本页上有一些关于尝试在vim中使用不同语言的建议,这是一种更好的支持方式,我可能会选择这种方式,只使用VS作为我的C#/.net编辑器。我知道这对你的问题没有帮助,但是。。。如果您不知道,VsVim()是一个非常棒的vim编辑器,可以在VisualStudio中使用。它有很多Vim功能(当然不是全部),作为一个长期使用Vim的用户,我很高兴在VS@ngm中使用它,这实际上激发了我对Vim的兴趣。我唯一的问题是,我太拘泥于我的方式,我对VsVim感到恼火,并将其关闭。我想,如果我完全沉浸在Vim中,我将被迫学习它,当我回去时,VsVim将更加方便。这包括项目参考吗?例如,我想我试着只用编译器CS编译一个项目,结果得到了引用错误。我还发现:这似乎帮了大忙。我仍然很难完全过渡到Vim。只要在
.sln
文件中配置了引用(就像Visual Studio所做的那样),它们就可以完美地工作。我通常在VisualStudio中执行类似管理的操作(例如添加引用、添加文件、创建项目),并从Vim中编写尽可能多的代码。