Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to Disable Indexing Per Target in Xcode #334

Open
chiragramani opened this issue Mar 21, 2025 · 2 comments
Open

Ability to Disable Indexing Per Target in Xcode #334

chiragramani opened this issue Mar 21, 2025 · 2 comments

Comments

@chiragramani
Copy link

When working on large-scale projects, we often have modules that are indexing-heavy but do not require code completion, navigation, or other indexing-related features in Xcode. These modules may be generated code, third-party libraries, or internal tools that are rarely edited directly.

Currently, Xcode allows global indexing settings,(defaults write com.apple.dt.XCode IDEIndexDisable 1) but there is no fine-grained control to disable indexing on a per-target or per-module basis. Disabling indexing entirely is not ideal, as most of the project still benefits from it.

Feature request: It would be nice to have an option to opt-out of indexing, which SWBTaskConstruction / Product Planning phases can take into account and not produce indexing / preparingForIndex tasks.

@jakepetroules
Copy link
Collaborator

Interesting idea. @bnbarham do you think there are cases where this could meaningfully improve performance? And if so, whether changes in Swift Build would be the right layering for that?

@bnbarham
Copy link
Contributor

When working on large-scale projects, we often have modules that are indexing-heavy but do not require code completion, navigation, or other indexing-related features

Could you expand on this? While the modules themselves may not be edited, presumably they have dependents where they would be required. If so, the modules still need to be produced when preparing for semantic functionality in the dependent targets.

Index while building can be disabled through a build setting today (COMPILER_INDEX_STORE_ENABLE), so this request is really for disabling background indexing. This seems a little strange to have in the build system though, since it has nothing to do with the build itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants