Essential Text Editor add-ons for coders

I did an important update. don’t hesitate to comment https://youtu.be/QrNr4U17v3w

That’s looking really nice. :slight_smile:
I posted on Twitter about it, so hopefully some more people will benefit from it. I hope that’s okay?

1 Like

The GsoC Info Editor project(which includes Python error reports) has new builds up for testing: https://blender.community/c/graphicall/

Leave feedback here: https://devtalk.blender.org/t/gsoc-2020-info-editor-improvements-discussion-and-suggestions-logs-reports-friends/13718/31

thanks for this and your opinion. that’s a motivation. 1 year ago I told you that I wanted to participate but that I had not the level yet. and that’s only a little step, but I gave the maximum I could on this last stuff. I watched the dev page around text development and for the moment that’s like about python 1 year ago. so maybe next year I could do some things in C. programming was a really hard thing for me and communication harder again…and about how github was working at first to propose a new branch I was totally lost. now it seems a little more clear. but I thing we are eternal souls so I will keep on learning all this. later is better than never

2 Likes

Annotate objects, scenes, files and much more. New add-on by Alexei:

Gsoc Info Editor updates with Text Editor relevant elements:

Test build here:
https://blender.community/c/graphicall/Zmbbbc/

@iceythe The coder of this Gsoc is starting work on better python API logging. I know you had some finding in this area, maybe you want to share them with him? Here’s what he has added to his update list recently:

I was experimenting with python api for logging. I managed to get working sth like this (not in branch): import _bpy; _bpy.log.info("mylogname", "/path", 1, "func_name", "Hello message") . It is more like getting my feet wet, rather than solution.

Now an undo redo in the console:
move cursor under mouse clic and with selections:
so you can insert text everywhere overwrite a selection
same with ctrl x, ctrl v, suppr, backspace
Now an undo Ctrl+Z and a redo shift+ctrl+Z in the console!
add ctrl Q: quick favorite

2 Likes

I haven’t worked with the info editor, but I know Harley did some months back. I assume this is about allowing custom logging directly to the info editor, bypassing the need of using the report methods on operators. It would probably be nice to have.

I just recently got back into blender after a few months break, and wrote a string parser that closely matches how blender’s formatter does string states. I’m 90% there, without looking at its implementation.

Why make a string parser?

Additional syntax highlighting!

4 Likes

Wow, that looks great. And horizontal tabs too?

That wasn’t meant to be included in the shot haha. Text tabs are still experimental. Unlike the workspace tabs in the header, tabs from generic ID types (such as text blocks) are sorted upper-to-lower, in alphabetical order, which can be confusing. As such it’s not yet ready to be included in textension (or maybe as experimental feature?).

I think it would be a good idea to add some more UI elements to Textension, looking at the number of clicks in the first post Code Editor has 105 and Textension has 17, which is quite foolish, since Textension is so much more useful, imo - but I guess eye-candy will always win. Have you considered merging Code Editor with Textension?

Does your highlighter use the theme colors, where possible?

Comparing Text Editor with VS Code, I notice the class and def names and variables do get color in Vs Code:

I’ve considered it, but I don’t use the code editor much and maintaining its code to make it compatible with any changes I make to textension in the future, is not something I would look forward to.

That said, I can probably see a future where the code editor is decomposed into its elements, which are then integrated into textension.

Not sure how it would be possible. There aren’t colors for function calls, pseudo-constants, etc. in the theme. The new colors will however be customizable and have a default color that fits the default theme.

Vscode’s syntax formatter (textmate) is pretty extensive, and I’m using it as a guideline. Separate colors for function/class definitions is one of the rules I’m including.

2 Likes

I added this to the addon manager that I did. this is sorting by date installed addons. but ideally have this option in the addon preferences to see last installed addons would be perfect (a boolean like the existing “enable addons only”) . because last installed addon don’t always appears and sometime the name of the file is different so this is difficult to find it

1 Like

Cool. Much needed feature to clean out the badly installed add-ons. I haven’t tested all of the functionality yet.

Not sure I understand your last image?

Maybe you could consider appending the menu to the Preferences menu too:

bpy.types.USERPREF_HT_header.append(draw)

I don’t know how, but maybe there is a way to force open the header, so it’ll be visible after installation of your add-on?

Some of your buttons and options maybe could be less wordy? Ex.
image
Maybe by moving some of the information into the tooltips defined in this line(iirc, they can be multiline too):
image

Or maybe Install/Reload/Run could have separate entries in the menu, in order to make it more user friendly to read?

Edit Operator Source(built-in):

“Action Recorder” add-on has been updated!

A nice getting started with add-on development in Blender: https://github.com/andyp123/blender_addon_tutorial

A payware add-on for the Text Editor by Blender Sensei:
https://blendersensei.com/downloads/hacker/

Inspiring.

A little update on the syntax:
I’m embracing ctypes and retrieving blender’s own syntax formatting, which means the parser is much faster and I can color everything. Coupled with extensive caching, draw times are below 1ms.

Also made a presets system.

image

Now just need to figure out how to solve alpha blending when black text is overlayed on white. Currently I’m using a happy medium in the fragment shader, but it’s a static adjustment and makes selection look off.

4 Likes