A new Salesforce Functions tool window that is the primary interface for managing the project's Salesforce functions.
Removal of Salesforce functions including removal of all IDE configuration scaffolding, automatic termination of associated running processes, etc.
Automatic detection of existing functions in opened projects and assistance with the required IDE project configuration, function SDK processing, etc., to provide the full set of IDE features for development and management of those functions.
Integrated unit test execution and interactive debugging (as supported by the host IDE based on the implementation language; see below).
Integrated local Salesforce function deployment to Docker. Locally-deployed functions can be monitored, invoked, debugged, terminated, etc. Per-function local deployment configurations are possible including specification of function invocation port, remote debug port, environment variables, etc.
Integrated local Salesforce function invocation as a standard IDE run configuration with a configurable payload (file-based or explicitly-provided). Gutter annotations are automatically added to Salesforce function source files for easy invocation and debugging via the IDE's standard run configuration features.
Integrated remote Salesforce function deployment to a Heroku compute environment. Remotely-deployed functions can be monitored, invoked, etc. NOTE: At this time it's not possible to specify the -b branch or --force arguments for remote deployments.
Integrated compute environment management.
Automatic detection and assistance with the most common types of deployment issues, e.g., port conflicts, unfulfilled version control dependencies, unauthenticated or expired sessions, missing or invalid compute environments, etc.
Cross-language code completion, validation, reference navigation, etc., for:
JSON payloads in Apex string literals used for function invocation.
Function names in Apex string literals used for function lookup.