Feature suggestions


#1

Morning All!

Some feature suggestions:

- Title bar to display path and filename instead of just project name.  Hard to identify which project is which when you are working on two copies both with a project name of "MyBestSoftwareEver"

- Window menu to have submenu for JUCER projects that are open.  Normally I want to switch projects / find the window via the Window menu, no see a list of C++ and header files...

- Auto-save option for the editor so it behaves the same as Xcode ... it's slightly surprising that the files don't save themselves (I know!)

- And the big important one: Configuration to support user defined macros.  E.g. BinaryName ${PLUGIN_NAME} ${COMPANY_NAME} or whatever and an additional tab in CONFIG to set the macros.  This will make setting up similar projects more straightforward :) 

Also, last plugin I set up failed to establish a post-build script.  I don't know why, and I can't repeat it. Its' working now.... :) 


#2

Oh and it'd be nice if the "That wasn't a valid module folder!" error exposed a bit more information as to what exactly it didn't like :) 


#3

+1

- possiblity to rename the exporters in the left tree view (example if you have two exporters for VS2012 one for 32 and one for64, both appear with the same name)

- some overview table which show all settings from one project in one view, columns could be the exporters, rows the properties.

(and it would be cool if equal settings in different exportes, could be somehow visualized)

 

 (anyway introjucer is just a great tool)

 

 

 


#4

Thanks! All good suggestions, will take them on-board!


#5

Shit - i made another suggestion and didn't press submit!

 

Editable source-code templates for all the files it creates when you start a project or create a new class... :)


#6

That one's a work-in-progress at the moment!


#7

Also.  ABOUT box with version number, or maybe even just a build date would be good :)  


#8

Could you add CTP_Nov2013 to the list of platform toolsets for MS VS?  It's the C++11 slightly-more-compatible compiler...


#9

Also - Introjucer is writing a bucket load of PlatformToolset items in the Visual Studio Project? Are they all necessary? They seem to prevent me from changing it in the Visual Studio project properties... which only changes the bottom one.  Unless I'm missing a bucket load of options somewhere in the VS GUI.


  <PropertyGroup Label="Globals">
    <ProjectGuid>{3DE6D1E9-C6DF-A125-4BE0-DF95327730CB}</ProjectGuid>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='32BitRelease|Win32'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='64BitRelease|x64'" Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <PlatformToolset>v120</PlatformToolset>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings" />
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros">
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">StereoSavage</TargetName>
    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='32BitRelease|Win32'">.\32BitRelease\</OutDir>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='32BitRelease|Win32'">StereoSavage32</TargetName>
    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='32BitRelease|Win32'">true</GenerateManifest>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='64BitRelease|x64'">.\64BitRelease\</OutDir>
    <TargetName Condition="'$(Configuration)|$(Platform)'=='64BitRelease|x64'">StereoSavage</TargetName>
    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='64BitRelease|x64'">true</GenerateManifest>
    <PlatformToolset>CTP_Nov2013</PlatformToolset>
  </PropertyGroup>

#10

Every architectural config. needs its own toolset, iirc. Been a while since I got into the nitty gritty after writing the 2012/2013 exporters for the Introjucer.


#11

Thanks, will do!


#12

Whatever it's doing doesn't seem to be un-doable from the VS GUI though?


#13

Nudge? :) 


#14

I added this last week, didn't I?


#15

Hang on, I thought I was on the latest.  

Clearly not.   

Whoops...

Think I'll be adding a clean and rebuild feature to my update_juce.bat


#16

The extra options only appear for VS2010 at the moment... 

I think you've overriden the createExporterProperties class for later VS?


#17

I agree! This would be useful.


#18

Ok, I can easily add it for 2015 too. Will do that now..