# FR: more compact JUCE module headers

**URL:** <https://forum.juce.com/t/fr-more-compact-juce-module-headers/50226>\
**Category:** Feature Requests\
**Created:** [February 17, 2022, 10:45am UTC](https://forum.juce.com/t/fr-more-compact-juce-module-headers/50226 "2022-02-17T10:45:18Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![eyalamir](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/eyalamir/32/2978_2.png) [@eyalamir](https://forum.juce.com/u/eyalamir)\
**Post date:** [February 17, 2022, 11:13am UTC](https://forum.juce.com/t/fr-more-compact-juce-module-headers/50226/5 "2022-02-17T11:13:43Z")

</div>

Another important note:  
JUCE unfortunately doesn’t have explicit includes in the built in modules. That means that if I #include `juce_Component.h` directly, I will need to poke quite hard at the module to find all the “really needed” includes, which as @dave96 mentioned would also probably break whenever JUCE updates something.

In this thread:

> [@Adding Visual Studio Code code completion](https://forum.juce.com/t/adding-visual-studio-code-code-completion/44190/28):
>
> Most of it would be the same. If you look at my example, many of the stuff in the module header are just copied to another header, like juce\_osc\_common.h and that includes all the external native headers in a very copy-paste way, as that part shouldn’t change.

We talked about the problem and I offered a solution (explicit includes). Doing that can certainly make single includes possible, but it would still force me to link against the the widgets library when all I wanted was the base classes.

---

_[View the full topic](https://forum.juce.com/t/fr-more-compact-juce-module-headers/50226)._
