« first day (1716 days earlier)      last day (1464 days later) » 
00:00 - 12:0014:00 - 00:00

2:16 PM
> **Rubberduck version information**
Version 2.4.0.4533
OS: Microsoft Windows NT 10.0.17763.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.11328.20070
Host Executable: WINWORD.EXE


**Description**

If I select a field in a type definition I cannot select refactor.encapsulate. This may be a bit of an unfair observation but arises from having followed the thinking in

https://rubberduckvba.wordpress.com/2018/04/

on 'this' and 'TSomething'. I now use Properties and
> Yep, this is still one of (several) things to improve. See #875; I suspect that needs to be implemented to make way clear for this suggestion.
> **Rubberduck version information**
Version 2.4.0.4533
OS: Microsoft Windows NT 10.0.17763.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.11328.20070
Host Executable: WINWORD.EXE


**Description**
If I encapsulate a field (not in a Type declaration) using Refator Encapsulate Field in a class that implements an interface the resulting dialog box does not offer to implement the interface equivalent of the encapsulated field.

e.g. If I encapsulate Property1 in a class tha
 
2:44 PM
Here's a question - why does VBA compiler give wrong error message for this code:
Public Sub x()
    Do
        If True Then
    Loop
End Sub
This yields: Compile error: Loop without Do
When in the case it's really the End If that's missing.
After thinking about it, my guts is that it's trying to complete the If block so it's looking for Do within that block and stops there, never seeing the preceding Do.
 
2:59 PM
> ok, I will start reading to understand how to contribute. I still can not access the chat, I'm a new user in stackexchange.
> Ok will have mod authorize you - you're user477247?
> Yes
 
@room owners See above ^
 
Room owner is not sufficient. Only mods can give explicit write privileges. Ping @Vogel612.
 
Permission granted, please reload your browser tab
 
@user477247 ^
 
3:11 PM
Hi
Welcome to the pond
 
Welcome!
 
Thanks for the opportunity guys
Where should I start
 
We're happy to have any new contributors.
Just to confirm the understanding - you are a native Spanish speaker and you want to contribute Spanish translation to Rubberduck, right?
 
I am Colombian and I knew his tool looking to improve the organization of my VBA projects. So having a Spanish version would be great.
 
Ok, just to be clear - we welcome any kind of contributions, so if you want to fix a bug or introduce an enhancement you also can do this.
Translating may be helpful in getting you familiar with the rubberduck's code layout which may then help you better in contributing enhancements, but that's up to you.
You indicated that your C# is basic - if you elect to do code contributions, you will want to look for the issues that are marked [difficulty-01-duckling] or possibly [difficulty-02-ducky].
I'll leave it to others to explain the mechanics of translation as I never have done any translations - I understand others uses a tool to help make this easy.
 
3:22 PM
Ok, I'll be attentive to the indications to start
 
To do translations, I would recommend to use the tool ResX Manager, which is available both as an extension for VS or a standalone program.
 
Visual Studio?
 
Yes
 
It works in the community version
 
To start the translations, you will first have to get the source code. So, you will want to fork the GitHub project and make a local clone.
Everyhting you will ever need for RD works in the community version.
 
3:26 PM
Ok
 
Just to be sure you need 2017
Earlier versions of VS may not work, I think.
 
VS2017 + resX Manager
I will install the programs to clone the repository and start studying it
 
:+1: If you have any questions, feel to ask away here.
 
3:44 PM
Ugh, the test setup for the refactorings with presenters is seriously annoying.
 
I'm sorry.
 
The problem is that with my redesign, the models are no longer responsible for finding the seclaration: that is a responsibility of the refactoring.
 
hmm. but isn't the declaration a part of the model?
after all it's a data that affects how refactoring will execute?
I agree that refactoring class is responsible for the finding the right declaration based on selection, though.
 
The new setup generally is that refactorings know how to get the declaration from a selection, regardless of whether they have a UI or not. Then the actual work starts from the declaration.
The exception is, ImplementInterface.
The declaration is on the model, but is now passed in on construction, or set it explicitly.
Now, the presenters can no longer just return a predefined model.
 
Yeah that was the intention - it didn't seem like it was presenters' responsibility.
 
3:50 PM
They have to return one based on the delaration on the model passed in, with the properties settable by the presenter set to the appropriate values.
It will just be a lot of work rewiring all the setup code.
 
I reasoned that the refactoring classes are the one who knows the better about what initial model should go into the UI.
 
That is still the case.
The difference to the previous setup is that this input has to contibute to the test outcome.
 
Should I include the development package for Office in VS?
 
Alternatively, I have to write a ton of additional tests that test both parts independently, which would actually be cleaner.
 
@user477247 No you don't really need it.
 
3:54 PM
Ok
 
@M.Doerner I think that's better - the other goal for 4072 was to separate the UI more, so you should be able to test the refactoring by just using a model.
before, the presenter and the refactoring were tightly coupled and there were many tests that tested the presenter but should be in reality testing the model setup within the refactoring.
 
I just do not really like that I have to write/rewrite tons of tests just because of making the refactorings obey a sensible call order.
 
Yeah. I don't blame you. 4072 broke so many tests. It's clear we still have lot of tech-debt in the test project.
 
My current commit will be way too huge.
 
4:10 PM
Design question: currently, one halve of the refactorings has a UI and the other half notifies the user about unusable selections via a message box. I think that neither using the message box nor just bailing out is a good solution. (If a refactoring does not need user input, it should not deal with UI concerns.)
So, I want to install a common framework for notifying the caller about unusable input.
What would you prefer: using an event or raising custom exceptions?
 
I'm more inclined toward a event.
exactly where are you going to put the framework? In the command or in the refactoring?
 
Into the refactoring.
The command is the caller.
The command should handle showing a message box or whatever it wants to do with the error.
 
If refactoring shouldn't have UI concerns, I would have thought the command should be the one to display the message to the user that the command cannot be executed.
 
Currently, the refactoring does it itself.
 
Ok - and I see the problem w/ the event.
right now, command is just calling the refactor.
I preferred event only because I want to avoid exception and stack unwinding
 
4:14 PM
It will have to register to the event and after the call unregister again.
 
Why couldn't refactoring return a status?
 
But why should it?
 
primarily to avoid the need to unwind the stack and handling the refactoring in a try
 
It only fails for not suitable input.
 
(I think most of those already have a try block internally)
 
4:15 PM
No
There is no try in there.
 
Hmm. I see.
If that's the case, then I suppose the custom exception is indeed the better route.
 
I think I will introduce that in a later commit of my current PR.
 
if there weren't already try, introducing a 2nd level of try would only complicate the matter which is why I thought of a status return instead.
 
 
1 hour later…
6:06 PM
Severity	Code	Description	Project	File	Line	Suppression State
Error		Duplicate 'Compile' items were included. The .NET SDK includes 'Compile' items from your project directory by default. You can either remove these items from your project file, or set the 'EnableDefaultCompileItems' property to 'false' if you want to explicitly include them in your project file. For more information, see aka.ms/sdkimplicititems. The duplicate items were: 'C:\Users\IvenBach\Source\Repos\Rubberduck\Rubberduck.Core\obj\Debug\net46\UI\About\AboutControl.g.cs'; 'C:\Users\IvenBach\Source\Repos\Rubberduck
New compile error on home machine.
 
6:20 PM
open up your Rubberduck.Core.csproj file - does it contains Compile entries for those files?
Unrelated: I'm finding VBA's stupidity WRT Set (or lack of it) to be quite annoying. It happily compiles someObjectVariable = anotherObjectVariable even though it's impossible to do it without Set. (Neither has default members so the implicit access isn't a factor here)
 
It has a workaround section for Windown Forms and XAML
 
yeah that's OK.
that's in the repo, too.
 
grrrr. I tried their suggestion and now am getting build errors like at work.
In order to get around this error, you can either remove the explicit Compile items that match the ones listed on the previous table, or you can set the <EnableDefaultCompileItems> property to false, like this:
<PropertyGroup>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
</PropertyGroup>
 
the error suggests that your csproj is now trying to compile the same file twice somehow.
 
I'm now getting the same net46 errors on my home machine.
 
6:33 PM
the EnableDefaultCompileItems isn't in the repo's csproj
 
C:\Program Files\dotnet\sdk\2.1.100\Sdks\Microsoft.NET.Sdk\build
 
and my guts is that it shouldn't be added/ nor set to false.
hmm. Where do you see that? We should be using sunburst.
ok, that's at the end of your message
is your core.csproj identical to the one on the repo?
 
It now is. I reverted any change and it now can compile.
 
sounds like it picked up some changes that shouldn't be.
now we just need to fix your work machine.
 
^
I'll check on Monday about reverting csproj to be identical to upstream.
 
6:41 PM
who knows maybe that'll be the charm. I know we tried that few times already but ?
and of course, you can always accidentally trip over the cable and fall on the motherboard. Hey, boss, mah need a new brain!
 
I'm sure I've already tried it but I'll try again.
 
breaking your computer?
:D
 
7:07 PM
Attempt 1) :derp: Nope
Attempt 2) :derp: Nope
Attempt ...) Wait a minute…
Attempt N) Success
Oh how I've missed working on RD.
 
@AlexisDuque Welcome to the pond.
 
Soy el usuario nuevo, Ya instalé VS and ResXManager.
 
Creo que sera un poco dificil communicarte con los otros aqui si no hablas espanol.
 
Sorry
 
7:12 PM
Yo hablo espanol pero de una forma muy fea por falta de practica.
No se si los demas hablan espanol.
Do you have any specific questions?
 
What should I do to start translating?
 
What languages can you translate? I think we're up to date on Spanish. @MathieuGuindon are we?
Do you know any other languages?
 
Only spanish
 
Don't forget English too.
Do you have any experience with VBA or C#?
 
I consider myself intermediate
For English
Yes in both, but more in VBA
I have created macros and applications with Excel
And I have developed desktop applications with C #, until now university projects.
 
7:21 PM
@IvenBach There was a guy who started but didn't hear back from....
 
@AlexisDuque keep in mind i never actually did translations myself so I'm unfamiliar w/ the tool but AIUI when youopen the resx manager, you will be able to see a list of resx
you would need to create ***.es.resx then translate from English to Spanish
just as an example -- this is an English resx file:
we also have 2 more, for German and Czech
but with the resx manager, I think you should be able to load the English in the left pane and then create a new .es.resx on the right and get started?
 
I can translate English to Spanish easier
 
Great, so you got it set up now?
 
@this thanks for the assistance. Heading out for a while.
 
7:30 PM
I have a copy of the repository on my PC and I can now see the resx administrator
has 4 languages
 
hopefully soon 5! :)
 
I will work for it ;)
Solo creo el nuevo archivo con la traducción?
I only create the new file with the translation?
 
yes
it should have the same file name but with the es added, like the french example I showed above (which has fr)
 
RubberduckUI.es.resx
 
exacto
 
7:35 PM
Ok, I'll start
 
[rubberduck-vba/Rubberduck] build for commit 5e54c9e9 on unknown branch: AppVeyor build succeeded
 
8:11 PM
Should I translate the comments?
Or I just translate the values ​​and delete the comments
 
8:42 PM
Whether it needs to be deleted, I guess it depends on whether you get to see the comments - they are for translator's benefit.
 
 
2 hours later…
10:36 PM
I have finished the file
2
 
Excellent! There are few more resx files; those needs to be created & translated so that the entire program is translated. Alternatively you can load it up and review your work to verify it looks right in the UI.
 
Templates.es.resx and CommandBarIcons.es.resx
 
In the templates, please leave the actual code template untranslated.
Btw, ResxManager has a botton in the top row to add a language to a resource. No manual file creation is required.
 
@AlexisDuque welcome aboard from me.
 
10:52 PM
I do not modify the file code Templates.es.resx
@PeterMTaylor Thanks
 
What I meant is that in the Templates.resx there is a code template. That one record should not get translated.
 
That particular key is PredeclaredClassModule_Code
Translate everything else but not that one.
 
The name, descriptor and caption though should get translated.
 
I probably should add a comment about that key.
 
If you have it open in the Resx Manager, you should see that it has no translation for the other languages.
@this Btw, a few is an understatement.
More like 20.
Anyway, the ResX Manager should list them all.
 
11:00 PM
Ready templeate.es.resx
Templates.es.resx
¿Qué otros archivos debo traducir?
 
@AlexisDuque awesome, thanks!
 
Do you have the ResXManager open?
There should be a long list of resources for RD on the left side.
To properly support spanish, all of them need to be translated.
Note that all of them in Core aonly contain icons and, thus, need no translations.
 
I see, I will continue
 
@AlexisDuque Thanks for the huge effort.
 
^ we appreciate it greatly and I hope you will learn about RD a bit and thus be in a good position to contribute code changes so you can practice your C# and get to use RD too.
 
00:00 - 12:0014:00 - 00:00

« first day (1716 days earlier)      last day (1464 days later) »