« first day (1685 days earlier)      last day (1495 days later) » 

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 commit. 1 closed issue. 6 issue comments. 39 additions.
 
@Comintern wow perfect!
@Comintern either works =)
 
"Works" is optimistic at this point. I still need to wire them up.
 
Duck check: When 'Require variable declaration' doesn't work is there any registry setting you can check?
 
12:22 AM
Would the Grouping and Filter look better on the right?
@IvenBach I'm sure there is, I'd poke around in the VBE's hive.
 
@Comintern :barf: was missing Option Explicit in the declarations. I'm so used to it being there I "saw" it in the header the whole time.
Thanks for the duck check. I feel dumb for not having noticed.
 
TBH, I prefer just typing it myself. Keeps me honest.
 
@Comintern just to confirm - you wrote in your PR:
> I intend to reorganize the CodeExplorerViewModel to make it easier to navigate (it was kind of a hot mess), but I'm waiting until reviews are done to make it easier to see changes.
that is already addressed, correct?
 
Yep.
"Reorganize" turned into something completely different...
 
CLEAN ALL THE THINGS!
i know the feeling. What started with Vogel's comment about a stray comment code turn into "might as well fix that experimental types feature"....
 
A lot of it got "reorganized" out of existence.
 
which is a good thing™.
for each line of code you write, you introduce 2 bugs.
Sometimes more than 2.
 
12:59 AM
In that case, I fixed 6K bugs and introduced 12K new ones.
 
lol
for dotmemory, does it matter whether to use the api or to control allocation manually?
 
If it does, I haven't noticed a difference.
 
@HermanBovens @opeispo @RonJeffries TDD helps design in at least two ways. 1. TDD forces you to consider the caller, because you have to write the call first. 2. TDD forces you to decouple the code sufficient to test it.
Remember, always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where yo- *knock knock* Shit.
 
1:14 AM
my, dotMemory is such a drag
(I shouldn't be surprised but still)
 
[rubberduck-vba/Rubberduck] build for commit 6bef6a09 on unknown branch: AppVeyor build succeeded
 
1:32 AM
informal profiling seems to show no difference in the memory footprint for the CE changes.
hmm, if I'm reading this correctly, strings kills us.
@Comintern - noticed that when CE loads, it shows the project closed. If I immediately search something, the project does not expand. I have to expand it to then see the results.
The templates submenu seems to be disabled when it should be enabled, too.
 
OK, I'll take a look at it. I thought I had the expanded state sorted out, but I might have missed something.
 
it is working fine but only after you've expanded the project node
it correctly expands any other folders in subsequent searches
one more quirk - when CE loads, it shows a yellow icon in the description when it "sees nothing"
when you click on refresh to load stuff into CE and do nothing - it still has that yellow icon
I don't think it makes sense to show the yellow icon at that point.
 
The icon is probably an easy fix - I should probably be returning null in the converter if the selected item is null.
I think the project expansion state might just have to do with the hierarchy of the binding. We want that to always start expanded, right?
 
IMO, yeah
on a method node, i seems to be able to click on Project Properties, Collapse node and all its children, and Expand node and all its children. That feels.... strange.
 
And all the folders inside collapsed?
The expand and collapse might be better suited for the toolbar.
 
1:45 AM
when I do it on the method? it apparently does nothing
 
Not a ton of space there though.
Oh. That probably just needs an evaluate can execute.
 
yeah
 
Is it selected, or just under the mouse?
 
hm it was selected, let me try the mouse
actually if I right-click another node, it becomes selected
before I can get to the menu item command
 
OK, good. That didn't break.
Ah. I know what the issue is. The members can have sub-nodes, but only for 2 specific declaration types.
 
1:48 AM
FWIW, it takes it about 20 seconds to completely load the CE (which is roughly the same as before, IIRC)
the properties?
 
Even on a refresh? The initial load shouldn't have changed much at all.
 
the code is compiled yet I seems to be seeing warning/errors in CE
No, refresh is quick
 
I should be quick even on a full reparse.
 
that usually has been the case for me, yeah. My main beef is the initial loading.
hmm interesting, ConnectionType appears twice in CE for some reasons
 
Are those errors, or did it just miss on the declaration type? I didn't really do anything with the error state setting.
 
1:54 AM
i have no idea - there's no indication of why it's an error / warning
 
Oh crap - that means it cleared the declaration but it didn't get removed from the tree. That's why the error icon is showing.
 
hmm.
the blue icon ConnectionType seems to be correct:
ConnectionType - (user-defined type member): ConnectionTypesEnum
 
Every dup has the error icon set.
 
but the yellow icon ConnectionType has this:
ConnectionType - (parameter): ConnectionTypesEnum
that does not look right.
 
OK, I'll switch branches here shortly.
 
1:55 AM
with Database, I get Database - (property get accessor): String
 
This is why I was looking for other people to test it. :-D
 
should I write my findings in PR or will you be fine with the chat above?
I know what you mean. I'm always blind to my own boneheaded mistakes.
 
I'm good with the chat - I'll probably start in on it in shortly - I just need to dot some i's and cross some t's in the inspection results.
 
:+1:
otherwise, I love what you've done w/ CE
 
How's the filtering speed on your build?
That was ridiculous before on my stress test project.
 
1:59 AM
very good
even the scrolling was responsive
 
OK, good.
Crap. I based my inspection window branch off of the CE one.
 
make a bigger PR? :D
 
lol
I'm tempted to rebase...
 
you should be able to stash it and then put it in a new branch. It should be OK since CE PR should be merged soon-ish.
 
I was actually getting ready to PR the inspections one. I think I just have to add one icon to the resx and that's it.
There wasn't much to that one.
 
2:10 AM
cool.
 
I just need to find an icon for inspection name.
Or a different one for inspection type.
 
square, circle, and triangle?
that's the closest I can think for types.
name, needs that name tag:
 
There are too many damned icons in this set.
I'll just scale that to 16x16
 
:+1:
 
2:17 AM
yeah that'd work for types.
 
Too close to the module type icons?
 
hm, what was it again?
if it's slanted to an angle, then no.
 
That would be for Inspection Type.
 
i meant the module type icons
 
The modules look like this:
 
2:18 AM
yeah, just lookeda t the image on the PR
it's different enough to my eye
 
so, no not worried about similarity
 
OK, I'll go with that for now.
 
I downloaded and opened a PDF file on my workstation just now... and this dreaded screen appears...
Damn nearly crashed the computer
Me: Google search: delete microsoft edge
Also me: Of course not... :(
 
2:46 AM
@Phrancis Just like in-laws.. once you have them it’ll never go away.
 
@Phrancis living on the bleeding edge, eh?
 
@this bleeding sums it up nicely indeed
 
 
3:52 AM
@this This is pointing to a bug in the QualifiedMemberName.Equals override or how we're treating QMNs for UDT members. The LoC that is supposed to match the declaration is var matching = updated.FirstOrDefault(decl => Declaration.QualifiedName.Equals(decl?.QualifiedName));
Changing the predicate to decl => Declaration.DeclarationType == decl?.DeclarationType && Declaration.QualifiedName.Equals(decl?.QualifiedName) fixes it, but it shouldn't be necessary to explicitly test the DeclarationType there, should it?
 
4:54 AM
[rubberduck-vba/Rubberduck] build for commit 58a1d5b7 on unknown branch: AppVeyor build succeeded
 
5:10 AM
> This is primarily aimed at getting rid of the unnecessary churn in the ObservableCollection(s), and to improve filtering and grouping responsiveness in the results. Note that this is only tagged WIP because it is based from #4661 - that PR should be merged first when all the reviews are completed and addressed to avoid pulling in those commits. I also rolled in some UI tweaks while I was at it. The new toolbar looks like this: ![screenshot from 2019-01-15...
22-55-33](user-images.githubusercontent.com/8944005/…) Highlights: - Now binding an ICollectionView directly instead of implicitly creating the view. I suspect this was leaking memory (and it simplifies ...well... everything). - The default grouping was not reachable from the UI after it was changed. This is fixed. - Adds 2 new groupings for inspection name and severity. - Now using ToggleButtons instead of drop-down menus to...
improve visual feedback. - Removed a couple backgrounds to fix rendering glitches. BTW, this also closes #4598, and addresses #4666 (love that number given the issue...). It possibly closes some other open issues, but I haven't finished a comprehensive search yet. Note: There's still some clean-up to be done here, and I'm also still investigating some issues surrounding the responsiveness of the DataGrid control, but if those don't sync in by the time this is merged, they're on the...
agenda.
[rubberduck-vba/Rubberduck] build for commit c9cd8a77 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
@Duga WTF? Those are fine locally...
 
5:45 AM
> I haven't dug into this very far, but the QMNs for UDT members appears to be missing the containing UDT name ([see chat](https://chat.stackexchange.com/transcript/message/48519913#48519913)). This means that equity checks will match other members in the same module with the same identifier name.

Tagging as [difficulty-03-duck] because any fix for this is highly likely to break a bunch of other stuff in subtle and unexpected ways...
[rubberduck-vba/Rubberduck] build for commit 92534c97 on unknown branch: AppVeyor build succeeded
 
 
1 hour later…
 
5 hours later…
11:41 AM
Achievement unlocked: crash Visual Studio while writing a xmldoc comment
 
 
2 hours later…
Is it possible I need to update MSBuild? AV says 15.9.21.664 - mine is 15.8.169.51996
 
isn't it connected to the VS updates?
i'm using 15.9.4 atm
 
Yes, but I'm lazy about installing them.
I'm at a bit of a loss as to why AV's build failed (and with extension method errors in generated cs files no less).
 
heh.
in the inspection PR, right?
this is what I see:
UI\Inspections\InspectionResultsViewModel.cs(495,40): error CS1061: 'ICollectionView' does not contain a definition for 'Where' and no accessible extension method 'Where' accepting a first argument of type 'ICollectionView' could be found (are you missing a using directive or an assembly reference?) [C:\projects\rubberduck\Rubberduck.Core\Rubberduck.Core_h53ooix3_wpftmp.csproj]
UI\Inspections\InspectionResultsViewModel.cs(498,45): error CS1579: foreach statement cannot operate on variables of type '?' because '?' does not contain a public instance definition for 'GetEnumerator' [C:\projects
 
No such complaints when I build it.
Have there been build configuration changes recently?
 
1:35 PM
not that I know of
 
I wonder if I should merge in next.
 
@Duga Github uses some rather non-standard conversion from tabs to spaces.
Anyway, I am too used to this problem from the grammar files.
 
uh - the lines don't make sense.
it says the error is on line 495
 
They're the generated cs files from the xaml.
 
oh
uh, how do you know that?
it says InspectionResultsViewModel.cs
 
1:39 PM
I guess from the project name.
 
huh - I just scanned it and saw the `Rubberduck.Core_h53ooix3_wpftmp.csproj
^^
 
yeah, i wondered but you'd think they would say that it was in blah.g.cs
not in blah.cs
might be as well, since the line 495 in the viewmodel has no LINQ whatsoever.
(ditto for 498)
Unrelated - ok to merge CE PR, @Comintern? Sic freeman on it? ;-)
 
Not a bad idea. The last round of commits caught everything you found in chat.
 
cool.
 
Gimme a minute and I'll push the tabs\spaces commit.
 
1:42 PM
ok.
 
I may just try kicking AV with another commit for the other one.
Would it be weird to have InspectionResultsViewModel implement Comparer<IInspection>?
 
that sounds strange, yeah
why?
 
It makes the sort really easy to implement because it lets the Comparer be stateful.
 
oh wait, you want to compare individual node with its underlying
yeah i see where you're going with it.
meh, as long you put in a comment explaining why, I'm fine with it.
 
1:48 PM
I hand the VM itself to the ICollectionView as the sort comparer, should work.
 
2:08 PM
[rubberduck-vba/Rubberduck] build for commit 6df5bde0 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] bclothier project card. Enough said.
[rubberduck-vba/Rubberduck] bclothier is checking what fun stuff @Duga can say about project cards
 
2:30 PM
> Unfortunately, all my efforts have failed to resolve the issue. I still cannot get RD to work. Too bad, because it looks like a great add-in. I guess I'll try again in a couple of months and see if anything changes. Thanks for your help.
> @DaveSemon I just want to double check --- do you have any other VBE add-ins installed? Have you tried disabling them and enabling only the RD?
[rubberduck-vba/Rubberduck] build for commit f0d48858 on next: AppVeyor build succeeded
 
@Phrancis Of course Google will say to delete Edge. They want you to use Chrome...
:P
I cheat them both by using FF :)
 
2:50 PM
> One more thing to check - did you test with a blank Access database? A different database? Need to rule out it's not related to the contents of VBA project.
 
> You'll always get more flies with honey than vinegar.
I swear, though, you get the most with dog poop.
 
No, you can get more still by adding honey to dog poop.
 
Honey-coated dog-poop?
I have my next business plan.
 
wasn't aware there were people in need of more flies.
 
3:16 PM
i bet if you had a little lake of vinegar in your honey poop pile, then youd get ALL the flies...
 
LOL.
This sounds like a discussion WorldBuilding would be having.
 
4:11 PM
> My guess is that this is a side effect of the way that the SelectedItem is refreshed in conjunction with how the information in the display panel is bound. The information about the selected item is binding to the VM itself - not specific properties on the SelectedItem. This means that we're raising 5 different property change notifications in the setter to keep the UI in sync, and my best guess is that this is creating a race condition deep in the bowels of the WPF rendering.
> Hi everyone. So I just downloaded and installed the latest version 2.3.1.4431 and noticed that the folder annotation is not recognizing the subfolder. It's just applying the main folder. `'@Folder("Class Module.Business Logic.EnoughInventoryStocks") ` should have folders Class Module>Business Logic>EnoughInventoryStocks. But after installing version 2.3.1.4431, that same folder annotation will now just show folder Class Modules. It used to work in version 2.3.1.4414

![folder annotation issu
 
@Duga gee, who'd think the pre-release would get consumed so soon? Glad for the bug report, though.
 
@Duga did we not make a recent change to forbid some characters in folders? or that's in @Comintern's CE PR?
 
> Thanks for the report - the Code Explorer just underwent a major re-write, so you happened to catch the "rawest" version of the performance updates. I should be able to get a hot-fix in for this sometime later today.
 
4:27 PM
@MathieuGuindon That's me. I got my first meat bag.
 
> I am trying to add a class module by right-clicking in the folder inside the code explorer and it's showing nothing.

![right click issue](https://user-images.githubusercontent.com/40927759/51263037-212f5c80-1979-11e9-803a-45b9e3260994.png)

Version 2.3.1.4431
OS: Microsoft Windows NT 10.0.17134.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.11126.20196
Host Executable: MSACCESS.EXE
 
Wut?
Is that clipping on the bottom 2 icons?
 
@Comintern did your inspection PR address #4660?
 
ooh, I missed the merge :)
 
4:31 PM
still pre-release though.
 
yeah that's good
 
It's meatbag festival here now.
2
 
...am I being an @$$ here?
I'm very tempted to upvote, for this is a very similar approach to mine (key being Selection.Areas, missed by the other answer), however triple-nested loops and repetitive dereferencing of the .Areas(k) reference, combined with the poor variable names and confusing data types used (there's not really any reason to use Integer anywhere other than in Win32 API calls that require it), are holding me back. For loop iterating the areas is a missed opportunity: a For Each would dereference the current area only once per iteration, vs. 6 times here. Also the type of Selection is assumed. — Mathieu Guindon 28 mins ago
 
@this Yes - about all I did was freeze the icons and make some more stuff static though.
@MathieuGuindon Spot on. That's some fugly code.
 
Just say no to I.
(and J & K, too)
 
4:35 PM
There's no 'I' in "Identifiers"?
 
I ≠ Identifiers
 
@MathieuGuindon Wouldn't a For Each loop on Areas still be non-deterministic from the VBA side?
 
sure but what does it matter? OP wants to iterate the rows of the areas in a non-contiguous selection, so it doesn't really matter which area gets processed first AFAICT :)
 
Yeah, I was tempted to post an answer earlier, but my solution would depend largely on what work was being done.
 
aye, asked clarifications but OP doesn't seem to be awake
 
4:44 PM
I was thinking more along the lines of taking a continuous range that encompassed all of the areas, then building a 2D array of Boolean storing the intersections.
 
#Depends
 
Then it occurred to me that... ^^^
 
How many busy state issues can I find...?
 
@Comintern All of them?
 
4:50 PM
:-D
Not as many as I could potentially create?
 
Hmmm... I can't remember if I implemented #4348 or just thought "that would be really easy now".
Thinking it was the latter.
 
yeah, we do have the Find implementation but not Go to interface
 
and one day, that command can be bound to some floating icon in the left margin :)
 
My brain says "15 minutes". My gut says "4 hours".
 
lol
i think that's true for most of feature requests.
 
Is there something that needs to be done for the user templates still?
 
So ATM it's just the predeclared classes, right?
 
5:08 PM
yeah
the test modules/methods ought to be next
and that's where we'll need a macro system.
 
@this AC I was like "eh, 3 weeks", then "eh, 3 months", ...and watch where it's at in 3 years...
 
i'm sure at the end of 3 years, everyone will be all "ZOMG HOW DID I DO THIS WITHOUT THE DUCKY?!? MAT IS A GOD!"
 
uh-huh
 
We'll all be answering "why isn't the ending paren showing up?" questions on SO with "because you don't have RD installed".
 
There's questions like that?
 
5:11 PM
There will be...
 
lol
 
> I saw a tutorial on YouTube and the guy was typing "foreach" and the VBE automatically expanded that into For Each item In source...Next, with item being selected; why isnt' my VBE doing that? Is there some hidden special setting I need to turn on? Where is it?
 
what?
how is his VBE not doing it?
 
2 mins ago, by Comintern
There will be...
 
brb, got a great deal on a bridge in New York...
 
@MathieuGuindon Do you have a link to it?
 
@IvenBach hey! they're selling bridges! Cheap, too! Hurry and get yours!
 
5:32 PM
@IvenBach #humorfail, I guess
 
Curse my RD inactivity. Not allowing me to stay up to date on current dev status.
 
Have we seen #3472 recently?
 
6:22 PM
@MathieuGuindon SCP doesn't support highlighting a word and quoting it, right?
 
> This makes it impossible to automatically fix a large number of things that has an auto-fix. I just started editing a project that has hundreds of problems I would like to auto-fix...
 
@this not yet
 
> Now this will be a nitpick of all nitpicks, but I suggest making the toolbar group names uniform. Either Group+Filter or Grouping+Filtering.
 
@MathieuGuindon ok now?
:p
 
6:37 PM
I wonder if I can resolve the 22 issue I now have assigned to myself with a net of 22 LoC...
 
really, you can do it in 0 LoC. That's what ; is for, right?
 
> I agree that this is probably a stupid thing to do. What I was hoping for is that you could remove the parts of the grammar that you don't need and treat the code in RD code panes as VBA, which wouldn't require designing a new programming language.
> I agree that this is probably a stupid thing to do. What I was hoping for is that you could remove the parts of the grammar that you don't need and treat the code in RD code panes as VBA, which wouldn't require literally designing a new programming language.
 
i'm not sure I follow....
 
If the 2 bugs per LoC is accurate, I just need to find the right 11 lines to delete...
 
6:53 PM
> I'm not sure I follow the idea. The grammar is for VBA with some additional elements to support RD's annotations which are embedded in VBA code as comments. Exactly what would get removed? To do what?

I originally read the suggestion as to write a transpiler (e.g. same thing that TypeScript does for JavaScript). If that's not what you were thinking of, can you provide some examples?
 

« first day (1685 days earlier)      last day (1495 days later) »