Jump to content
How to Install Plugins ×

CodeLab v6.12 for Paint.NET 5.0.12 (Updated February 11, 2024)


Rick Brewster

Recommended Posts

13 minutes ago, toe_head2001 said:

Most people don't use tabs with any C style language.

 

A shame, really.

 

13 minutes ago, toe_head2001 said:

That's completely subjective. The same exact things can be said about tabs. I'm not even joking.

 

The standout issue with tabs is variable tab width among different environments.  For you a tab width might appears as 40px, but for other people it might be 80px.

This is very evident in web browsers. For some reason, a tab is about double the normal (if there is such a thing) width in a web browser.

A space is always the same width.

 

Yes, I know it's completely subjective. That's why I think it's silly to enforce this... (I'm not talking about you - I blame Microsoft!)

Personally, I think it's a great thing that tabs have variable width! To me, indents are logical separators, not visual ones. One indent equals one tab, and its visual width is just your personal preference.

 

Anyway...

 

52 minutes ago, toe_head2001 said:

it would be very easy to add an option to CodeLab for tabs.  However, all the templates within CodeLab are hard-coded with spaces. So basically, you would easily end up with a document mixed with tabs and spaces.

 

Well, it's not really a big deal, replacing manually is quite easy. Or actually, it would just be easier to simply to do a replace in the templates before adding them to the documents if the user has some "use tabs" option enabled.

Link to comment
Share on other sites

  • 3 months later...

I'm wondering if there can be a find/replace function similar to the one implemented in KDE Kate.

 

vNlIARl.png

This is more for faster editing. I would just copy and paste to KDE Kate, and then back to CodeLab.

G'MIC Filter Developer

Link to comment
Share on other sites

2 hours ago, Reptillian said:

... a find/replace function similar to the one implemented in KDE Kate.


So you want a pane to list the lines that contain matches?

 

EDIT: oh, I see, you want to toggle if a match gets replaced. Is that right?

Edited by toe_head2001

(September 25th, 2023)  Sorry about any broken images in my posts. I am aware of the issue.

bp-sig.png
My Gallery  |  My Plugin Pack

Layman's Guide to CodeLab

Link to comment
Share on other sites

1 minute ago, toe_head2001 said:


So you want a pane to list the lines that contain matches?

 

Yes, as well as checkboxes to selectively change matches.

G'MIC Filter Developer

Link to comment
Share on other sites

2 minutes ago, toe_head2001 said:

Do you know about light-bulb renaming in CodeLab? It does more extensive matching than simple text compare.

No. I don't even know about a light-bulb.

G'MIC Filter Developer

Link to comment
Share on other sites

So, it really only for renaming identifiers.

 

Here I have renamed the Local Variable selection to mySelRect. When I hover my mouse cursor over the word, the Light-bulb menu appears.

As I said before, it does matching with a stricter criteria. (as opposed to basic text compare)

 

3htiTzY.png

 

 

  • Upvote 1
  • You're a Smart Cookie! 1

(September 25th, 2023)  Sorry about any broken images in my posts. I am aware of the issue.

bp-sig.png
My Gallery  |  My Plugin Pack

Layman's Guide to CodeLab

Link to comment
Share on other sites

  • 2 weeks later...

Looks like CLR doesn't like the recursive method, and it (the CLR) just crashes. Perhaps the C# compiler is generating bad IL.  I have no idea at this point.

 

If you run the code as a stand-alone program (or even in something like LINQPad), it will no doubt have a similar failure.

(September 25th, 2023)  Sorry about any broken images in my posts. I am aware of the issue.

bp-sig.png
My Gallery  |  My Plugin Pack

Layman's Guide to CodeLab

Link to comment
Share on other sites

  • 1 month later...

CodeLab 6.1 Released

This is only for Paint.NET 4.2.16+!

 

Long awaited update today...

 

Changes:
 Use Roslyn syntax in generated code (BoltBait)

 Fix the disablement of the Transparency menu (toe_head2001)

 Disable intelligent assistance when document is readonly (toe_head2001)

 Fix issue with square brackets in controls' Display Name (toe_head2001)

 Add SubmenuNames.Color which is new in PdN 4.2.16 (BoltBait)

 Copy Text and RTF formats onto the clipboard (Handy when pasting syntax highlighted code into Word) (toe_head2001 and BoltBait)

 Fix compilation with PDN v4.2.16 (toe_head2001)

 Fix Clouds rendering for Paint.NET v4.2.16 (BoltBait)

 Fix URLs for Errors and Warnings (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001 and BoltBait)

 

 

Grab the CodeLab DLL here:

 

https://www.boltbait.com/pdn/CodeLab/

 

  • Like 5
  • Upvote 2
Link to comment
Share on other sites

  • BoltBait changed the title to CodeLab v6.1 (for advanced users) Released June 25, 2021

CodeLab 6.1 in Russian

 

You can find the new version of CodeLab in Russian here.

Вы можете найти новую версию CodeLab на русском языке здесь.

  • Upvote 1
Link to comment
Share on other sites

  • 2 months later...

Hopefully this is an easy question. In Codelab I see the IntSliderControl on the opening screen. When exported to VS it exports as a Class C# cs file.

My project is Form based. I am trying to add that IntSliderControl to my form, but it does not exist in the toolbox. This tells me a little bit of programming is required to build it programmatically like in codelab. This of course is way over my head. I hope I have explained it correctly.

 

IntSliderControl.png.af424dbead6404f828229885dba8aa53.png

Can you help with the code required or steer me to the right place to know how to build it. I have searched for 3 days to answer this riddle.

 

 

PaintNetSignature.png.6bca4e07f5d738b2436f83d0ce1b876f.png

Link to comment
Share on other sites

@AndrewDavidIMHO this question is far beyond Codelab. Codelab creates PropertyBesedEffects. This is the most simple way to create an effect plugin.

You can not just create a dialog, add some controls and tell paint.net to use it. You have to derive a new dialog from the paint.net one.

You have to create an EffectToken which is used to transport settings from the dialog to the render function and to setup the controls in the dialog.

You can do this but if you are not experienced with the basic concepts of effect plugins then it will take some time.

You should first check the source code of an existing plugin to understand the flow of data, the  start making small modification by adding a new control.

It's just not the best time during the switch to .net 5.

  • Thanks 1
  • Upvote 2

midoras signature.gif

Link to comment
Share on other sites

@AndrewDavid, you're jumping into the deep end of the pool before learning how to swim.

 

At your level of understanding of C# and the inner workings of Paint.NET, I would recommend sticking with CodeLab.  Let it do the heavy lifting for you.

 

Work your way through all the tutorials, etc.

 

CodeLab with the Paint.NET IndirectUI system masks a lot of the complexity of writing plugins.  Honestly, I know how to write plugins with custom UI (like BBChart, etc.) and I hate to do it. That's why I myself use CodeLab for all my plugins. 

  • Like 1
  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

Just now, AndrewDavid said:

Plugin still works. I think we can agree Net 5.0 is a little buggy.

 

.NET 5 isn't buggy, it just has some changes we haven't all adapted to yet.

  • Upvote 2

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

CodeLab v6.3 Released

This is only for Paint.NET 4.3.1+!

 

Quick update today...

 

Changes in v6.2:
 Update to .NET 5.0 (toe_head2001)
 Scripts can use C# 9.0 compiler syntax (toe_head2001)
 Use an AssemblyLoadContext when loading built scripts (Rick Brewster)
 Switch to ILRepack for building CodeLab (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001)

 

Changes in v6.3:
 Improve look of some icons (toe_head2001)
 Fix File>New>Filetype generated code (BoltBait)
 Fix File>New>Effect Advanced Pointer code (BoltBait)
 Improve IEnumerable<T> name suggestions (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001 and BoltBait)

 

 

Grab the CodeLab DLL here:

 

https://www.boltbait.com/pdn/CodeLab/

 

Link to comment
Share on other sites

  • BoltBait changed the title to CodeLab v6.3 (for advanced users) Released September 27, 2021
On 9/26/2021 at 1:18 PM, AndrewDavid said:

Found this anomaly practicing building plugins.

 

Hmm, weird. That's how Roslyn is building the DLL files in CodeLab. It won't hurt anything though.

I'll investigate further when I have time.

 

doubleDll.png

(September 25th, 2023)  Sorry about any broken images in my posts. I am aware of the issue.

bp-sig.png
My Gallery  |  My Plugin Pack

Layman's Guide to CodeLab

Link to comment
Share on other sites

Not at all - Win 10 of course. Works through the menu. Works in other apps like VS and VS Code, Notepad.

 

Just tried it again and it worked. I'll keep an eye on it and see why it didn't work.

Edited by AndrewDavid

PaintNetSignature.png.6bca4e07f5d738b2436f83d0ce1b876f.png

Link to comment
Share on other sites

@BoltBait I have a request.

 

         One of your effects that I constantly use requires some modification to suit my needs. This is a personal request. Using Codelab, can I rebuild one of your effects found in SelectionTools.dll?  The one I want is OutlineSelection.  I could extract the code that I need to rebuild it in VS using Codelab as a staging platform for Net 5.0. Can I have your permission? Another way of learning - hacking I guess you might call it. Then could you assist if I run into any problems? I've noticed C# 9 has simplified the code and VS is pretty good at solving the errors.

PaintNetSignature.png.6bca4e07f5d738b2436f83d0ce1b876f.png

Link to comment
Share on other sites

22 hours ago, AndrewDavid said:

@BoltBait I have a request.

 

         One of your effects that I constantly use requires some modification to suit my needs. This is a personal request. Using Codelab, can I rebuild one of your effects found in SelectionTools.dll?  The one I want is OutlineSelection.  I could extract the code that I need to rebuild it in VS using Codelab as a staging platform for Net 5.0. Can I have your permission? Another way of learning - hacking I guess you might call it. Then could you assist if I run into any problems? I've noticed C# 9 has simplified the code and VS is pretty good at solving the errors.

 

Just PM me a description of the feature you want to add and I'll look into it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...