Difference between revisions of "Project Settings"

From VSI OpenVMS Wiki
Jump to: navigation, search
Line 21: Line 21:
  
 
=Project Settings Description=
 
=Project Settings Description=
* <code>'''Break'''</code> - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination <code>CTRL+Key</code> to pause debugging when user press '''Pause''' or <code>F6</code>.
+
* <code>'''break'''</code> - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination <code>CTRL+Key</code> to pause debugging when user press '''Pause''' or <code>F6</code>.
* <code>'''Builders'''</code> - Mask for files used for building the project. Default is "*.{mms,com}".
+
* <code>'''builders'''</code> - Mask for files used for building the project. Default is "*.{mms,com}".
* <code>'''Exclude'''</code> - Folders excluded from synchronization with OpenVMS system.
+
* <code>'''exclude'''</code> - Folders excluded from synchronization with OpenVMS system.
* <code>'''Headers'''</code> - Header files. Default is "*.{h,hpp}".
+
* <code>'''headers'''</code> - Header files. Default is "*.{h,hpp}".
* <code>'''Listing'''</code> - Listing files that will be downloaded after the project is built for debugging purpose.
+
* <code>'''listing'''</code> - Listing files that will be downloaded after the project is built for debugging purpose.
* <code>'''Outdir'''</code> - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. '''NOTE''': Should be only the name of the folder, not a full or relative path.  
+
* <code>'''outdir'''</code> - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. '''NOTE''': Should be only the name of the folder, not a full or relative path.  
* <code>'''Project Name'''</code> - Name for the executable file, auto-generated '''MMS''' file for builder, OPT file for linker, and COM file for defining logical names. '''NOTE''': Use one word only; do not use spaces or special characters.
+
* <code>'''projectName'''</code> - Name for the executable file, auto-generated '''MMS''' file for builder, OPT file for linker, and COM file for defining logical names. '''NOTE''': Use one word only; do not use spaces or special characters.
* <code>'''Project Type'''</code> - Type of the project. '''Note:''' the building method depends on the type of the project and its dependencies. Available types:  
+
* <code>'''projectType'''</code> - Type of the project. '''Note:''' the building method depends on the type of the project and its dependencies. Available types:  
 
** '''executable''', '''library''' or '''shareable''' for classic languages;  
 
** '''executable''', '''library''' or '''shareable''' for classic languages;  
 
** '''java''', '''kotlin''' or '''scala''' for JVM based projects.  
 
** '''java''', '''kotlin''' or '''scala''' for JVM based projects.  
* <code>'''Resource'''</code> - Files required for the project, but are not involved in the build process.
+
* <code>'''resource'''</code> - Files required for the project, but are not involved in the build process.
* <code>'''Root'''</code> - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder.
+
* <code>'''root'''</code> - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder.
* <code>'''Source'''</code> - Mask for the source files, e.g. "*.{c,cpp}".
+
* <code>'''source'''</code> - Mask for the source files, e.g. "*.{c,cpp}".
* <code>'''Additional libraries'''</code> - list of libraries in ODS-5 format, separated by commas.
+
* <code>'''addLibraries'''</code> - list of libraries in ODS-5 format, separated by commas.
* <code>'''Additional include folders'''</code> - list of folders in ODS-5 format, separated by commas.
+
* <code>'''addIncludes'''</code> - list of folders in ODS-5 format, separated by commas.
  
 
=Adjusting Project Settings=
 
=Adjusting Project Settings=
# Set the <code>'''Root'''</code> directory. For example, if the project is located in '''WORK:[USER.DEMOS.SIMPLE]''' and the home directory is '''WORK:[USER]''', set the parameter value to '''demos/simple'''.
+
# Set the <code>'''root'''</code> directory. For example, if the project is located in '''WORK:[USER.DEMOS.SIMPLE]''' and the home directory is '''WORK:[USER]''', set the parameter value to '''demos/simple'''.
# Select the <code>'''Project Type'''</code> that you need.
+
# Select the <code>'''projectType'''</code> that you need.
# Specify the <code>'''Project Name'''</code>. '''NOTE''': do not use spaces or special characters.
+
# Specify the <code>'''projectName'''</code>. '''NOTE''': do not use spaces or special characters.
# Check <code>'''Builders'''</code>. These files will be synchronized.
+
# Check <code>'''builders'''</code>. These files will be synchronized.
# Check <code>'''Headers'''</code>. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.
+
# Check <code>'''headers'''</code>. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.
# Check <code>'''Source'''</code>. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.
+
# Check <code>'''source'''</code>. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.
# Check <code>'''Resource'''</code>. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.
+
# Check <code>'''resource'''</code>. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.
# Adjust the <code>'''Exclude'''</code> field value to list the files similar to the described above but not to be synchronized and compiled.
+
# Adjust the <code>'''exclude'''</code> field value to list the files similar to the described above but not to be synchronized and compiled.
# Check <code>'''Listing'''</code>. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
+
# Check <code>'''listing'''</code>. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
# If the project depends on already installed libraries, specify the in the <code>'''Additional libraries'''</code> and <code>'''Additional include folders'''</code>  
+
# If the project depends on already installed libraries, specify the in the <code>'''addLibraries'''</code> and <code>'''addIncludes'''</code>  
  
 
[[Category:VMS IDE]]
 
[[Category:VMS IDE]]

Revision as of 09:27, 21 October 2019

Project Configuration Example

{
    "project": {
        "break": "C",
        "builders": "*.{mms,com}",
        "exclude": "**/{node_modules,.vscode}/**",
        "headers": "*.h",
        "listing": "*.lis",
        "outdir": "out",
        "projectName": "project",
        "projectType": "executable",
        "resource": "**/resource/**",
        "root": "project",
        "source": "*.{cpp,c}",
        "addLibraries": "sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB",
        "addIncludes": "sys$library"
    }
}

Project Settings Description

  • break - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination CTRL+Key to pause debugging when user press Pause or F6.
  • builders - Mask for files used for building the project. Default is "*.{mms,com}".
  • exclude - Folders excluded from synchronization with OpenVMS system.
  • headers - Header files. Default is "*.{h,hpp}".
  • listing - Listing files that will be downloaded after the project is built for debugging purpose.
  • outdir - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. NOTE: Should be only the name of the folder, not a full or relative path.
  • projectName - Name for the executable file, auto-generated MMS file for builder, OPT file for linker, and COM file for defining logical names. NOTE: Use one word only; do not use spaces or special characters.
  • projectType - Type of the project. Note: the building method depends on the type of the project and its dependencies. Available types:
    • executable, library or shareable for classic languages;
    • java, kotlin or scala for JVM based projects.
  • resource - Files required for the project, but are not involved in the build process.
  • root - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder.
  • source - Mask for the source files, e.g. "*.{c,cpp}".
  • addLibraries - list of libraries in ODS-5 format, separated by commas.
  • addIncludes - list of folders in ODS-5 format, separated by commas.

Adjusting Project Settings

  1. Set the root directory. For example, if the project is located in WORK:[USER.DEMOS.SIMPLE] and the home directory is WORK:[USER], set the parameter value to demos/simple.
  2. Select the projectType that you need.
  3. Specify the projectName. NOTE: do not use spaces or special characters.
  4. Check builders. These files will be synchronized.
  5. Check headers. These files will be synchronized and included into the auto-generated MMS file as header files. Changing any of them will result in full project rebuild.
  6. Check source. These files will be synchronized and included into the auto-generated MMS file as source files.
  7. Check resource. These files will be synchronized but not included into the auto-generated MMS file.
  8. Adjust the exclude field value to list the files similar to the described above but not to be synchronized and compiled.
  9. Check listing. These files will be downloaded after building the project. Files "*.lis,*.map" are required for debugger.
  10. If the project depends on already installed libraries, specify the in the addLibraries and addIncludes