I want to develop a plugin for InDesignCC.
I have downloaded InDesignCC SDK, and I have known that I need to use Visual Studio to develop.
But, from the community ,I found it also seems to need InDesign debug vesion.
And for getting the debug version, I must to be a member of the prerelease program??
Is this a paid member?
Do I have to pay again to get the debug version?
I don't know much about plugin development,
can someone tell me what should I prepare to develop a plugin?
No you don't need to pay for the Debug version. As you already know about the prerelease program, join it and you can use the debug version with your current subscription.
Regarding other things, you need to be comfortable with coding in C++ and using VS(Win)/XCode(Mac). There is an elaborate description of the InDesign object model in the SDK, go through it and you should be ready for your journey. Also the sdk ships with the sample plugin projects, you can compile and play around with them
P.S. :- The debug version is not required but good to have. Helps a lot in debugging and catching bugs early on in the development.
To continue from Manan's suggestions:
Note there is a separate prerelease program for developers.
In the past it has been a good idea to get as close as you can in compiler versions to that described in the SDK. E.g. I learned the hard way in some version VC++ changed the way delete operated on arrays. Also the footprint of C++ library objects may differ. This could be less of a problem nowadays, I don't know about more recent concrete problems because I just use the required compiler.
In the case of Xcode, specific IDE versions also require specific OS versions near to its date of publishing, I usually target the min OS requirement for InDesign as also stated by the SDK.
In the case of Windows / VC++, I learned that while in theory multiple IDE versions are supposed to coexist on the same machine, in practice the fun already started with installer problems. So for cross version support also prepare some virtual machines.
Better also be ready to invest plenty time. More so if you've just been thrown on the job and also have to learn InDesign from the user side.
Thank you for answering my question.
Could you tell me a bit more about what a prerelease program is?
I just got the name from the forum and I don't know in detail.
Manan, you said that the debug version is not required,
does it mean that I can develop using the InDesign release version, SDK and VS without join the prerelease program?
And, I have another question.
I want to develop the plugin that is only used in my company, but in an environment without this plugin, a warning message that the plugin is not in the environment will appear. I've heard that this message will continue to come out without Adobe's approval. Is this true?
Is there any way to suppress the warning message?
Prerelease is a program that gives access to unreleased versions of applications, for beta testing and also for developers to port their solutions to the new releases. Debug version of InDesign is also available via the developer prerelease program.
Does it mean that I can develop using the InDesign release version, SDK and VS without joining the prerelease program?
Yes, you can. If you don't need extra debugging help like asserts popping for conditions like accessing method on a null interface, getting promoted for boss class leaks etc. You are free to develop using the SDK and release version of InDesign.
What do you mean by environment? Do you mean to say that if a document created with this plugin is loaded, would give a warning if opened on another machine that does not have the plugin? If yes, then you can control this. The warning appears only if your plugin persists some data on the document, even in such a case you can control if the warning is displayed or not. It's explained in the SDK documentation.
I know what should I do to develop a plugin.
Thank you very much.