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

Enhancements/big_project_mode #249

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

worksofliam
Copy link
Contributor

@worksofliam worksofliam commented Aug 25, 2023

Changes

Project Mode for local development was disabled if the project was over a certain size due to the sheer size of memory required. Though this is normal for IDEs, IBM i developers weren't expecting it. This is because people traditionally used to developing on the server.

This PR cleans up the performance of loading projects into memory and has a way to enable Project Mode via iproj.json for specific projects. This does not affect development with members or streamfiles.

Things left to do:

  • Ensure member includes continue to work for streamfiles and members
  • Post merge: update docs to write about local iproj.json file.

Checklist

  • have tested my change
  • updated relevant documentation
  • Remove any/all console.logs I added
  • eslint is not complaining
  • have added myself to the contributors' list in the README
  • for feature PRs: PR only includes one feature enhancement.

@worksofliam worksofliam requested a review from a team August 27, 2023 01:30
@worksofliam
Copy link
Contributor Author

@halcyon-tech/core Hey friends! This is a big/important PR, particularly for local development, that should have no impact for developing with members or streamfiles.

I am wondering if you would mind testing the RPGLE language tools with members and streamfiles to ensure they continue to work - most importantly is making sure member resolving still works. I've tested it, and it works, but this PR adds a feature to make it so members are not resolved when the base schema is file. This is because when opening large projects, vscode-rpgle wants to index the entire project and it turns out that if you still make use of headers in QSYS or the IFS, vscode-rpgle was trying to request them all at once as it was reading every local file!!

Thanks!

@worksofliam worksofliam marked this pull request as ready for review August 27, 2023 01:33
@chrjorgensen chrjorgensen self-assigned this Aug 29, 2023
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

Successfully merging this pull request may close these issues.

2 participants