Omnisharp是一款用于c#开发的vim插件。他是NRefactory的缩小版
特性:
* 代码补全
* 跳转到定义(类型,变量,方法)
* 查找类型/标识符(需要CtrlP插件支持)
* 查看 接口实现/派生类
* 查看调用
* Contextual code actions
* 语法检查 (需要Syntastic插件支持)
* 重命名(重构)
* 语法高亮
* 查看信息(包括类型,变量,方法)。并且有两种查看方式,状态栏和预览
* 语法错误高亮
* 集成编译功能 (需要 vim-dispatch 支持)
* 代码格式化
* 添加当前文件到最近的工程文件(.csproj)
* 添加引用。支持工程和文件引用
安装:
step1
cd ~/.vim/bundle若用vundle,参见 vim插件管理器-----vundle
git clone https://github.com/nosami/Omnisharp.git
git submodule update --init --recursive
cd Omnisharp/server
xbuild
step2
安装Python2.7.5
step3
安装依赖项(可选)
vim-dispatch、syntastic、CtrlP
使用:
1、启动OmniSharp服务
当你安装vim-dispatch之后,用vim打开一个.cs文件,服务就会自动开启。该服务会搜索.sln文件位置,并启动OmniSharp服务,将.sln文件路径传递给OmniSharp服务。
手动启动Omnisharp服务:
[mono] OmniSharp.exe -p (portnumber) -s (path\to\sln)OmniSharp监听端口2000,所以要更改防火墙配置。
2、自动补全
在插入模式下,按Ctrl-X Ctrl-O,可调出补全提示。如果安装了SuperTab插件,则点击Table就会弹出补全提示。如果想实现敲击字母就自动补全,可以研究一下这几个插件NeoComplete,YouCompleteMe和NeoComplCache.
3、语法错误检测
当保存当前文件时,自动检测
4、其他特性需要绑定快捷键。具体参考下面的.vimrc配置