JBakamovic / yavide

Modern C/C++ integrated development environment
GNU General Public License v2.0
1.3k stars 137 forks source link

Very strange behavior with autocomplete #90

Closed ks-zealot closed 6 years ago

ks-zealot commented 6 years ago

I have project with Vulkan SDK support and some other libs (GLFW, for example). And I could not call clang autocomplete in main.cpp file. But, I could use autocomplete from another libs. And, if i copy this file, I could call autocomplete from this copy. Could you tell me what I do wrong? .clang_autocomplete -DDEBUG -std=c++17 -I/usr/include/c++/6.3.0/ -I/usr/include/GL -I${HOME}/VulkanSDK/1.0.61.1/x86_64/include

Project structure image main.cpp image The text below - User autocompletion (Tempalte not found) main.cpp, autocompletion from GLFW image

main1.cpp image

JBakamovic commented 6 years ago

I am not sure if I understood you correctly but you're trying to say that autocompletion is not working for Vulkan API from main.cpp but from main1.cpp it does?

Can you try removing ${HOME} from -I${HOME}/VulkanSDK/1.0.61.1/x86_64/include line and replace it with the full path? I am not sure if environment variables are handled correctly (expanded) by clang-complete.

ks-zealot commented 6 years ago

I have not environment variable in my config. I just placehold my homedir when copypast because reason. Anyway, I already solved this problem just copying whole folder and reimport project. Another issue, could you tell me how could I include YCM in your IDE? Or at least how could i automatically fix error, if clang know how to fix it (FixIt function in YCM).

JBakamovic commented 6 years ago

Another issue, could you tell me how could I include YCM in your IDE?

Just download the plugin into <yavide_install_dir>/core/external directory. If you do that, then it would be wise to disable clang-complete plugin otherwise you will get weird behavior.

Or at least how could i automatically fix error, if clang know how to fix it (FixIt function in YCM).

Not available here. But for such and more features please have a look into my other project, cxxd-vim, which is no more than a Vim plugin but built on top of the language server, cxxd, which I have also developed separately. Currently, I am finishing up the implementation of auto-completion service, which is one of the last major features I wanted to bring in. It's work-in-progress but already in a good shape so I think it could be merged to master quite soon.

ks-zealot commented 6 years ago

If you do that, then it would be wise to disable clang-complete plugin otherwise you will get weird behavior.

How could i do this?

cxxd

Looks very interesting, I will try this when you finish auto-completion.

JBakamovic commented 6 years ago

Just like you would do for any other Vim plugin. Rename it to <name_of_the_plugin>~

ks-zealot commented 6 years ago

Sorry, I dont get it. How could I disable plugin by renaming?