jomiller / vscode-rtags

RTags Client for Visual Studio Code
GNU General Public License v3.0
10 stars 0 forks source link

Support multiple "compile_commands.json" file entries in "compilationDatabaseDirectory" #28

Closed jtschea closed 5 years ago

jtschea commented 5 years ago

Dear developers,

our project consists of multiple Git submodules, each of them having their own CMake build instructions. We're passing CMAKE_EXPORT_COMPILE_COMMANDS to each submodule with the result that we have multiple "compile_commands.json" files. In order to use this wonderful plug-in we need to concatenate these files to one big compile_commands.json passing it to compilationDatabaseDirectory.

Would it be possible to change type of "compilationDatabaseDirectory" to be an array of strings or to search for those files recursively?

Many thanks and best regards, Jupp

jomiller commented 5 years ago

I'll look into adding a setting for searching for those files recursively.

jomiller commented 5 years ago

@jtschea , this feature is now implemented. I've added a new boolean setting called rtags.misc.compilationDatabaseRecursiveSearch to recursively find compilation database files in the specified directory. This setting applies both to loading new and removing previous compilation databases (when changing the compilation database directory, for example).

Please try out this feature in this pre-release of the extension:

https://github.com/jomiller/vscode-rtags/releases/download/v0.5.1/rtags-client-0.5.1.vsix

Let me know if the feature works for you. To install the package in VS Code, click the Extensions tab on the left side bar (Ctrl+Shift+X), then click the "..." at the top, and "Install from VSIX..." Thanks!

jtschea commented 5 years ago

Dear Jonathan,

Thank you so much for implementing this feature so quickly. I gave it a first try and it seems to work as you were describing it above.

Will report here if there's any issue with it :)

Thank you and best regards, Jupp

jomiller commented 5 years ago

Jupp, thanks for verifying the feature. I've released it to the VS marketplace in extension v0.5.2. It should be available through VS Code.

Please close this ticket for now if you still don't see any issues. Thanks.