Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Continuing Developing Legacy Projects: Recommendations for Dev Environment

Explorer ,
May 20, 2019 May 20, 2019

Hi all,

In 2014, I developed a set of InDesign Extensions for InDesign CC 2014, using Extension Builder 3 in Eclipse. This was always problematic because I know nothing about Eclipse (I'm a Microsoft kind of guy - VisualStudio, c#, AzureDevOps/TFS for source control etc.); but it worked. The Extension Builder 3 environment did have the clear advantage that at the press of a button you had a working Extension prototype you could start expanding on.

We have not changed many features since then and only added a few minor Extensions to our offering. I just simply kept on changing the InDesign Version and CSXS versions in the manifest.xml, do an Eclipse "Clean/Build", praying, and I was good to go. This means of course that I am not benefitting from any new features in later releases of CSXS/CEP, etc. Also, I am totally ignorant of any improvements/changes in the CEP Extensions world since 2014...

There was always a danger in this: if something happened to my laptop. Since there's no dependable place to get Eclipse Builder 3, who knows if the installation would even work as I think it contacts Adobe's servers, and if there's still an AzureDevOps/TFS plugin available for source control. So I have been forced to regularly take full image backups of my laptop in case the disk dies or it is stolen. Also, nobody else in the company can work on this, as only I have the environment.

It is time for me to enter the 21 century.

I would like recommendations, please, for a new development environment. What is important to me is:

  1. Easily handles legacy code (which was developed by Extension Builder 3)
  2. Good debugging (and dear Lord - please including JSX debugging - not just JS!)
  3. Creates working prototype (à la "Hello World!") at the touch of the button.
  4. Stable/Predictable (I only like surprises on my birthday, not in my compiler...)
  5. Preferably using MS VisualStudio. If not, then some modern, readily available dev environment which is not based on an antiquated plug-in like Extension Builder 3.

TIA,

mlavie

1.1K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 20, 2019 May 20, 2019

Hi mlavie,

Welcome to the wonderful world of Visual Studio Code! You're definitely going to want to install our new ExtendScript Debugger plugin, which takes over some of the functionality of ExtendScript ToolKit. Why weren't you using ExtendScript ToolKit instead of Extension Builder 3? Was ESTK too new for your purposes?

Unfortunately, the ExtendScript Debugger plugin is not the most stable yet, it's brand new. Fortunately, a new build is coming out this week, at least in our prerelease group. Definitely join that group, there are many expert CEP developers in it who can help answer your questions. Also, here are some tips for getting started on our blog.

By the way, the following steps are good standard troubleshooting, as well as troubleshooting "Error ##15 Can't initialize target."

  • Make sure the ESTK stand-alone application is closed
  • Close the target application (example: Photoshop)
  • Close Visual Studio Code
  • Make sure there are no VS "Code Helper" processes in the Activity Monitor (Mac) or Task Manager (Windows)
  • Restart Visual Studio Code
  • Does it work then?
  • If not, does a reboot help?

You can let ask us questions and give feedback here in this forum.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 21, 2019 May 21, 2019

Hi Erin,

Thanks for your response.

I use ESTK, but unless I missed something, it does not support debugging for JSX - just a convenient editor with no "intelligence" (syntax/grammar/DOM checking). Also, it hasn't changed since CS6, if I am not mistaken.

I have a few questions regarding ExtendScript Debugger, please:

  1. Since it is called "ExtendScript Debugger", does it in fact only handle debugging JSX, or is it also suitable for writing new entire Extensions and also maintaining old ones?
  2. Does it have a friendly UI for managing the definitions normally contained in the manifest.xml?
  3. What about intelligent editing/deugging of JS?
  4. Does it have the capability to create a new Extension prototype automatically?
  5. Also, can the ExtendScript Debugger plugin work in the full MS Visual Studio, or only in VSCode?

PS - Erin, I don't know how long you're with Adobe, but up to a couple of years ago, their was some senior Product Design guru there named Donald Woodward. Have you heard of him?

TIA,

Lavie

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 21, 2019 May 21, 2019
  1. Since it is called "ExtendScript Debugger", does it in fact only handle debugging JSX, or is it also suitable for writing new entire Extensions and also maintaining old ones?
    The ExtendScript Debugger for Visual Studio Code is intended only to enable the debugging process. VSCode can be used to create new extensions and maintain old ones, and there are several other plugins related to ExtendScript that you can use to assist your workflows.

  2. Does it have a friendly UI for managing the definitions normally contained in the manifest.xml?
    No, although I'm guessing there may be several XML plugins that make it easy to edit the manifest.

  3. What about intelligent editing/deugging of JS?
    Can you provide more information as to your request?

  4. Does it have the capability to create a new Extension prototype automatically?
    No; this plugin only works for debugging.

  5. Also, can the ExtendScript Debugger plugin work in the full MS Visual Studio, or only in VSCode?

No; it only works currently in Visual Studio Code. Once we open source it, the community is welcome to extend it to other editor environments.

Hope that helps!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 21, 2019 May 21, 2019

Hi kerrishotts

Thanks for the response.

Could you please point me to al list of all the VSCode plugins I'd need to start maintaining/writing CC Extensions, and documentation for the process? I apologize for the request for such remedial help in getting started - but as stated, I've essentially done no real Extension development in about 5 years, and am a bit rusty.

TIA

Lavie

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
May 21, 2019 May 21, 2019
LATEST

Hi Lavie,

Here are two beginner-ish guides for getting started with CEP extensions that you might find useful:

GitHub - Adobe-CEP/Getting-Started-guides: Getting Started guides and samples for CEP extensions

GitHub - Adobe-CEP/CEP-Resources: Tools and documentation for building Creative Cloud app extensions...

The ExtendScript VSCode plugin is so new it might not get mentioned in either guide.

As for:

Could you please point me to al list of all the VSCode plugins I'd need to start maintaining/writing CC Extensions, and documentation for the process?

Theoretically you could just build with this one, but others have found this plugin helpful: ExtendScript - Visual Studio Marketplace.​ It's up to date and actively maintained.

The web is filled with lists like this one, blog entries by developers recommending general VSCode plugins. The only ones from that list that I have tried are ESLint and Prettier. Sometimes it's necessary to disable and enable certain VSCode plugins, depending on what you're doing.

A couple days ago this person mentioned their own bootstrapping tool, which I haven't tried yet, and it will probably generate something complicated from the looks of it: https://forums.adobe.com/message/11065508#1106550z

I hope this is helpful!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines