Tuesday, October 18, 2016

Re: Compile and Run Java Projects

Hi,

You should instead use the integrated :make/quickfix feature of vim. You'll have a much better user experience.

First be sure that you have set javac as the make program. It's best done by sourcing compiler/javac.vim
-> :runtime compiler/javac.vim

I would have done it in a java ftplugin, but as I'm not a Java developer, I'm not sure this is a good default setting. So, let's put it in your function.


```vim
command! MakeAndRun :call s:CompileAndRunFolderJava()

function! s:CompileAndRunFolderJava() abort
runtime compiler/javac.vim

" old trick to detect compilation errors - part 1
" --- The following code is borrowed from LaTeXSuite
" close the quickfix window before trying to open it again,
" otherwise whether or not we end up in the quickfix window
" after the :cwindow command is not fixed.
cclose " used to detect errors
let winnum = winnr()

" compile all java files in folder of the current buffer
make %:p:h/*.java

" old trick to detect compilation errors - part 2
if winnum == winnr() " => no error detected
" run Main java file in that folder
:!(cd .. && java %:p:h:t.Main)

" delete all the .class files in that folder
:!rm %:p:h/*.class
endif

" :echomsg "Done"
endfunction
```

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: