You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.6 KiB
VimL
60 lines
2.6 KiB
VimL
3 years ago
|
filetype indent plugin on
|
||
|
let g:OmniSharp_server_stdio = 1
|
||
|
set previewheight=5
|
||
|
let g:OmniSharp_highlight_types = 3
|
||
|
let g:OmniSharp_server_path = '/mnt/c/Users/bkains/AppData/Local/omnisharp-vim/omnisharp-roslyn/OmniSharp.exe'
|
||
|
let g:OmniSharp_translate_cygwin_wsl = 1
|
||
|
set completeopt=longest,menuone,preview
|
||
|
augroup omnisharp_commands
|
||
|
autocmd!
|
||
|
|
||
|
" Show type information automatically when the cursor stops moving
|
||
|
autocmd CursorHold *.cs call OmniSharp#TypeLookupWithoutDocumentation()
|
||
|
|
||
|
" The following commands are contextual, based on the cursor position.
|
||
|
autocmd FileType cs nnoremap <buffer> gd :OmniSharpGotoDefinition<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>fi :OmniSharpFindImplementations<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>fs :OmniSharpFindSymbol<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>fu :OmniSharpFindUsages<CR>
|
||
|
|
||
|
" Finds members in the current buffer
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>fm :OmniSharpFindMembers<CR>
|
||
|
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>fx :OmniSharpFixUsings<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>tt :OmniSharpTypeLookup<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>dc :OmniSharpDocumentation<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <C-\> :OmniSharpSignatureHelp<CR>
|
||
|
autocmd FileType cs inoremap <buffer> <C-\> <C-o>:OmniSharpSignatureHelp<CR>
|
||
|
|
||
|
" Navigate up and down by method/property/field
|
||
|
autocmd FileType cs nnoremap <buffer> <C-k> :OmniSharpNavigateUp<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <C-j> :OmniSharpNavigateDown<CR>
|
||
|
|
||
|
" Find all code errors/warnings for the current solution and populate the quickfix window
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>cc :OmniSharpGlobalCodeCheck<CR>
|
||
|
|
||
|
" Running tests
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>rt :OmniSharpRunTest<CR>
|
||
|
autocmd FileType cs nnoremap <buffer> <Leader>ra :OmniSharpRunTestsInFile<CR>
|
||
|
augroup END
|
||
|
|
||
|
" Contextual code actions (uses fzf, CtrlP or unite.vim when available)
|
||
|
nnoremap <Leader><Space> :OmniSharpGetCodeActions<CR>
|
||
|
" Run code actions with text selected in visual mode to extract method
|
||
|
xnoremap <Leader><Space> :call OmniSharp#GetCodeActions('visual')<CR>
|
||
|
|
||
|
" Rename with dialog
|
||
|
nnoremap <Leader>nm :OmniSharpRename<CR>
|
||
|
nnoremap <F2> :OmniSharpRename<CR>
|
||
|
" Rename without dialog - with cursor on the symbol to rename: `:Rename newname`
|
||
|
command! -nargs=1 Rename :call OmniSharp#RenameTo("<args>")
|
||
|
|
||
|
nnoremap <Leader>cf :OmniSharpCodeFormat<CR>
|
||
|
|
||
|
" Start the omnisharp server for the current solution
|
||
|
nnoremap <Leader>ss :OmniSharpStartServer<CR>
|
||
|
nnoremap <Leader>sp :OmniSharpStopServer<CR>
|
||
|
|
||
|
nnoremap <C-B> :!msbuild<CR>
|
||
|
|