Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
Qt创建者标记文件 我使用VIM进行C++代码编辑。但是它的代码完成不是很好(尽管我已经尝试了很多插件,比如OmniCppComplete)。QtCreator代码的完成非常棒,它还具有vim风格的编辑功能,这对我来说已经足够充分了。唯一对我来说不太好的是,我不能在Qt-Creator中使用ctags功能(虽然Qt-Creator具有转到类定义的功能,但解析源代码需要更多的时间) < >可以在伪VIM模式下创建QT-创建者的源代码标签文件吗? < P> C++中的VC++代码完成实际上是优越的。我将概述你必须采取的步骤,以使其发挥作用。然而,我不会在这里详细介绍(比如构建庞大的开源代码库、克隆存储库、安装Vim插件等等),因为否则值得为新手编写一个大型教程。因此,假设您对软件开发人员有很好的了解并做好了充分的准备,那么您就可以获得一个流畅的指南:_Qt_Vim_Qt Creator_Ctags - Fatal编程技术网

Qt创建者标记文件 我使用VIM进行C++代码编辑。但是它的代码完成不是很好(尽管我已经尝试了很多插件,比如OmniCppComplete)。QtCreator代码的完成非常棒,它还具有vim风格的编辑功能,这对我来说已经足够充分了。唯一对我来说不太好的是,我不能在Qt-Creator中使用ctags功能(虽然Qt-Creator具有转到类定义的功能,但解析源代码需要更多的时间) < >可以在伪VIM模式下创建QT-创建者的源代码标签文件吗? < P> C++中的VC++代码完成实际上是优越的。我将概述你必须采取的步骤,以使其发挥作用。然而,我不会在这里详细介绍(比如构建庞大的开源代码库、克隆存储库、安装Vim插件等等),因为否则值得为新手编写一个大型教程。因此,假设您对软件开发人员有很好的了解并做好了充分的准备,那么您就可以获得一个流畅的指南:

Qt创建者标记文件 我使用VIM进行C++代码编辑。但是它的代码完成不是很好(尽管我已经尝试了很多插件,比如OmniCppComplete)。QtCreator代码的完成非常棒,它还具有vim风格的编辑功能,这对我来说已经足够充分了。唯一对我来说不太好的是,我不能在Qt-Creator中使用ctags功能(虽然Qt-Creator具有转到类定义的功能,但解析源代码需要更多的时间) < >可以在伪VIM模式下创建QT-创建者的源代码标签文件吗? < P> C++中的VC++代码完成实际上是优越的。我将概述你必须采取的步骤,以使其发挥作用。然而,我不会在这里详细介绍(比如构建庞大的开源代码库、克隆存储库、安装Vim插件等等),因为否则值得为新手编写一个大型教程。因此,假设您对软件开发人员有很好的了解并做好了充分的准备,那么您就可以获得一个流畅的指南:,qt,vim,qt-creator,ctags,Qt,Vim,Qt Creator,Ctags,获取并安装(Vim插件) 获取并安装(Vim插件) 如果您在Unix上,那么您是幸运的,因为您可能已经在系统上安装了,或者您必须使用package manager并使用单个命令安装它们。如果是这样,那么您可以立即跳到最后一步(#7) 如果你使用的是Windows,那么你就不那么幸运了,但从实用的角度来看,这实际上是更好的——你将拥有一个很好的经验,可以自己建造巨大的东西,并且无论发生什么事情都能让它正常工作。:) 因此,如果您在Windows上(并且使用Qt Creator,如我所见),那么您的

获取并安装(Vim插件)

  • 获取并安装(Vim插件)

  • 如果您在Unix上,那么您是幸运的,因为您可能已经在系统上安装了,或者您必须使用package manager并使用单个命令安装它们。如果是这样,那么您可以立即跳到最后一步(#7)

    如果你使用的是Windows,那么你就不那么幸运了,但从实用的角度来看,这实际上是更好的——你将拥有一个很好的经验,可以自己建造巨大的东西,并且无论发生什么事情都能让它正常工作。:)

    因此,如果您在Windows上(并且使用Qt Creator,如我所见),那么您的系统上可能已经安装了MinGW。如果不是这样的话,那么我强烈建议你安装一个流血边缘。幸运的是,您不必自己编译它,因为您已经在两个变体中构建了MinGW-w64工具链:和。只需根据您的操作系统下载一个注意:这些链接指向了MinGW-w64的最新(在撰写本答案时)稳定版本,即基于GCC 4.7.2的版本重要:确保MinGW-w64位于环境变量
    %PATH%

  • 需要的另一个软件是(一个流行的构建系统)。同样,如果您在Unix上,它可能已经安装。如果您在Windows上,那么只需下载并安装它重要信息:确保CMake位于
    %PATH%
    环境变量中

  • 我们最不需要的是。同样,如果您在Unix上,那么它已经安装在您的系统上。否则,您已经知道该做什么了。:)正式来说,Python有两个版本:2.7.3和3.x.x——您应该下载并安装这两个版本。Python是任何开发人员机器上必不可少的软件重要:确保Python 2.7.3(不是3.x.x!)位于环境变量
    %PATH%

  • 现在我们已经安装了MinGW-w64、CMake和Python,我们已经准备好构建LLVM和Clang。要减轻痛苦,请转到我的项目并向下滚动到指南:使用MinGW-w64构建64位LLVM和Clang for Windows(64位)。如果您使用的是32位Windows,请不要注意标题中的64位(这无关紧要),只需按照此处的说明操作即可。等待大约一个小时,直到LLVM和Clang构建完成

  • 我们几乎完成了,剩下的就是正确配置Vim。在这里,我将简单地提供最有可能满足您需求的配置

  • 配置新Complcache:


    有关这两个插件的更多信息,请使用Vim的帮助文档:
    :h clang_complete
    :h neocomplcache
    。有很多选项可以调整,特别是在
    neocomplcache
    中。从我的观点来看,对于使用VIM ./P>的任何C++开发人员来说,插件都是<强>必须有< /强>。 注意:如果您不知道如何完成此处列出的某些步骤,您必须在此处询问有关StackOverflow的其他问题,或者在其他地方查找答案开头所述的原因


    我希望这对您有所帮助,您也会从现在起更加支持Vim的开发工作。:)

    QtCreator只有“fakevim”,没有嵌入vim。除了基本的vim功能外,可能什么都不支持。难道不能只做
    ctags-R/usr/include/qt5/
    let g:neocomplcache_enable_at_startup            = 1
    let g:neocomplcache_enable_smart_case            = 1
    let g:neocomplcache_enable_camel_case_completion = 1
    let g:neocomplcache_enable_underbar_completion   = 1
    let g:neocomplcache_min_syntax_length            = 2
    
    if !exists('g:neocomplcache_force_omni_patterns')
      let g:neocomplcache_force_omni_patterns = {}
    endif
    
    let g:neocomplcache_force_overwrite_completefunc = 1
    
    let g:neocomplcache_force_omni_patterns.c      = '[^.[:digit:] *\t]\%(\.\|->\)'
    let g:neocomplcache_force_omni_patterns.cpp    = '[^.[:digit:] *\t]\%(\.\|->\)'
        \ . '\|\h\w*::'
    let g:neocomplcache_force_omni_patterns.objc   = '[^.[:digit:] *\t]\%(\.\|->\)'
        \ . '\|\h\w*::'
    let g:neocomplcache_force_omni_patterns.objcpp = '[^.[:digit:] *\t]\%(\.\|->\)'
        \ . '\|\h\w*::'
    
    inoremap <expr> <Tab>   pumvisible() ? "\<C-n>" : "\<Tab>"
    inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
    
    let g:clang_use_library      = 1
    let g:clang_auto_select      = 0
    let g:clang_complete_auto    = 0
    let g:clang_complete_copen   = 1
    let g:clang_complete_macros  = 1
    let g:clang_complete_patters = 1
    
    let g:clang_library_path = 'D:/Toolchains/x64/LLVM/3.3/bin'
    
    let g:clang_auto_user_options = 'path, .clang_complete'