On 18/03/2023 02.44, Thomas Passin wrote:
On 3/17/2023 9:38 AM, Simon Ward wrote:
On Fri, Mar 17, 2023 at 02:05:50PM +0100, Roel Schroeven wrote:
Even better than simply highlighting is (IMO) a thing called "Rainbow Braces" or "Bracket Pair Colorization" I recently learned about: both braces of a matching pair get the same color, while other pairs get other colors. I have to say I like it quite a lot. It's in VS Code these days; possible there are implementations or extensions for other editors and IDEs as well.

VS Code also supports ‘semantic highlighting’: Instead of simply highlighting syntax, highlight the same identifiers in the same colours, with the aim of helping you see them through the flow of the code.

Even with a simple "Find" command I don't like that behavior, let alone for programming.  I find that all those other marked instances make it harder for me to read the surrounding material.  They are good for moving from one instance to another, but otherwise they get in the way for me.


Haven't seen the coloring feature as-described. As the number of identifiers increased, suspect it would become gaudy or the color shading too subtle for my eyes.

+1 'Busy pictures' can be distracting.


That said, the syntax-highlighting can provide the occasional cue that something has gone-wrong. However, will I recognise it from the mis-coloring, or from other evidence first?


The semantic point might be easily under-estimated. A 'simple find' may not be helpful - a web-search for Python turns-up irrelevant information about snakes!

Regarding the tracing of an identifier: PyCharm has two features:
- with cursor/caret on/at a single use of an identifier, it will highlight other usage, elsewhere in that module's code - (context menu) FindUsages will bring-up a two-pane window. The left-pane shows a tree-structure of the project, modules, etc, down to a listing of each code-line where the identifier is used. Highlighting one of those (at a time), will show the context around that particular line/usage. The right-pane is editable!

The great thing about these features is that they are semantically-aware (is that a real term?). For example, if I were (foolish enough) to name an identifier "the", such searches will not 'hit' the same word inside a comment or docstring.

Better still, the above motivation continues into a (context menu) Refactor facility. This, one might consider to be a semantic Find-Replace. Often employ when helping others to clarify their code/Code Review - or when I'm 'just coding' and have quickly defined an identifier without a lot of thought, but later (ie when come to make use of it) realise a better alternative and more descriptive name.

--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to