The monorepo setup is quite challenging for IntelliJ IDEs. The size of the monorepo combined with Rush symlinking can lead to very poor performance and excessively long indexing times.
Here are couple of hints to achieve optimal setup:
-
Increase max heap to at least 4GB
- Go to
Help > Edit Custom VM Options
- Add/replace -Xmx setting to at least
-Xmx4096m
- Go to
-
Mark the following directories as
Excluded
- this may be time-consuming:common/temp
- All
dist
directories in all packages (in bothlibs
andtools
) - All
esm
directories in all packages (inlibs
) - In
libs/api-client-bear
excludeumd
- If IntelliJ does not automatically exclude
node_modules
, then mark them as excludes as well
Automated code refactorings such as 'Rename file' can take a long time when touching files with common
names as index.ts
or util.ts
. The IDE could get stuck for minutes or crash while running out of heap space.
The best approach is to setup scopes:
-
Open
Settings
-
Find
Scopes
-
Create a new scope say
libs and tools
with the following value:file[gooddata-ui-sdk]:libs//*||file[gooddata-ui-sdk]:tools//*