# Essential Text Editor add-ons for coders

**URL:** <https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857>\
**Category:** Released Add-ons and Extensions\
**Tags:** add-ons, scripting, free, blender2-80\
**Created:** [June 8, 2019, 7:25am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857 "2019-06-08T07:25:23Z")\
**Posts on this page:** 20\
**Page:** 14

<div class="post-metadata">

**Author:** ![zgorg](https://blenderartists.org/user_avatar/blenderartists.org/zgorg/32/623566_2.png) [@zgorg](https://blenderartists.org/u/zgorg)\
**Post date:** [August 14, 2020, 6:32pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/284 "2020-08-14T18:32:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 14, 2020, 7:53pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/285 "2020-08-14T19:53:41Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 14, 2020, 7:56pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/286 "2020-08-14T19:56:30Z")

</div>

The GsoC Info Editor project(which includes Python error reports) has new builds up for testing: [https://blender.community/c/graphicall/](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](https://devtalk.blender.org/t/gsoc-2020-info-editor-improvements-discussion-and-suggestions-logs-reports-friends/13718/31)

---

<div class="post-metadata">

**Author:** ![zgorg](https://blenderartists.org/user_avatar/blenderartists.org/zgorg/32/623566_2.png) [@zgorg](https://blenderartists.org/u/zgorg)\
**Post date:** [August 15, 2020, 11:35am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/287 "2020-08-15T11:35:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 16, 2020, 6:56am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/288 "2020-08-16T06:56:24Z")

</div>

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

> [@memo Noter Add-on \[Release Addon\]](https://blenderartists.org/t/noter-add-on-release-addon/1247395):
>
> Noter 1.1.0 [Noter Logo] Download If you want to support me you can download it via Gumroad: Gumroad: [https://gum.co/scXEh](https://gum.co/scXEh) Github: [https://github.com/rovh/Noter](https://github.com/rovh/Noter) Noter is an add-on created to increase productivity in Blender by organizing the workflow. With Noter you can: Annotate a specific object, scene or file(.blend). Create notes lists for the object or scene. Save the text in the Blender itself so that it will be available in any file(.blend). Create notes tree using nodes. Thu…

 ![image](https://blenderartists.org/uploads/default/original/4X/3/d/c/3dcbbebda81469594263834425a6e92e9b9dbb9e.png)

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 19, 2020, 6:23am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/289 "2020-08-19T06:23:44Z")

</div>

Gsoc Info Editor updates with Text Editor relevant elements:

 ![image](https://blenderartists.org/uploads/default/original/4X/0/5/a/05ad489833d2f20f183b1eeb59f132f931057d6d.png)

> **[GSoC 2020: Info Editor Improvements - Weekly Reports](https://devtalk.blender.org/t/gsoc-2020-info-editor-improvements-weekly-reports/13659/17)**
>
> Week 12: August 17 - August 23 add mute operators to context menu: remove padding from multirow text: added autoscroll - autoscroll was actually the default behaviour, what makes it impossible to debug continuous log messages (like mouse...

Test build here:  
[https://blender.community/c/graphicall/Zmbbbc/](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.

---

<div class="post-metadata">

**Author:** ![zgorg](https://blenderartists.org/user_avatar/blenderartists.org/zgorg/32/623566_2.png) [@zgorg](https://blenderartists.org/u/zgorg)\
**Post date:** [August 22, 2020, 5:21pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/290 "2020-08-22T17:21:32Z")

</div>

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

[https://youtu.be/G2qJVWVBnw0](https://youtu.be/G2qJVWVBnw0)  
[https://github.com/1C0D/console\_easy\_text\_edit-Blender](https://github.com/1C0D/console_easy_text_edit-Blender)

---

<div class="post-metadata">

**Author:** ![iceythe](https://blenderartists.org/letter_avatar_proxy/v4/letter/i/b5e925/32.png) [@iceythe](https://blenderartists.org/u/iceythe)\
**Post date:** [August 24, 2020, 1:00pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/291 "2020-08-24T13:00:23Z")

</div>

> [@tin2tin](#):
>
> 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 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?

# 

 ![image](https://blenderartists.org/uploads/default/original/4X/c/e/3/ce3dc8b03398a7ce1a27ab3d7dcde5e6022250c7.png)

# 

Additional syntax highlighting!

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 24, 2020, 7:06pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/292 "2020-08-24T19:06:48Z")

</div>

Wow, that looks great. And horizontal tabs too?

---

<div class="post-metadata">

**Author:** ![iceythe](https://blenderartists.org/letter_avatar_proxy/v4/letter/i/b5e925/32.png) [@iceythe](https://blenderartists.org/u/iceythe)\
**Post date:** [August 25, 2020, 11:11am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/293 "2020-08-25T11:11:01Z")

</div>

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?).

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 25, 2020, 11:32am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/294 "2020-08-25T11:32:49Z")

</div>

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:

 ![image](https://blenderartists.org/uploads/default/original/4X/6/5/9/6591deeb654554eeb4a94d6e7e79505200382e89.png)

---

<div class="post-metadata">

**Author:** ![iceythe](https://blenderartists.org/letter_avatar_proxy/v4/letter/i/b5e925/32.png) [@iceythe](https://blenderartists.org/u/iceythe)\
**Post date:** [August 25, 2020, 12:02pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/295 "2020-08-25T12:02:55Z")

</div>

> [@tin2tin](#):
>
> Have you considered merging Code Editor with Textension?

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.

# 

> [@tin2tin](#):
>
> Does your highlighter use the theme colors, where possible?

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.

# 

> [@tin2tin](#):
>
> Comparing Text Editor with VS Code, I notice the class and def names and variables do get color in Vs Code

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.

---

<div class="post-metadata">

**Author:** ![zgorg](https://blenderartists.org/user_avatar/blenderartists.org/zgorg/32/623566_2.png) [@zgorg](https://blenderartists.org/u/zgorg)\
**Post date:** [August 25, 2020, 6:23pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/296 "2020-08-25T18:23:07Z")

</div>

_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_

 ![image](https://blenderartists.org/uploads/default/original/4X/f/1/b/f1bf3eb3901fa465c2781959edbce738ee9563e4.png)

---

<div class="post-metadata">

**Author:** ![zgorg](https://blenderartists.org/user_avatar/blenderartists.org/zgorg/32/623566_2.png) [@zgorg](https://blenderartists.org/u/zgorg)\
**Post date:** [August 25, 2020, 6:30pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/297 "2020-08-25T18:30:08Z")

</div>

![Blender Preferences_3](https://blenderartists.org/uploads/default/original/4X/a/a/0/aa08be7c689c6d204ce8e9b27a08964e7dc40fea.jpeg)

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 25, 2020, 7:59pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/298 "2020-08-25T19:59:31Z")

</div>

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:

 ![image](https://blenderartists.org/uploads/default/original/4X/a/6/0/a6015118ef8924c89bb0d2c6f64bae590ca04732.png)

```auto
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](https://blenderartists.org/uploads/default/original/4X/f/8/f/f8ff576a539fcda66d88d78c2277f01c45ea3548.png)  
Maybe by moving some of the information into the tooltips defined in this line(iirc, they can be multiline too):  
 ![image](https://blenderartists.org/uploads/default/original/4X/7/9/2/792a34c9d62598d07f85b78835805d3bfd5ce189.png)

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

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 28, 2020, 4:23am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/301 "2020-08-28T04:23:05Z")

</div>

Edit Operator Source(built-in):

> **[【Edit Operator Source】オペレーターのidnameを検索してソースファイルを開くアドオン【Blender】 – 忘却まとめ](https://bookyakuno.com/edit-operator-source/)**
>
> オペレーターのidnameを検索して、ソースファイルを開く事ができる、Blender内蔵の開発者向けアドオンを紹介する。 使い方 “Edit Operator Source”は

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [August 28, 2020, 4:26am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/302 "2020-08-28T04:26:59Z")

</div>

“Action Recorder” add-on has been updated!

- 11 bug fixes
- Auto check for updates
- Put the Updates Button on the Help tab
- Pie menu
- 6 other New features !  
[https://t.co/dJ1rDRy5mr](https://t.co/dJ1rDRy5mr) [https://t.co/jNxZ3vV3nv](https://t.co/jNxZ3vV3nv)

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [September 4, 2020, 6:53am UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/303 "2020-09-04T06:53:29Z")

</div>

A nice getting started with add-on development in Blender: [https://github.com/andyp123/blender\_addon\_tutorial](https://github.com/andyp123/blender_addon_tutorial)

---

<div class="post-metadata">

**Author:** ![tin2tin](https://blenderartists.org/user_avatar/blenderartists.org/tin2tin/32/1084923_2.png) [@tin2tin](https://blenderartists.org/u/tin2tin)\
**Post date:** [September 8, 2020, 4:46pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/304 "2020-09-08T16:46:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![iceythe](https://blenderartists.org/letter_avatar_proxy/v4/letter/i/b5e925/32.png) [@iceythe](https://blenderartists.org/u/iceythe)\
**Post date:** [September 8, 2020, 8:53pm UTC](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857/305 "2020-09-08T20:53:43Z")

</div>

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](https://blenderartists.org/uploads/default/original/4X/8/2/c/82c236f00100083f3f82698cee5e2faad4d63e63.png) ![image](https://blenderartists.org/uploads/default/original/4X/d/0/8/d08ee9ff18d306215a375366e12893f138de3dce.png)

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.

[Previous page](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857.md?page=13)

[Next page](https://blenderartists.org/t/essential-text-editor-add-ons-for-coders/1163857.md?page=15)
