Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Usability issues

(1/9) > >>

Ceniza:
I said about two weeks ago that I was planning to post a week ago something that I'm just going to post now.

The following "issues" come from my experience working with Visual Studio. The intention is not to become a clone of Visual Studio, but it is still good to see what is happening there.

Issue 1: "Unindent" (has anyone found the right word for it?)

It would be nice if pressing shift+tab removed all white space up to the previous level of indentation, or up to the last non-white space character or the beginning of the line. In other words, given the following piece of text (| signals the cursor position)

this    is    a        |test

pressing shift+tab should transform it into

this    is    a    |test

and again into

this    is    a|test

and again would do no more.

Issue 2: Automatic type deduction when debugging

This one depends on the capabilities of GDB, which I have not checked yet. The idea is as follows: suppose you have a class hierarchy, reduced in this example to Derived inherits from Base. Having a pointer to Base actually pointing to Derived should show this information. In other words, trying to watch the pointer to base should show that it's currently pointing to an instance of Derived, and allow the user to watch the internals of it know that its real type is known. In Visual Studio, for example, this information is shown in brackets, so you would see something like: [Derived].

[SVN rev. 5614]Issue 3: Code completion tooltip messing with debugger tooltip

If both tooltips are enabled, trying to see the value of a variable by hovering the pointer on it will display two tooltips, one on top of the other. In all my tests, the code completion tooltip was always on top of the debugger tooltip. Visual Studio solves this issue by completely disabling code completion's tooltip during a debugging session.

Issue 4: Auto expandable debugger tooltip

When you hover over a variable during a debugging session, a 2 columns tooltip will be shown providing the name of the variable (IIRC) and some brief information about it. On the left of this tooltip there's a + (like those of trees) that automatically expands when the mouse is on it for a few milliseconds. After expansion, another tooltip appears below the previously shown one displaying another level of information. When the variable is an object, this tooltip will show all its attributes and their values. When those attributes are objects, their value will be just some brief information about it, and a + will appear to expand them. This allows you to easily browse complex objects when debugging. Also, if you right click on a tooltip, you get a menu where you can, for example, add that level of expansion to the watched variables window.

Issue 5: Opening files with different encodings

This problem has been discussed, again, recently. Sometimes you try to open a file in CB, but all you get is an empty document. I faced this problem when trying to check the file xmltest.cpp of TinyXML. I was trying different encodings, but I could not find one that would really open the file and display its contents.

Issue 6: Set next instruction

This one has a thread of its own here. I never felt the need to use this feature because I never saw it before. When I started using Visual Studio, I found this little one quite handy in some cases. It's one of those features that have to be used with extreme care, but so are also many other features already present.

Issue 7: Send command to debugger field

I think this one was requested once a long time ago. It would be a seldom used feature, but it would also be handy to have. The debugger output window would be a good place to put it in.

Issue 8: More memory windows

Rarely used also, but having the ability to display more memory address contents during debugging would be handy. I saw up to four in Visual Studio and Delphi shows two by default.

Random thought: Filtering of opened files

A few weeks ago I came up with the idea to have some sort of new tabbed view for opened files that would allow you to do some filtering on the names of these tabs. Filtering could be, for example, all files that start with letter 'I', or all files with the sequence 'logger', all files with extension '.cpp' or even a combination of them. Logical operators could even be considered, also sorting. My first imaginary prototype looked more like an index with a text field and options

* | # | A | B | C | D | E | ... | Z | a-z | z-a | Filter: _________x

I still wonder about its usability benefits, but I wanted to comment about it anyway.

Time for you to share your thoughts.

ollydbg:

--- Quote ---Issue 1: "Unindent" (has anyone found the right word for it?)

It would be nice if pressing shift+tab removed all white space up to the previous level of indentation, or up to the last non-white space character or the beginning of the line. In other words, given the following piece of text (| signals the cursor position)

this    is    a        |test

pressing shift+tab should transform it into

this    is    a    |test

and again into

this    is    a|test

and again would do no more.
--- End quote ---

I have been using Visual studio for many years, but I haven't use this "shift + tab" to do the deleting. :oops: , I always use 'delete' key. :D


--- Quote ---Issue 3: Code completion tooltip messing with debugger tooltip

If both tooltips are enabled, trying to see the value of a variable by hovering the pointer on it will display two tooltips, one on top of the other. In all my tests, the code completion tooltip was always on top of the debugger tooltip. Visual Studio solves this issue by completely disabling code completion's tooltip during a debugging session.
--- End quote ---

This is really messing, These two tooltips will overlap each other. So, I do suggest disable code completion tooltips when debugging.


--- Quote ---Issue 5: Opening files with different encodings

This problem has been discussed, again, recently. Sometimes you try to open a file in CB, but all you get is an empty document. I faced this problem when trying to check the file xmltest.cpp of TinyXML. I was trying different encodings, but I could not find one that would really open the file and display its contents.
--- End quote ---

I report this encoding problem several times. But it still exist :(.


--- Quote ---Issue 7: Send command to debugger field

I think this one was requested once a long time ago. It would be a seldom used feature, but it would also be handy to have. The debugger output window would be a good place to put it in.
--- End quote ---
This is very important for a deep debugging.

Thanks for sharing your ideas.




ollydbg:
I have a Jump issue.

When I press "ALT + left arrow", the caret will jump to the last editing position. then, "ALT + right arrow", it will go forward.

But it doesn't jump back after I jumping with "mouse right click"->"find declaration of XXX".

So, my suggestion is:

Before each "find XXX" jump, the previous editing position will be recorded to the editor.

Thanks.

dmoore:

--- Quote from: Ceniza on February 21, 2009, 11:18:06 pm ---Issue 5: Opening files with different encodings

This problem has been discussed, again, recently. Sometimes you try to open a file in CB, but all you get is an empty document. I faced this problem when trying to check the file xmltest.cpp of TinyXML. I was trying different encodings, but I could not find one that would really open the file and display its contents.

--- End quote ---

I can't reproduce this with xmltest.cpp downloaded from sourceforge. Can you post the file and/or encoding settings you are having trouble with. Also, what's your locale set to?

JGM:
Many of the features here could be borrowed from gedit and notepad++. It came to my memory all the plugins that implement this things like filename filtering for gedit. Since im programming now on gedit for my CMS project  :D

Navigation

[0] Message Index

[#] Next page

Go to full version