-
Notifications
You must be signed in to change notification settings - Fork 301
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
Use Rubberduck only for versioning ? #3488
Comments
Hey there, a few points:
All in all this is not something that will ever be in scope, IMO Regards Vogel |
Thank you for your support. FWIW you can disable inspections through the settings dialog, at the very bottom of the "inspection settings" tab there's a checkbox to "run inspections on successful parse" - un-checking that box will only run inspections when you click the "refresh" button on the Inspection Results toolwindow. Alternatively you can selectively disable any/all inspection(s) by setting their severity level to "do not show". That said, if inspections "take forever" to load, it's likely because it's busy crunching hundreds upon hundreds and thousands of inspection results - blanket-dismissing them all and saying "I don't need any of that" essentially boils down to dismissing roughly 100 man-years of combined VBA experience analyzing your code for you. I wouldn't be so fast to say "I don't need that" with a whole 3 weeks of experience under my belt 😉 |
@Vogel612 Ouch, what a punch... To answer to your points :
Finally, I was not asking for something new to be implemented, I was just asking if it was already implemented. @retailcoder I already disabled code inspection and defined all severity levels to "do not show" but it's still loading until it has enough RAM (tried on a i7 16GB RAM Access 2013 64 bits config). There's a misunderstanding, I didn't told that I'm better than others and don't need code analyzers for this solution, I'm actually using Resharper for my .NET projects and that's an AMAZING help, just like Rubberduck seems to be for VBA projects, I just thought it would be easier to enable source control without this feature. To sum up, sorry if you felt offended with my question (maybe that's because I'm not 100% fluent in English). |
As for the RAM problem, that is another known issue that we are working on; it is related to the parsing/resolving stage, where we figure out what variable is being called where, etc. We are considering using a DB to store some of our data instead of storing it all in the RAM, but this will be a big change, and may take a while to be implemented. |
@r0xtar no worries (I was a bit irked by the idea of butchering 3 years' worth of work though ;-) RAM consumption is an issue (see #3347), but it's the result of a deliberate and necessary memory-vs-performance trade-off in favor of performance, not of a memory leak - if there's a memory leak, it's most likely closer to COM interop and RCW's (e.g. commandbars, docked toolwindows) than any of the managed code, and definitely not perceptible through RAM monitoring (although possibly observable as a silently-crashing hsot process that might linger in Tasks Manager, as explained in the release notes - we used to outright crash on exit, so significant progress was made there, and more to come). |
@Hosch250 I completely understand the resources/time problem for un free OSS project like Rubberduck is. That's why I totally respect amazing work that's done here. With my issue, I see RAM consumption growing until usage hits 100%, but the Access process is still working (5-10% of CPU power) and Rubberduck writes parsing errors into the log file. I'll take some time to try to help this project, my big problem here is lack of VBA knowledge, even if Rubberduck is written in C# I don't now if it's possible to contribute with my very very low VBA level (near to zero). But I'll try :) |
Don't worry, I have yet to write a useful program in VBA. My limit is hit with stuff like:
As for the parsing errors, that is a whole new issue. Something in our grammar is broken. Can you share the details with us? This is something we'll mark as a top-priority bug. |
Agreed, the parsing errors are very very problematic, and a very likely cause for slow-downs if many modules are throwing exceptions. We'd need to see the logs =) |
Just two comments regarding the logs: to see parser errors, the log needs to be at least at level |
@Hosch250 same here 👍 . Okay, so let's start it over again. First issue, I disabled code inspection after successful parse and defined all warnings to do not show. When running Access in VBA mode the app does nothing (Pending...) but on click on "Refresh" there's a parse error :
Access is still up, but does not use much RAM and does not process anything. Okay, let's disable custom librairies. Yes, we have our COM librairies and they are registered in my GAC but anyway, I disabled them from current project and started it up again. On startup, Access does nothing, pending is shown and all Rubberduck controls are disabled. On clicking on refresh Access starts throwing parsing warnings like this one :
And now Rubberduck eats all my RAM :/ until there's something to eat haha (I left Access open all night long for a try)... When rewriting this comment, I just noticed that's maybe not a parsing problem but a problem related to removed COM references is it possible ? |
Re the first error: See #3058 Re the second: These warnings usually just mean that the parser has had a small problem when running on a faster "prediction mode". If the code does compile, Rubberduck usually can circumvent that by retrying the parsing in the slower mode. As long as you do not see actual Parser errors, these messages should only be a slowdown issue, not a breakage issue.. |
Gracefully failing to load a COM library is a known critical issue with a relatively simple fix that's... worth a hotfix release over the weekend. |
@Vogel612 The code compiles, I left my PC on all night long with Access on "parsing", and the results is that my log file grows to hundreds megs, Rubberduck eats all my RAM and Access is unusable (to slow). That's why I thought that maybe our code base is too big to be handled by Rubberduck and wanted to just enable source control. I'll try with the COM library fix and give you news asap. @Vogel612 thank's for misspelling correction in the title |
hmm that's new... and very worrying... sounds like it's stuck in some infinite "retry" loop that somehow manages to skip the "clear cached state" part of the process... rest assured that the intent was definitely not that! |
Just to jump in here for a moment, if all you need is source control, I would look into one of the other solutions for Access. There are a number of projects (of varying quality) for getting VBA into source control. I do think our project offers other benefits, but may not be best for meeting your immediate need. |
I didn't found anything else that's open source and for me it sounds like a requirement for a source control tool (I'm not scarred about my code being stolen, it's about principles). I'll think about it this this weekend and take a look to Rubberduck's source code and see if I can do anything that could also help the community. |
@r0xtar awesome! Feel free to join our happy bunch anytime in our war room on Stack Exchange chat - the parent site is Code Review, you'll need 20 rep to talk, but as a moderator I can grant you explicit write access if you need it. |
Hello,
Firstly let me thank you all for this amazing OSS project. I'm pretty new to Access VBA development (3 weeks) and my main task is to version our Access source code.
I have some issues with code inspections etc (endless loading and memory leak on startup) that freezes my Access 2013 project (tried many solutions and workarounds found in previous issues but didn't find a way make things work). Actually, I don't need code inspectons and others IDE features... So my question is : is it possible to disable others features and use only source control ?
Thank's in advance for your help.
The text was updated successfully, but these errors were encountered: