Author Topic: Questions about Code::Blocks design?  (Read 5745 times)

Offline Zingam

  • Multiple posting newcomer
  • *
  • Posts: 74
Questions about Code::Blocks design?
« on: March 08, 2006, 12:22:38 am »
I have some questions about Code::Blocks UI design:
Why there is a link in the "Start here" tab: open an existing project but there is not such a menu item?

And what's the idea behind the project/workspace thing? I cannot quite get it.

In Visual Studio (and SharpDevelop and other IDEs) there is a main "solution" (a main project) that could contain a number of projects (sub-projects) but that's not how the project/workspace thing is working here.

Also I think that it's better to be able to choose the default compiler, language and settings for a project from the New Project dialog than to set a default compiler in the Compiler Settings dialog.
« Last Edit: March 08, 2006, 12:24:47 am by Zingam »

sethjackson

  • Guest
Re: Questions about Code::Blocks design?
« Reply #1 on: March 08, 2006, 02:42:07 am »
I have some questions about Code::Blocks UI design:
Why there is a link in the "Start here" tab: open an existing project but there is not such a menu item?

And what's the idea behind the project/workspace thing? I cannot quite get it.

In Visual Studio (and SharpDevelop and other IDEs) there is a main "solution" (a main project) that could contain a number of projects (sub-projects) but that's not how the project/workspace thing is working here.

Also I think that it's better to be able to choose the default compiler, language and settings for a project from the New Project dialog than to set a default compiler in the Compiler Settings dialog.

1. There is one. File -> Recent projects, and File -> Recent files.
2. It is the same concept AFAIK.
3. This is being redesigned IIRC.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Questions about Code::Blocks design?
« Reply #2 on: March 08, 2006, 07:45:07 am »
And what's the idea behind the project/workspace thing? I cannot quite get it.
A workspace can contain several projects (e.g. libs, executables...). A project can contain several targets (e.g. different compilers, debug, release etc.). You can setup project dependencies within a workspace. Thus project A if it depends on project B will be compiled before, if necessary.
With regards, 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

Offline Zingam

  • Multiple posting newcomer
  • *
  • Posts: 74
Re: Questions about Code::Blocks design?
« Reply #3 on: March 08, 2006, 02:29:32 pm »
Morten,

well but the way it works here is not as streight forward as in Visual Studio, where you:
1. Open VS
2. Create a new project
    - a new solution  (workspace) is created for you automatically and in a subfolder is created your project
3. Add a new project to the created solution (workspace)
    - a new subfolder is created and the project files are put in there.
4.When you save a solution, everything is saved automatically.

:) To achieve the same in C::B you need to do many more actions manually, changing settings etc.

The current implementation has also other disadvantages that's why I have asked if there is something about CB design I don't understand.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Questions about Code::Blocks design?
« Reply #4 on: March 08, 2006, 02:49:56 pm »
The current implementation has also other disadvantages that's why I have asked if there is something about CB design I don't understand.
It also has some advantages, though. Imagine you want to create a simple "Hello World" console application. C::B offers 3 ways how to do it: Create a "one-file project" - thus, not truly a project but just a single file. You don't need anything else if you just want to try something. Then imagine you tried and want to have another target, let's say a debug-target. So you create a project which includes the single file and has 2 targets (e.g. default and debug). Again: You don't need anything else to solve the problem. Now you want to include a lib. Now you have 2 choices: You can add the lib as another target (targets are not limited to the very same source files) or you create another project. Both makes sense depending on your point of view. Once you start a "real" workspace (solution) you should create a workspace then that encapsulates sub-projecs.
I think the main advantage is simply that you create a minimal-set of project files depending on your problem. For a simple "Hello World" application why would someone require a project and a workspace (solution)?

I the end (IMHO) you have more flexibility. Furthermore C::B does not try to copy VS. So this approach (for me) was just something to get used to. But ones I did I found out the advantages of this concept, too. I'm just a user of C::B as you are but I wouldn't say that this concept has only disadvantages.

With regards, Morten.

Edit: In the end maybe a "Save completely all" ;-) menu function would do what you are requesting. Depending on what's open it would save a single file, one or more projects or the whole workspace including projects and files.
« Last Edit: March 08, 2006, 02:53:17 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 Zingam

  • Multiple posting newcomer
  • *
  • Posts: 74
Re: Questions about Code::Blocks design?
« Reply #5 on: March 08, 2006, 09:33:54 pm »
:) The best thing about Code::Blocks is that one can change it the way he likes it (something I'm not going to do ;).