Author Topic: Major CVS codebase changes  (Read 20770 times)

takeshimiya

  • Guest
Re: Major CVS codebase changes
« Reply #15 on: November 18, 2005, 02:32:07 am »
An export command from Visual C++ 2005 gives this:

<DefaultShortcuts>
    <RemoveShortcut Command="Window.PreviousToolWindowNav" Scope="Global">Shift+Alt+F7</RemoveShortcut>
    <Shortcut Command="Build.BuildSolution" Scope="Global">F7</Shortcut>
    <Shortcut Command="Build.RebuildSolution" Scope="Global">Ctrl+Alt+F7</Shortcut>
    <Shortcut Command="Debug.Breakpoints" Scope="Global">Alt+F9</Shortcut>
    <Shortcut Command="Debug.CallStack" Scope="Global">Alt+7</Shortcut>
    <Shortcut Command="Debug.Disassembly" Scope="Global">Alt+8</Shortcut>
    <Shortcut Command="Debug.Locals" Scope="Global">Alt+4</Shortcut>
    <Shortcut Command="Debug.Memory1" Scope="Global">Alt+6</Shortcut>
    <Shortcut Command="Debug.Processes" Scope="Global">Ctrl+Shift+Alt+P</Shortcut>
    <Shortcut Command="Debug.Registers" Scope="Global">Alt+5</Shortcut>
    <Shortcut Command="Debug.Watch" Scope="Global">Alt+3</Shortcut>
    <Shortcut Command="Edit.BriefBrowse" Scope="Global">Alt+G</Shortcut>
    <Shortcut Command="Edit.ClearBookmarks" Scope="Global">Ctrl+Shift+F2</Shortcut>
    <Shortcut Command="Edit.FindSymbol" Scope="Global">Ctrl+Shift+Y</Shortcut>
    <Shortcut Command="Edit.FormatSelection" Scope="Global">Alt+F8</Shortcut>
    <Shortcut Command="Edit.GoTo" Scope="Global">Ctrl+G</Shortcut>
    <Shortcut Command="Edit.GoToDeclaration" Scope="Global">Ctrl+Alt+F12</Shortcut>
    <Shortcut Command="Edit.GoToNextLocation" Scope="Global">F4</Shortcut>
    <Shortcut Command="Edit.GoToPrevLocation" Scope="Global">Shift+F4</Shortcut>
    <Shortcut Command="Edit.GoToReference" Scope="Global">Shift+F12</Shortcut>
    <Shortcut Command="Edit.IncrementalSearch" Scope="Text Editor">Ctrl+I</Shortcut>
    <Shortcut Command="Edit.LineCut" Scope="Global">Shift+Alt+L</Shortcut>
    <Shortcut Command="Edit.ListMembers" Scope="Global">Ctrl+Alt+T</Shortcut>
    <Shortcut Command="Edit.NextBookmark" Scope="Text Editor">F2</Shortcut>
    <Shortcut Command="Edit.PreviousBookmark" Scope="Global">Shift+F2</Shortcut>
    <Shortcut Command="Edit.ReverseIncrementalSearch" Scope="Text Editor">Ctrl+Shift+I</Shortcut>
    <Shortcut Command="Edit.ToggleBookmark" Scope="Global">Ctrl+F2</Shortcut>
    <Shortcut Command="Edit.ViewWhiteSpace" Scope="Global">Ctrl+Shift+8</Shortcut>
    <Shortcut Command="File.Rename" Scope="Global">F2</Shortcut>
    <Shortcut Command="Help.DynamicHelp" Scope="Global">Ctrl+F1</Shortcut>
    <Shortcut Command="Project.Properties" Scope="Global">Alt+F7</Shortcut>
    <Shortcut Command="View.BrowseNext" Scope="Global">Ctrl+Num +</Shortcut>
    <Shortcut Command="View.BrowsePrevious" Scope="Global">Ctrl+Num -</Shortcut>
    <Shortcut Command="View.CodeDefinitionWindow" Scope="Global">Ctrl+Shift+V</Shortcut>
    <Shortcut Command="View.DocumentOutline" Scope="Global">Ctrl+Alt+D</Shortcut>
    <Shortcut Command="View.FindSymbolResults" Scope="Global">Ctrl+Alt+Y</Shortcut>
    <Shortcut Command="View.Output" Scope="Global">Alt+2</Shortcut>
    <Shortcut Command="View.PopBrowseContext" Scope="Global">Ctrl+Num *</Shortcut>
    <Shortcut Command="View.PropertiesWindow" Scope="Global">Alt+Enter</Shortcut>
    <Shortcut Command="View.ViewCode" Scope="Global">Ctrl+Alt+0</Shortcut>
    <Shortcut Command="View.ViewDesigner" Scope="Global">Shift+F7</Shortcut>
    <Shortcut Command="Window.ActivateDocumentWindow" Scope="Global">Alt+0</Shortcut>
    <Shortcut Command="Window.MovetoNavigationBar" Scope="Global">Ctrl+F8</Shortcut>
</DefaultShortcuts>


Which lends me to think: We can have importers from popular IDEs of all settings as much as we can (pretty much Firefox imports bookmarks).

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: Major CVS codebase changes
« Reply #16 on: November 18, 2005, 07:46:16 am »
note that for MS Visual Studio, 2 major set of commans exist.

The Visual Studio 6 set (example : build == F7). An then MS had to change it off course when the first .NET came out (example : build == ctrl-shift-b), now in those newer .NET versions you could always switch back to the VC6 command layout. So I think the VC6 layout I used the most; but people who started using MS VC for the first time after .NET versions where out, probably use the .NET layout since they did not need to keep an existing way of using.



Lieven

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
Re: Major CVS codebase changes
« Reply #17 on: November 18, 2005, 09:07:43 am »
Quote
Funnily, that also means that you need HEAD from yesterday to build HEAD from today. Any other version will not work until the other projects gets updated

Well, you *could* edit the NewBuild file and change the global vars used in compiler/linker options to normal vars...

Quote
Now comes the part of updating contrib plugins to the new ConfigManager

I said it before, I 'll say it again:
all codebase hase been updated to use the new ConfigManager. This includes the core sdk and app, the core plugins and the contrib plugins.

Quote
If there is some easy way to export it, I can prepare keyboard scheme of Dev-C++ and Borland Builder. If just a list "action - key(s)" is enough, that's ok too.

The scheme is saved in <config>/keys.conf, where <config> is ~/.codeblocks for unix or "Documents And Settings/<username>/Application Data/codeblocks" for XP.
Be patient!
This bug will be fixed soon...

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: Major CVS codebase changes
« Reply #18 on: November 18, 2005, 10:49:51 am »
Another thing we forgot to mention is that there is some documentation out for using global user/compiler variables now:
http://wiki.codeblocks.org/index.php/Global_compiler_variables

There are still two known bugs:
1. The name sucks, and it is confusing, too. There are actually two names for the very same thing! When first implementing the feature, I could not think of anything better than "global user variables" since they are tied to the user profile instead of the project. Eventually, someone came up with "global compiler variables", which sounds nice, too. And the difference was so subtle that nobody noticed, either. Since then, both names have been used interchangeably. The WiKi has redirect pages so that you get a hit no matter what you search for. ;)
2. The edit dialog has a bug when deleting keys. It used not to reload properly when deleting a key - I fixed that and now it sometimes does not properly delete keys :lol:. I'll look into it during the next couple of days.

Apart from the above GUI bit, we have been using global user variables daily for weeks without ever seeing a problem, so it is probably safe to assume that they work reliably. You cannot compile HEAD without using GCVs anyway, so you can as well use it officially ;)
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline squizzz

  • Almost regular
  • **
  • Posts: 132
Re: Major CVS codebase changes
« Reply #19 on: November 18, 2005, 12:34:26 pm »
@thomas: while trying to make Dev-C++ bindings, I've found few little glitches in keyboard shortcuts functionality:

1) it doesn't support combination like ctrl+.  (Dev-C++ uses "ctrl+." it to "comment code")

2) some functionality of C::B is not on the list (although it has shortcuts), presumably because these features are not listed in pull-down menus. these are:
* indent / unindent block of code (tab / shift + tab)
* zoom in / zoom out (ctrl + numplus / ctrl + numminus)

3) adding shortcut to "goto function" seem to always crash C::B.

4) "find in files" - is this possible to have a separate menu entry + shortcut for this? (ie. not the shared one with "find")

Regards,

this space is for rent

takeshimiya

  • Guest
Re: Major CVS codebase changes
« Reply #20 on: November 18, 2005, 01:24:44 pm »
See, 2) and 4) would be solved with my Menus and Shortcuts Revamping idea of handling Commands with Bindings, because you'll have for example the Command cmdZoomIn without a Menu Binding, but with a Binding like a Toolbar or Key one.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: Major CVS codebase changes
« Reply #21 on: November 18, 2005, 02:15:21 pm »
1) + 2) yes, wxKeybinder still needs a lot of work. But at least there is *something* now :)
3) works fine here?
4) available via Control-Shift-F now.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline squizzz

  • Almost regular
  • **
  • Posts: 132
Re: Major CVS codebase changes
« Reply #22 on: November 18, 2005, 02:33:16 pm »
See, 2) and 4) would be solved with my Menus and Shortcuts Revamping idea of handling Commands with Bindings, because you'll have for example the Command cmdZoomIn without a Menu Binding, but with a Binding like a Toolbar or Key one.
Yes, indeed. But it still would be nice to add this functionality (esp. point 2) to pull down menu - AFAIR there were at least 2 threads on this forum concerning if is indent/unindent & zoom in/zoom out features already implemented/available and what is the shortcut to invoke it. Now there is simply not a single way [except reading forum] for user to know that it's all there and working. :)

Quote from: thomas
3) works fine here?
I'll try this out once again with more updated version of C::B, and if it keep crashing again, I'll simply send you my configuration file + *.rpt.
this space is for rent

Revy

  • Guest
Re: Major CVS codebase changes
« Reply #23 on: November 18, 2005, 06:21:09 pm »
Hello therion,

first of all i would like to thank you and the CB team for their work!
Second, the CVS Build you provided unfortunately doesn't work on Windows 98 because of a missing export:
Codeblocks DLL is linked with a missing export to SHELL32.DLL:SHGetFolderPathA


Here is a code snippet from MS to make it work on W98:
Code
            // SHGetFolderPath can work everywhere SHFOLDER is installed.
            HMODULE hModSHFolder = LoadLibrary("shfolder.dll");
            if ( hModSHFolder != NULL )
               {
               (*(FARPROC*)&g_pfnSHGetFolderPath = GetProcAddress(hModSHFolder, "SHGetFolderPathA"));
               }
            else
               g_pfnSHGetFolderPath = NULL;
            }

   if (g_pfnSHGetFolderPath != NULL )
      g_pfnSHGetFolderPath(NULL, CSIDL_SYSTEM, NULL, NULL, szSystem32);
   else
      szSystem32[0] = '\0';
   OpenFileName.lpstrInitialDir   = szSystem32;

But i guess a dev needs to update the cvs for the fix.

Thx very much
Revy ---- waiting for a working cvs build for w98 :)

PS
I think one of its major strength of CB is, that it also works on W98, especially because everyone can use VC++ Express on W2k and above for free.

Ive just uploaded the files. They were update from head_merged_to_yt tag, but everything looks fine, should be some kind of temp tag, dont know :-)
BTW The KeyBinder is great! Really a great feature!
Ill test the new debug plugin and send a new build from HEAD revision (the real one) tomorrow (quite late here in Brazil, hehehe)

Enjoy the new build. http://paginas.terra.com.br/informatica/mauricio/codeblocks/


Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Major CVS codebase changes
« Reply #24 on: November 18, 2005, 07:52:55 pm »
Code
// new way
Manager::Get()->GetConfigmanager("editor")->ReadInt("/tab_size", 4);
Manager::Get()->GetConfigmanager("editor")->Write("/tab_size", 4);
Warning: Please note that in mandravs post "GetConfigmanager" is actually wrong, it should be spelled "GetConfigManager" (note the upper case "M"). Otherwise compiling will fail. It took a while for me to realise this... seems I'm blind when it comes to upper/lowercase letters.  :lol:

Morten.
« Last Edit: November 18, 2005, 07:55:14 pm by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Major CVS codebase changes
« Reply #25 on: November 18, 2005, 09:10:07 pm »
I compiled and used the latest CVS version. I think it's awesome. I really like what you have realised. This rocks! The handling of the debugger has greatly improved and I also really like the re-design of the "New project..." wizard.

There are a few notes I would like to mention:
1.) Debugger (1): I recently posted a patch here http://forums.codeblocks.org/index.php/topic,1317.0.html that enables to use (saved) scripts on the basis of "Send command to debugger". I still think it's would be a nice feature and I would be willing to update the patch if required. I think it is especially interesting for people who want to store a series of watches, e.g. values of a std::vector. But: It seems the "Send command to debugger" is broken. Everything I send to the debugger is not even printed in the debugger log. Am I missing something?

2.) Debugger (2): The debugger setting dialog seems not to recall/show the settings in the GUI. Alltough the settings are applied and used, the GUI isn't updated if opened again. This might be a bug.

3.) Debugger (3): When I gave it a try I stupidely (again) missed to setup the "-g" switch. This raised a question: Would it be worth to spot a warning if a user tries to debug a programn that hasn't enabled the debug-compiler switch? Because otherwise the debugger just exists with "0" even if breakpoints are set. Which can be frustrating for new users. Maybe this could be thought of.

4.) I realised that a new compiler has been added. Unfortunately my own compiler addition (an adapted copy of GCC for Fortran77) because of that had a new index so I had to change all my project files to reflect the changes. I guess this is another point to be thought of (with the compiler framework re-design). -> Should a seperate thread be opened for suggestions on this topic???

5.) I realised that a new template has been added. Please allow me to point to http://forums.codeblocks.org/index.php/topic,1207.0.html and http://forums.codeblocks.org/index.php/topic,1228.0.html which might be also considered (if found to be OK). They are also available as patches on SourceForge.

That's all for now.

Thanks again for this great update anyway!!!

Morten.

Edit: With the latest version from CVS the debugger's output is shown again, load/save watches exists in CVS or at least as a patch.
« Last Edit: November 29, 2005, 07:32:40 am by MortenMacFly »
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Major CVS codebase changes
« Reply #26 on: November 29, 2005, 04:39:29 am »
Morten: Forget about CVS.... try the SVN build instead. (We've moved to berlios for the code repository).

Just beware of the latest bugs :P

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Major CVS codebase changes
« Reply #27 on: November 29, 2005, 07:34:42 am »
Morten: Forget about CVS.... try the SVN build instead. (We've moved to berlios for the code repository).
...this post was originally from a date much before the SVN change... :wink:
...but you were right at least I had to cross out another issue that has already been fixed. I had already forgotten this message. :?

Morten.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ