« first day (1449 days earlier)   

12:01 AM
RELOAD!
[Cardshifter/Cardshifter] 1 commit. 4 additions.
[Cardshifter/HTML-Client] 11 commits. 257 additions. 189 deletions.
 
#EasterEggFound! Don't create a named range to another named range in another workbook.
 
[Phrancis/Stack-Exchange-Utilities] 1 commit. 2 additions. 3 deletions.
[rubberduck-vba/Rubberduck] 63 commits. 4 opened issues. 4 closed issues. 20 issue comments. 34961 additions. 18768 deletions.
 
12:18 AM
Hrm... It's not breaking now. Possibly it's a ConditionalEasterEgg
 
 
3 hours later…
3:01 AM
@this are we comfortable having shorter retention periods for RD stuff in the cloud? AV announced changes in effect. “...Through talking to many customers we’ve identified that, after some period of time, storing old artifacts is unnecessary.

Indeed, once the app is deployed or a release package uploaded to external storage, its underlying artifact is usually no longer needed (except for those rare moments when some previous/stable release has to be re-deployed!)

To reduce AppVeyor hosting costs and eliminate any unnecessary waste of cloud resources we decided to introduce an artifacts re
I think we are fine...
 
3:17 AM
Pretty sure we're OK. It's only a temporary storage since AIUI, we transfer the build to GH when it succeeds for the next and master (@MathieuGuindon can confirm) . we don't really need to retain every possible builds forever, anyway.
 
4:12 AM
> I've always had this as a code quality issue and it's always been when I'm writing to a cell e.g.

Sheet1.Cells(1, 1) = 1

Whereas, of course

Set Sheet1.Cells(1, 1) = 1

Is not correct.

What exactly is this inspection looking for that there are so many false positives?
 
4:39 AM
@PeterMTaylor thanks for the heads up! so starting June 7, keeping AV builds / pre-releases more than 30 days is pointless
wait no, no... the artifacts are copied to github, so... not an issue
@this that
 
No worries.
 
5:18 AM
:barf: Home Time...
 
5:54 AM
types On Error Resume Next
Sub test()
    On Error Resume Next
        |
    On Error GoTo 0
End Sub
types public type TSomething
Public Type TSomething
    |
End Type
types Select Case foo
Select Case foo
    |
End Select
autocomplete
is complete
and damn it's awesome
types debug.print (2+2
Debug.Print (2+2)
 
> on the Code Explorer issue – when I very first opened it yesterday on a medium sized project it said “Doesn’t see anything yet, refresh”, which I did. That took several mins but then worked ok-ish (per problems noted yesterday eventually worked)



I closed up work last night and opened the project again and when RD fires up it says again “Doesn’t see anything yet, refresh” ? I did so and again takes a few mins (~2.5) to refresh - that will be a bit of a pain as I open and close the project
> Reading the serialized declarations from disk would be even slower, unfortunately. We do have extensive caching going on, and strive to only process what needs to be processed, but once the host process triggers a shut-down of the add-in, all the cached knowledge is freed, and you get back your RAM.

["Inside Rubberduck, pt.2"](https://rubberduckvba.wordpress.com/2017/07/19/inside-rubberduck-pt-2/) explains everything there is to know about how parsing & resolving works.
> Reading the serialized declarations from disk would be even slower, unfortunately. We do have extensive caching going on, and strive to only process what needs to be processed, but once the host process triggers a shut-down of the add-in, all the cached knowledge is freed, and you get back your RAM.

["Inside Rubberduck, pt.2"](https://rubberduckvba.wordpress.com/2017/07/19/inside-rubberduck-pt-2/) explains everything there is to know about how parsing & resolving works, if you're curious ab
> PR under way, watch for a pre-release build when it gets merged!
> The inspection already has a function IsReturnStatement. One could just use that.
 
6:27 AM
> I think the problem here is with the default member resultion. (There should actually be an inspection result for implicit assignment to the default member.)

The full version of your code is
```vba
Sheet1.Cells(1,1).Value = 1
```

Is this from last stable release or from a more current version?

There has been a bug in reading the default members from the type libraries of referenced libraries, which has been fixed a few prereleases ago.
 
6:41 AM
@MathieuGuindon U mean in RD? O.O
 
> Introduces the following auto-completions: - AutoCompleteClosingBrace auto-inserts a } after a { and puts the caret between the two. - AutoCompleteClosingBracket auto-inserts a ] after a [ and puts the caret between the two. - AutoCompleteClosingParenthese auto-inserts a ) after a ( and puts the caret between the two. - AutoCompleteClosingString auto-inserts a " after a ", and puts the caret between the two. - AutoCompleteDoBlock auto-inserts a Loop token after...
a Do instruction; indents the block. - AutoCompleteEnumBlock auto-inserts End Enum tokens after any Enum instruction; indents the block. - AutoCompleteForBlock auto-inserts Next token after any For loop instruction; indents the block. - AutoCompleteIfBlock auto-inserts End If tokens after any If...Then instruction; indents the block. - AutoCompleteOnErrorResumeNextBlock auto-inserts On Error GoTo 0 after an OERN instruction; indents the "block". -...
AutoCompleteSelectBlock auto-inserts End Select tokens after any Select Case instruction; indents the block. - AutoCompleteTypeBlock auto-inserts End Type tokens after any Type instruction; indents the block. - AutoCompleteWhileBlock auto-inserts Wend token after any While instruction; indents the block. - AutoCompleteWithBlock auto-inserts End With tokens after any With instruction; indents the block. There are a number of issues, but the benefits outweight them IMO....
For now there's no grammatical, contextual, or semantic understanding of anything; just a regex match. This means: - single-line If statements would be picked up and an erroneous End If is inserted. - backspacing and clicking may produce weird behavior. would be nice if removing the opening double-quote would also remove the closing one if the caret is right between two double-quotes. Phase II will have to introduce a settings page, to let the user decide which autocompletes they want to...
enable - the double-quotes completion is particularly surprising, and then you realize how much you were relying on the VBE to close that string, and this means changing deeply-rooted habits ('tis for me). So, this feature being user-configurable is critical. The IoC registration is similar to that of inspections: IAutoComplete implementations are discovered and injected with a singleton lifetime as a ReadOnlyList<IAutoComplete> wherever they're needed. Closes #4033
 
@SonGokussj4 yes :)
and it's almost 3AM again...
'night!
@Duga it's pretty much an "auto-indent as you type" feature, too. uses standard hard-coded indent though.
 
6:56 AM
[rubberduck-vba/Rubberduck] build for commit 3789fb10 on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4038?src=pr&el=h1) Report
> Merging [#4038](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4038?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/5db0eab0778355b6b95e5cd1f024efb356bb9122?src=pr&el=desc) will **decrease** coverage by `0.09%`.
> The diff coverage is `20.93%`.


```diff
@@ Coverage Diff @@
## next #4038 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit 3789fb10 on unknown branch: 53.57% (target 0%)
 
 
2 hours later…
8:54 AM
@MathieuGuindon Nice! As soon as I figure out how to build RD again, I'm looking forward to testing that :-)
So... I've got 2 problems....
1) I just pulled from upstream next and still can't build... Same as yesterday :-(
2) just noticed that when I click on RD - "Settings", nothing happens... Here's a log from the moment I've click on Settings
The RD I use now is builded from my fork on GitHub. That build is without a problem.
 
(Building with my Personal computer fails on the same thing. Build was OK a week ago just fine. And I've even tried to move the Repo from OneDrive to Desktop = the same. Build failed...)
 
9:50 AM
Here is a discussion I am having:
Does dim x as long : x = CLng("123") take more resources than dim x as long: x=val("123")
And that should be x = CLng("123")
 
@QHarr correct, never use Val
 
@ThunderFrame Could you explain a little more please?
 
Val is not internationalization safe, so you get unexpected and inconsistent results, depending upon the locale of the user.
 
Thank you! And is there more overhead in CLng("123") versus Val("123") - the locale but aside?
I wouldn't have thought so.
 
1
A: Creating dialog with Access form instances

ThunderFrameUsing `Val` The Val function can run into problems when converting string values, depending upon the locale of the user. It is generally safer to use CDbl, but it will depend on the input. See Internationalization Tips Indenting/Line spacing Your compiler directives follow on the immediate lin...

 
9:59 AM
Thanks. I am getting a 403 forbidden on vb-helper.com/tip_internationalization.html
 
@QHarr CLng returns a Long or raises an error. Val returns a Variant. In theory, assigning a Long from Clng to a Long variable, will be faster than using Val to return a Variant to a Long variable.
@QHarr hmm, I get a 200, and the page loads fine.
 
I am in the UK. Wonder if it is that.
But with a string being cast?
 
@QHarr could be a work thing. Try this proxy/archive copy web.archive.org/web/20170226155819/https://www.vb-helper.com/…
 
:-( Work blocked that and about 3 different other cache retrievals I just tried.
 
@QHarr CLng accepts a variant, which means it will convert both 123 and "123" to a Long. But it's not the cast of the input that's important, it's the return type. Val requires the extra step of converting the return value from a variant to a long.
BRB
 
10:09 AM
That is as expected. Awesome thank you.
 
@MathieuGuindon what do you think of an inspection for developer-defined patterns/conventions, like (for example, your conventions of this and Self): "Predeclared Class module doesnt implement public function `Self'" or "Class doesn't have a private variable with a type of User Defined Type and a name of "this"? They could be implemented as a user defined list in settings?
 
10:49 AM
@Duga @MathieuGuindon I might be missing it but it's not clear exactly when autocomplete runs. Immediately as soon as I finishing typing a character and the previous sequence of tokens matches what it's looking for?
@SonGokussj4 Making sure --- is this the same error you refer to: pastebin.com/nfmigFmF ?
@ThunderFrame FWIW, I think there might be more value in a user-defined inspections if it is possible to implement them in VBA. That would allow them to write their own inspections without having to have a VS and a debug build of RD.
 
11:02 AM
@this The olewoo_interop.dll, yes. Don't know what happened. 2 machines, 2 unmodified VS, if I just download the newest rubberduck-vba/next branch and try to build that, it fails on both machines on a same error.
 
so i need to make sure -
do you have C++ build tools?
 
Here is my process. I hope I'm doing just something wrong.....
Or maybe more clear on this address: imgur.com/a/2JGWWiI
 
11:22 AM
@SonGokussj4 just as a test -- cahnge the build post event C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe to C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
what happens then?
 
Any tip how?
(I've never worked with VS)
 
ok - right-click the Rubberduck.Deployment, select Properties
you should then see a Build Event tab. Click it.
then you should see a box named Post Build Command Line Arguments or something similar
that's where the whole string for the running the powershell is
 
Yeah.
I see it now.
 
simply change the path in the start of the string; leave the rest alone
 
Nah. The same. Except not the command starts C:\.....SysWOW64\...
Want a log?
 
11:30 AM
no, thanks, that confirms at least it's not something silly like 64-bit powershell trying to load a 32-bit dll
revert the change
 
(system32 works anyway because of redirection, since VS itself is running x86, it will run the powershell 32-bit. At least I hope so)
 
@this it's working off the ...caret messages from VBENative. The VBE makes the caret disappear at every keypress, and in some other circumstances too - I've tried to filter it as much as I could, there's no noticeable delay in typing but I suppose we couldn't have 200 autocompletes running.. the first one that matches, bails out of the loop.
The autocompletes run after the keypress is written in the editor. The Committed argument in the eventargs tells us whether we're still on the same line (false) or if the Code is on the previous line (true); rest works straight off the VBIDE API to replace the entire line and reposition the caret
 
hmm OK. I might have misssed it but my concern is mainly with block statements - I think they should autocomplete only on an <enter> keystroke
 
11:47 AM
@this I could give you a TeamViewer session if you want. That could speed things up. From my experience...
 
sure becuase I want to avoid this kind of thing affecting other contributors
I have 13 is that ok?
 
yeah.
ID 880593195
need pass? or will it ask me to connect you when you try?
 
@this that's exactly what ends up happening =)
 
@SonGokussj4 better to use meeting
that way you don't need a password
 
(all but one block autocompletes bail out if IsCommitted is false)
(and I'm not sure wtf is up with OERN not working that way)
 
11:53 AM
https://go.teamviewer.com/v13/m97361577

Meeting ID: m97-361-577
 
@SonGokussj4 can't make you the presenter
says there's another remote session running
maybe close another TV session ?
 
:-D That would be a problem. I'm at work. And I'm connected to my home. From which I connected to the meeting :-D
 
lol
better do it at home then
i will help during my lunch hour, ok?
you'll go home in few hours, right?
 
That about when?
 
11:56 AM
@MathieuGuindon OK, now I gotcha. I noticed there was only a For but no For Each
 
In an hour.
 
oh - my lunch would be 4-5 hours from now
 
@this the regex matches both =)
 
Right, thanks for finishing my thought.
 
So after 1:30 I'm going home and then I have time from 1:30 - 3:30... So before your lunch. :-/ Then I'm meeting someone.
 
11:57 AM
OK
may be be better to do it tomorrow
sorry
 
btw this completely changes the feel of typing code in the VBE, it's going to be a hit!
 
@MathieuGuindon and I understand correctly that for phase 1 we aren't addressing the deleting the inserted stuff when we backspace, nor do we ignore the subsequent keystrokes like it does in VS, right?
 
Np. I'll write you my schedule. I'm going to my parent's house so it's a lil' bit complicated till monday. But if it happens even on my Notebook (will try in 1,5 hours), no problem to connect to the meeting from there.
 
Overdue, IMO. it's going to be hard to let go of hard-grained typing habits in VBE but at least they will be much more like VS. :)
 
@this correct
@this does VS do that in VB.NET?
#Curious
 
12:02 PM
@MathieuGuindon What gave you impression I do VB.NET?!? :p
(seriously, IDK. Been years years since I tried it briefly)
one thing i know for sure back then the intellisense did not work the same way
in C#, you can keystroke the capitals to select a keyword. in VB.NET, it won't do that at all. IDK if that's still the case today.
and FWIW, selecting keywords by uppercase letters is a must if you want to get rid of any HN, abbreviations or acronyms or any bullshits like that.
 
@davkean curious, does Visual Studio do that for #vbnet? This completely changes how typing VB code in the editor "feels" and it's awesome - if VS doesn't do it, it should! =) https://twitter.com/rubberduckvba/status/999980985956564993
 
possibly a dumb question -- is there a way to disable selection by user on excel?
 
@MathieuGuindon Would it be possible to add a thing I love in SublimeText the most with auto completions?
If I write print(" it will write print("") and the cursor in in the middle of "
 
#ComingSoon to a VBIDE near you: a bunch of autocomplete enhancements. Type this: Public Enum Foo Get this: Public Enum Foo | End Enum https://github.com/rubberduck-vba/Rubberduck/pull/4038
4
Basically with the next version of Rubberduck, the VBE will delimit ALL code blocks, not just procedure scopes (e.g. Sub...End Sub). Oh and 'On Error Resume Next' automatically fills 'On Error GoTo 0' too. Also you basically get auto-indent-as-you-type for free. #vba #awesome
4
 
That you have. I think.
But
When I type something into the "" and then press ", it will not add nother ", just move the cursor to the right.
 
12:14 PM
@SonGokussj4 that's what I asked about earlier - don't think it's there at least not for phase 1
hpefully not too long after, however.
 
Ah okay. :-) That would be awesome. Not that it won't be now already. Hope I could try it soon.
 
@TweetingDuck I regret that I have but one star to give!
Awesome sauce!!!!
 
FWIW, I do think that it should be implemented sooner than later, though. Without that, people (at least I would) get annoyed and end up disabling it because it's too much fighting with my hard-grained habit.
 
12:33 PM
@rubberduckvba The same with those, we complete them all.
#CompleteAllTheThings
 
1:25 PM
@SonGokussj4 that is exactly what it's doing =)
 
Yeah I know. Read next 3 (4 with answer from /u/this) lines :-p
 
@SonGokussj4 the autocompletes need unit tests I guess
OTOH if you're in a string and type " and get "|", then you get escaped double-quotes for free
 
I understand. But now, when "|" and I type ", it will do ""|" instead of ""| :-) I think. Cant try it. Cant build it. :-D
 
@SonGokussj4 no. if you have "|" and type ", you get ""|""
 
Ohhh. So much quotes. So much autocompletes. :-D
 
note that it also does [ -> [|], { -> {|} and ( -> (|) ;-)
 
Wow, nice job, @MathieuGuindon.
 
1:49 PM
#NerdSniped, went to bed @3AM two days in a row. #WorthIt
:)
 
Backspace is still the same? If I type "| and it will create "|" and I press backspace, it will only delete the left one? :-)
 
Nice.
 
I'd like it to remove the right one too though
(like in VS?)
(wait does VS do that?)
 
1:50 PM
Ou. I don't like this functionality. :-D
 
Yes.
I don't like it either.
 
SublimeText in Python has this and it's horrible.
 
I don't know about VBA, but this really, really screws with me when I try to do literal strings (like @"attribute=""value""" in ASP.NET MVC).
 
1:53 PM
YES
(XAML designer has the same annoyance)
 
I'm going to be shutting down my server for a week tonight, boarding at YUL early in the morning tomorrow, and then AFK for a week
so I don't think I'll be able to implement these comments/fixes in the next 7 days
should I merge it now or wait?
 
I'd say wait.
Otherwise, you'll never get to them.
 
implementing the settings in the same PR would make it too big, right?
 
@MathieuGuindon Make a simple on/off kill switch. Nothing more.
Do the settings in a later PR.
But, I always like kill switches.
Especially when they actually work :)
 
the way it's designed, each IAutoComplete implementation can be enabled/disabled individually
 
@MathieuGuindon Good job.
 
I could stick [Experimental] on top of the service class as a phase-I killswitch
 
2:15 PM
Yeah, that should work.
I really like what I did there, if I say so myself.
 
options = complexity, I know...
 
@FreeMan yeah.. but I really didn't want users to shut off the whole feature just because e.g. single-line If autocomplete is a problem
it massively changes how typing VBA code feels
I can't wait to see what Avalon code panes will feel like
 
wondering - if we go avalon will that be unneeded?
 
IDK
maybe
OTOH, having it as a standalone feature means users can disable the avalon code pane and still get enhanced autocomplete
 
@MathieuGuindon Maybe make this an option? It sounds great to me, but I've had minimal experience with an editor that wants to autocomplete things for me. I might want to play with it, but then find it irritating and hateful like others do, but I might love it...
 
Phase III, I guess
 
@MathieuGuindon Argh!! I had another comment that never posted. Our network has sux0red for the last 2 weeks... I hope, think that the other one posted? I'm not sure. I was thinking that if each one had an [Enable|Disable] and Backspace [Deletes|Doesn't Delete] closing mark that would be ideal. Phase VI, maybe? :D
good Lord our network is slow today!
different topic: I closed down Access last night, but forgot to kill the process. this morning, I launched it & the VBE appeared & loaded all the code before the regular Access window did! I don't think I've ever had the VBE open itself on load before (unless there was a code error - I have a proc auto-run).
 
ugh. the non-block ones are tricky, and only because of caret-hidden messages
 
will do. Weird, why isn't this one pushed to the releases page? I just DL'd .3288 less than 30 min ago...
 
2:41 PM
it's not merged yet
only merge commits on [next] create a prerelease tag
I hate that sometimes merely navigating to a line that ends with a " causes autocomplete to add "". need to figure out a way to further filter the caret messages
 
@MathieuGuindon ah...
 
@FreeMan if you have feedback on the feature (it's welcome!), make comments on #4038 - don't create issues for them
 
roger!
 
(mind the existing comments & known issues ;-)
 

« first day (1449 days earlier)