diff --git a/extensions/configuration-editing/schemas/attachContainer.schema.json b/extensions/configuration-editing/schemas/attachContainer.schema.json index d7846aad40e..6dbbab8d75e 100644 --- a/extensions/configuration-editing/schemas/attachContainer.schema.json +++ b/extensions/configuration-editing/schemas/attachContainer.schema.json @@ -22,9 +22,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -53,27 +53,57 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" } } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": ["notify", "openBrowser", "openPreview", "silent", "ignore"], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [{ "body": { "onAutoForward": "ignore" } }], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "settings": { diff --git a/extensions/configuration-editing/schemas/devContainer.schema.generated.json b/extensions/configuration-editing/schemas/devContainer.schema.generated.json index 91f9249af80..f313e626824 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.generated.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.generated.json @@ -130,9 +130,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -161,28 +161,70 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" }, "additionalProperties": false } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [ + { + "body": { + "onAutoForward": "ignore" + } + } + ], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": { @@ -387,9 +429,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -418,28 +460,70 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" }, "additionalProperties": false } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [ + { + "body": { + "onAutoForward": "ignore" + } + } + ], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": { @@ -620,9 +704,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -651,28 +735,70 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" }, "additionalProperties": false } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [ + { + "body": { + "onAutoForward": "ignore" + } + } + ], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": { @@ -819,9 +945,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -850,28 +976,70 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" }, "additionalProperties": false } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [ + { + "body": { + "onAutoForward": "ignore" + } + } + ], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": { @@ -987,9 +1155,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -1018,28 +1186,70 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" }, "additionalProperties": false } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": [ + "notify", + "openBrowser", + "openPreview", + "silent", + "ignore" + ], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [ + { + "body": { + "onAutoForward": "ignore" + } + } + ], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": { diff --git a/extensions/configuration-editing/schemas/devContainer.schema.src.json b/extensions/configuration-editing/schemas/devContainer.schema.src.json index bac86dc8af5..fb8b63350ef 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.src.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.src.json @@ -36,9 +36,9 @@ "portsAttributes": { "type": "object", "patternProperties": { - "^\\d+(\\-\\d+)?$": { + "(^\\d+(\\-\\d+)?$)|(.+)": { "type": "object", - "description": "A port, or range of ports (ex. \"40000-55000\") that the attributes should apply to", + "description": "A port, range of ports (ex. \"40000-55000\"), or regular expression (ex. \".+\\\\/server.js\"). For a port number or range, the attributes will apply to that port number or range of port numbers. Attributes which use a regular expression will apply to ports whose associated process command line matches the expression.", "properties": { "onAutoForward": { "type": "string", @@ -67,27 +67,57 @@ "label": { "type": "string", "description": "Label that will be shown in the UI for this port.", - "default": "Labeled Port" + "default": "Application" } }, "default": { - "label": "Labeled Port", + "label": "Application", "onAutoForward": "notify" } } }, - "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Labeled Port\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n}\n```", + "markdownDescription": "Set default properties that are applied when a specific port number is forwarded. For example:\n\n```\n\"3000\": {\n \"label\": \"Application\"\n},\n\"40000-55000\": {\n \"onAutoForward\": \"ignore\"\n},\n\".+\\\\/server.js\": {\n \"onAutoForward\": \"openPreview\"\n}\n```", "defaultSnippets": [ { "body": { "${1:3000}": { - "label": "${2:My Port}", + "label": "${2:Application}", "onAutoForward": "notify" } } } ], - "errorMessage": "Must be a port number or a range of port numbers", + "additionalProperties": false + }, + "remote.unconfiguredPortsAttributes": { + "type": "object", + "properties": { + "onAutoForward": { + "type": "string", + "enum": ["notify", "openBrowser", "openPreview", "silent", "ignore"], + "enumDescriptions": [ + "Shows a notification when a port is automatically forwarded.", + "Opens the browser when the port is automatically forwarded. Depending on your settings, this could open an embedded browser.", + "Opens a preview in the same window when the port is automatically forwarded.", + "Shows no notification and takes no action when this port is automatically forwarded.", + "This port will not be automatically forwarded." + ], + "description": "Defines the action that occurs when the port is discovered for automatic forwarding", + "default": "notify" + }, + "elevateIfNeeded": { + "type": "boolean", + "description": "Automatically prompt for elevation (if needed) when this port is forwarded. Elevate is required if the local port is a privileged port.", + "default": false + }, + "label": { + "type": "string", + "description": "Label that will be shown in the UI for this port.", + "default": "Application" + } + }, + "defaultSnippets": [{ "body": { "onAutoForward": "ignore" } }], + "markdownDescription": "Set default properties that are applied to all ports that don't get properties from the setting `remote.portsAttributes`. For example:\n\n```\n{\n \"onAutoForward\": \"ignore\"\n}\n```", "additionalProperties": false }, "remoteEnv": {