File preparation
When developing a scripted extension, create a development folder in any location and prepare the following files.
- Required files
- Manifest file (manifest.json) ・ ・ ・ Definition of extension
 - Script file ・ ・ ・ C# script file that is the entry point
 - Locale file (locale.*.json) ・ ・ ・ Definition for each localized language (required only for multilingual support)
 
 
For example, when developing an extension named helloworld in a scripted manner, the basic file structure is as follows.
helloworld /
    manifest.json
    main.cs
    locale.en.json (for multilingual)
    locale.ja.json (for multilingual)
    resources /
        button.png
Manifest file
- The Next Design extension always requires one file named 
manifest.json. This is called the Manifest. - This manifest contains the following definitions:
- Overview of extensions
 - File name that is the entry point
 - life cycle
 - Extension points for UI, events, and commands
 
 - Use UTF-8 as the character code of the manifest file.
 - The icon image on the ribbon specified in the manifest is prepared as a PNG format file.
 
{
    "name": "Hello World",
    "main": "main.cs",
    "lifecycle": "application",
    "extensionPoints": {
        ...
    }
}
For more information on manifests, see Manifest Reference.
Script file
- Implement the handler called from the extension point defined in the manifest in the script file.
 - A file that implements a handler called from an extension point is called a entry point.
 - Only one entry point can be specified in the manifest. All handlers should be implemented at one entry point.
 
//Command handler public function
public void SayHello (ICommandContext context, ICommandParams paramemters)
{
    App.Window.UI.ShowInformationDialog ("Hello!", "Hello World");
}
For more information on handlers, see Implementing Handlers with Scripts below.
Prepare a locale file (optional)
- If the extension is multilingual, define a locale file named 
locale. {Lang} .jsonfor each localized language. - For more information on multilingual support, see Multilingual Support.