A few suggestions for future revisions..

Started by RickF, May 31, 2011, 11:07:32 PM

Previous topic - Next topic

RickF

Here are a few suggestions that have popped up after playing with version 1.48 :


  • Have a project "reload" or "update" feature that can scan the selected directory within the project (or the entire project) and add/remove files as needed to match the file system.  I do this a LOT and don't see any easy way to achieve this in HE outside of doing a global "add-file" on the entire project again and allow HE to remove duplicates -- it does work but could be cleaner..
  • For those of us with dual (or more) screens, it would be slick to be able to open another entire viewing/editing window in HE that occupies the other screen allowing one file to be worked on one window and another set of files in the other.  I can do this easily with Eclipse -- a work around for now in HE is to resize the HE window to occupy both screens and use the "Window->Tile Vertically" feature-- not quite as nice but works in a pinch or I guess I could open up two separate instances too
  • Make auto-hide menu require a dialog box approval to enable -- this one bit me -- I accidentally enabled it and was not able to re-enable the standard setting so I had to uninstall/re-install since the menu never un-hid itself -- perhaps a bug?
  • Add feature in context menu to pull up the associated C/C++ file (or equiv) if viewing a header file (e.g. foo.h, allow menu option to pull up foo.c or equiv) -- the reverse works but not if you pull up the header first
  • If cutting some code from one place (in C++ that is), and pasting it into a new if statement (with its own curly braces), the indentation engine ought to adjust the indentation so it's proper for the new location.. Currently it leaves the indentation alone which means I get to adjust it -- no biggie but could be automatically adjusted

That's about it for now.. So far so good..

alex

Hi Rick,

welcome to forum and thanks for feedback suggestions ;)

QuoteHave a project "reload" or "update" feature that can scan the selected directory within the project (or the entire project) and add/remove files as needed to match the file system.  I do this a LOT and don't see any easy way to achieve this in HE outside of doing a global "add-file" on the entire project again and allow HE to remove duplicates -- it does work but could be cleaner..
This feature already exist in 1.50, called "virtual folders". Done as some kind of dynamic filters on file system folders. As if you call remove-add folders every time, when files created/deleted.

QuoteFor those of us with dual (or more) screens, it would be slick to be able to open another entire viewing/editing window in HE that occupies the other screen allowing one file to be worked on one window and another set of files in the other.  I can do this easily with Eclipse -- a work around for now in HE is to resize the HE window to occupy both screens and use the "Window->Tile Vertically" feature-- not quite as nice but works in a pinch or I guess I could open up two separate instances too
This is is a good idea. Probably will be not trivial to implement, but in general rather useful - I will check how this implemented in Eclipse.
If efforts will be not big, probably it will come into 1.50.

QuoteMake auto-hide menu require a dialog box approval to enable -- this one bit me -- I accidentally enabled it and was not able to re-enable the standard setting so I had to uninstall/re-install since the menu never un-hid itself -- perhaps a bug?
The behavior is similar to other implementations, menu appears if you press Alt. Like in Internet Explorer or Windows Explorer in Windows 7... If this does not work by you, it is a bug.
I can evaluate creating of Warning message box, before enabling, with description of how to enable, but this has low priority. Unless I will get another complain about this. There is another such "dangerous" command, to hide main menu. For this probably I do not need any more complains for such message :)

QuoteAdd feature in context menu to pull up the associated C/C++ file (or equiv) if viewing a header file (e.g. foo.h, allow menu option to pull up foo.c or equiv) -- the reverse works but not if you pull up the header first
This should work already. And works by me. With your example with foo.h and foo.c also works :) As with Alt+O as with context menu. The mapping is defined in c_spec.xml in data\syntax:
      <FilePattern mask="*.c;*.inl;*.h">
        <Pair file1="*.inl" file2="*.h"/>
        <Pair file1="*.c" file2="*.h"/>
        <Pair file1="*.cc" file2="*.hh"/>
      </FilePattern>

But it does not work, if names are not match. Create a bug report and send example which does not work.

QuoteIf cutting some code from one place (in C++ that is), and pasting it into a new if statement (with its own curly braces), the indentation engine ought to adjust the indentation so it's proper for the new location.. Currently it leaves the indentation alone which means I get to adjust it -- no biggie but could be automatically adjusted
This feature is disabled by default. Tools->Options->Formatting->Smart Helpers->Format after every paste.

BR, Alex
HippoEDIT team
[url="http://www.hippoedit.com/"]http://www.hippoedit.com/[/url]

RickF

Thanks for the help!  I've updated my settings for #5, will check into the behavior for #4 and will wait for #1 (in 1.50 which I'm not yet running -- the beta was a bit too beta for me -- I'll stick with 1.49 for now).

By the way.. One more suggestion/comment if I could.. I noticed when commenting out a large block of C++ code that if there are blank lines anywhere in the block of code, HE skips over those lines (leaving them uncommented) and looks for more lines of code to comment out.  Would it be possible to ask that ALL lines in a block being commented out get commented out regardless of their content (blanks or otherwise)?  That way, it plays nicer with the folding feature as I can fold a large block of code out of view instead of N smaller bits that are separated by empty lines.   This is how Eclipse works -- sorry!  I find that behavior really handy as I can easily fold things away with one button press instead of N.  Hope this makes sense..  Below is some code that I commented out and you can see the blank likes remain blank :

//void MyCoolClass::myCoolMethod(const char* name, unsigned int offset, int argNum)
//{
//   char* ptr = reinterpret_cast<char*>(data);
//   ptr += offset + 4;       // Move to beginning of block
//   ptr += 4;            // skip past header field.

//   // Find the proper offset for the specified value..
//   if (argNum < 33)
//   {
//      // since args start at 1.. subtract off to make it zero based again to


For the sample code above, I'd need to fold up two sections but Eclipse using the same code would only need one for the whole block.. If you magnify this against a function/method that is several hundred lines long (heaven forbid!), you can see how it can be a bit on the annoying side..  Anyway, just something to ponder..

P.S.  I purchased a registration code for HE today!  One more registered user!

alex

Quotein 1.50 which I'm not yet running -- the beta was a bit too beta for me -- I'll stick with 1.49 for now
yes, it is not stable enough, for editing, but works more less OK, if you need HE mostly for file viewing.

QuoteWould it be possible to ask that ALL lines in a block being commented out get commented out regardless of their content (blanks or otherwise)? 
I understood the reason, have not thought about this when implementing the feature... Skipping of lines was even more work, than not skipping :)
I can provide an XML flag, that control this, with default to old behavior. If more people will like it, default can be changed or flag will come to UI settings.

Do not know when this would be done, or in 1.49a or in silent update of 1.49 release. The request is small and there is not risk, so adding of it will be safe. I hope.

QuoteP.S.  I purchased a registration code for HE today!  One more registered user!
Yes, I know ;)

BR, Alex
P.S: Till Monday I am on vacation, so be aware of delays with my responses ;)
HippoEDIT team
[url="http://www.hippoedit.com/"]http://www.hippoedit.com/[/url]


RickF

Quote from: alex on June 01, 2011, 12:14:24 AM
This should work already. And works by me. With your example with foo.h and foo.c also works :) As with Alt+O as with context menu. The mapping is defined in c_spec.xml in data\syntax:
      <FilePattern mask="*.c;*.inl;*.h">
        <Pair file1="*.inl" file2="*.h"/>
        <Pair file1="*.c" file2="*.h"/>
        <Pair file1="*.cc" file2="*.hh"/>
      </FilePattern>

But it does not work, if names are not match. Create a bug report and send example which does not work.

Ok.. I think I've got some ideas on why this is causing problems in my area.. We use the following extensions for C++ coding here : .h, .cc

I added the ".cc" for HE to use when determining if it was a C++ file and modified the above syntax for the c_spec.xml so it works now...  Would it be possible to have ".cc" files added to the list of C/C++ file extensions regularly?  No biggie if you disagree..

I do notice one issue though -- IF the code lives in one directory within the project (e.g. <top-level>/mycool-project/src/foo.cc) and the header lives elsewhere within the project (e.g. <top-level>/mycool-project/include/foo.h), that HE does not show the option to view the header.  It will though IF they both reside in the same directory -- that works 100% fine.  I'm not sure if this is a bug or just a feature of how it was implemented.. ?

alex

Of course, no problem, I will update standard c_spec.xml with your adoption, so it would be not necessary to change it next time, and other users will also get it.
Would be in library on web site and in default installation of updated 1.49.

QuoteI do notice one issue though -- IF the code lives in one directory within the project (e.g. <top-level>/mycool-project/src/foo.cc) and the header lives elsewhere within the project (e.g. <top-level>/mycool-project/include/foo.h), that HE does not show the option to view the header.  It will though IF they both reside in the same directory -- that works 100% fine.  I'm not sure if this is a bug or just a feature of how it was implemented.. ?
It is not a feature but also not a bug :) I just have not thought about this :) I will add this to 1.49: small effort and no risk. HE will search in current project for opposite file, if it is not found aside. Such logic is already used for Smart Navigate: if you will press Alt+G on include "header.h" it will be searched also in project if not found aside. Good suggestion.
HippoEDIT team
[url="http://www.hippoedit.com/"]http://www.hippoedit.com/[/url]