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