有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

vim中的Java语法检查

首先,请不要对我大叫“使用IDE”。我给了eclipse一个机会,它是。。。好的,但我在vim中比eclipse快得多

基本上,我希望vim能够像eclipse那样做的一件事就是动态地检查语法。在eclipse中,如果您有语法错误,那么这一行会给出一个错误标记,顶部的文件名会显示一个红色的小东西,让您知道有错误。我一直在试着把这个放在vim里。我看过syntastic(它没有Java的checker),但我似乎无法让它工作。所以问题仍然是

每次我用vim保存文件时,有没有办法检查语法?希望它能显示在状态行中,命名有多少个错误以及第一个错误出现在哪一行


共 (4) 个答案

  1. # 1 楼答案

    我意识到这已经有了一个可接受的解决方案,但是vim纯化者可能更喜欢使用Syntastic

    它是为许多常见语言(如PHP、Java等)预先配置的。我只是想把它留在这里,以防其他人有同样的问题,但不想运行无头eclipse服务器来实现它

  2. # 2 楼答案

    我是Java新手,在尝试了一些IDE之后,我又回到了vim。到目前为止,我对这两个插件有很好的经验

    • javacomplete2-提供omnicompletion和一些函数来自动添加导入语句、生成getter和setter等
    • Neomake-处理异步代码检查,在Neovim或Vim8中使用异步支持(我还没有在Neovim中尝试过这一点,但我认为它应该可以工作)

    还应该安装一个好的自动完成插件(我有javacomplete2与YouCompleteMe配合得很好)

    为了使这两种方法都能起作用,我的工作中有以下几点。vimrc:

    augroup java
      au!
      autocmd FileType java setlocal omnifunc=javacomplete#Complete
      autocmd BufReadPost,BufWritePost *.java :NeomakeFile
      # ...
    augroup end
    

    在使用Neomake之前,我试着使用Syntastic进行linting。但该插件不支持异步,因此在编写文件后,我必须等待一秒钟左右,我的vim才能响应

  3. # 4 楼答案

    新的JavaComplete插件可以为Java提供一些支持,包括Java8