# Catalyst Extensions ## VS Code Extension -------------------------------------------------------------------------------- title: "Introduction" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/introduction/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Extension For Visual Studio Code IDE ### Introduction Catalyst is a powerful development platform that is the easiest to use to engineer and deploy serverless solutions of any scale and verticality. With a host of services like {{%link href="/en/cloud-scale/getting-started/introduction/" %}}Cloud Scale{{%/link%}}, {{%link href="/en/serverless/getting-started/introduction/" %}}Serverless{{%/link%}}, {{%link href="/en/devops/getting-started/introduction/" %}}DevOps{{%/link%}}, {{%link href="/en/smartbrowz/getting-started/introduction/" %}}SmartBrowz{{%/link%}}, {{%link href="/en/quickml/getting-started/introduction/" %}}QuickML{{%/link%}}, etc., Catalyst powers you to build and host anything from a simple microservice to a robust enterprise application in the quickest and simplest manner. As a pro-code platform, Catalyst offers an extension in the {{%link href="https://code.visualstudio.com/" %}}Visual Studio Code IDE{{%/link%}} to ensure that, as a developer, you have a more enhanced business logic engineering experience with Catalyst. The **Catalyst Tools** extension for Visual Studio Code enables you to execute certain {{%link href="/en/cli/v1/cli-command-reference/#commands" %}}CLI commands{{%/link%}}, directly in the coding environment instead of using the CLI terminal. This functionality ensures that you do not have to leave your preferred coding environment to execute Catalyst operations in your local environment {{%link href="/en/cli/v1/cli-command-reference/" %}}through the CLI{{%/link%}} that you would typically use for this purpose. {{%note%}}{{%bold%}}Note:{{%/bold%}} Not all {{%link href="/en/cli/v1/cli-command-reference/" %}}operations that you can execute{{%/link%}} within the Catalyst CLI can be executed using this extension. The list of operations that can be performed using this extension can be found in this {{%link href="/en/catalyst-extensions/vs-code-extension/catalyst-tools-operations/#operations" %}}section{{%/link%}}.{{%/note%}} The extension aims to further enhance your coding experience while you benefit from a powerful unified platform to create, engineer, code, test, host, deploy, and manage applications within the VS Code environment in your local system. You can use your VS Code IDE in tune with the {{%link href="/en/cli/v1/cli-command-reference/" %}}Catalyst CLI{{%/link%}} and {{%link href="https://console.catalyst.zoho.com" %}}Catalyst console{{%/link%}} to handle your software development process. <br /> ### Overview of Operations You Can Perform With Catalyst Tools You can perform the following operations directly in the VS Code IDE after you install the Catalyst Tools extension: * Generate, revoke, and delete authentication tokens that allow you to access Catalyst resources locally. * Execute basic CLI commands like {{%link href="/en/cli/v1/identify-loggedin-user/" %}}{{%badge%}}whoami{{%/badge%}}{{%/link%}} and {{%link href="/en/cli/v1/login/login-from-cli/" %}}{{%badge%}}login{{%/badge%}}{{%/link%}}, and CLI options such as {{%link href="/en/cli/v1/cli-options/#--verbose" %}}{{%badge%}}verbose{{%/badge%}}{{%/link%}}. * Initialize and deploy projects. * Independently initialize, locally serve, and deploy HTTP and non-HTTP functions and Client components. * Select and initialize your default project, switch between active projects, and access all available projects from your Catalyst console. * Pull function files, modify, and deploy them. * Download, alter, and deploy {{%link href="/en/cloud-scale/help/api-gateway/introduction/" %}}API Gateway{{%/link%}} rules. * Provide test-case inputs by creating a JSON file called {{%badge%}}catalyst-inputs.json{{%/badge%}}, and test non-HTTP functions. {{%note%}}{{%bold%}}Note:{{%/bold%}} You can find out more in detail about all the CLI commands and operations that are possible with the {{%bold%}}Catalyst Tools{{%/bold%}} extension from this {{%link href="/en/catalyst-extensions/vs-code-extension/catalyst-tools-operations/" %}}help section{{%/link%}}.{{%/note%}} <br /> -------------------------------------------------------------------------------- title: "Benefits" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/benefits/" service: "All Services" -------------------------------------------------------------------------------- # Benefits * This extension allows you to use your VS Code IDE as a single development environment. You do not have to constantly switch between your IDE and the {{%link href="/en/cli/v1/cli-command-reference/" %}}Catalyst CLI{{%/link%}}. * It provides you with a user-friendly UI you can use to perform operations in your local environment with just a few clicks. You do not have to type out commands and execute them as with the CLI. * You can easily {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#log-in-to-catalyst" %}}log in{{%/link%}} or {{%link href="/en/catalyst-extensions/vs-code-extension/catalyst-tools-explorer/#log-out-from-your-catalyst-account" %}}log out{{%/link%}} and generate, revoke, and delete {{%link href="/en/catalyst-extensions/vs-code-extension/catalyst-tools-explorer/#manage-authentication-tokens" %}}authentication tokens{{%/link%}} all from the IDE. You can therefore maintain login sessions in your IDE independent of the CLI. * You can code and {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#client" %}}client{{%/link%}} and {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#functions" %}}functions{{%/link%}} components within VS Code, and also securely deploy them to the console from the same space. * You can also run the terminal present in your VS Code IDE and use Catalyst CLI there, if you require it. * You can test non-HTTP functions easily in the IDE by providing test-inputs as .JSON inputs using the {{%badge%}}catalyst-inputs.json{{%/badge%}} file. <br /> -------------------------------------------------------------------------------- title: "Catalyst Tools Commands and Operations" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/catalyst-tools-operations/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Tools Commands and Operations A list of commands that can be accessed from the command palette in the VS Code IDE and the operations that can be performed using the Catalyst Tools extension is given below: ### Commands You can execute these commands by selecting them from the command palette drop-down while using the extension. You can access the drop-down list by searching for "**>Catalyst:**" in the command palette. <br /> <table class="content-table"> <thead> <tr> <th>CLI Commands</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>{{%link href="/en/cli/v1/identify-loggedin-user/" %}}{{%badge%}}Catalyst: Whoami{{%/badge%}}{{%/link%}}</td> <td>Display the username and email address of the account you have used to log in to Catalyst.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/login/login-from-cli/" %}}{{%badge%}}Catalyst: Login to Catalyst{{%/badge%}}{{%/link%}}</td> <td>Log in to your Catalyst account directly from the IDE. You must log in before you can perform any of the other operations.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/logout/" %}}{{%badge%}}Catalyst: Logout from Catalyst{{%/badge%}}{{%/link%}}</td> <td>Sign out of your Catalyst account.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/cli-options/#--verbose" %}}{{%badge%}}Catalyst: Enable verbose{{%/badge%}}{{%/link%}}</td> <td>Enable verbose in logs. You can view the logs directly in your IDE by accessing {{%bold%}}Help>toggle developer tools{{%/bold%}}.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/cli-options/#--verbose" %}}{{%badge%}}Catalyst: Disable verbose{{%/badge%}}{{%/link%}}</td> <td>Disable verbose in logs.</td> </tr> <tr> <td>{{%badge%}}Catalyst: Focus on Catalyst Configs View{{%/badge%}}</td> <td>Directs you to the {{%italics%}}CATALYST CONFIGS{{%/italics%}} section of the extension.</td> </tr> <tr> <td>{{%badge%}}Catalyst: Focus on Client View{{%/badge%}}</td> <td>Directs you to the {{%italics%}}CLIENT{{%/italics%}} section of the extension.</td> </tr> <tr> <td>{{%badge%}}Catalyst: Focus on HTTP Functions View{{%/badge%}}</td> <td>Directs you to the {{%italics%}}HTTP FUNCTIONS{{%/italics%}} section of the extension.</td> </tr> <tr> <td>{{%badge%}}Catalyst: Focus on HTTP Functions View{{%/badge%}}</td> <td>Directs you to the {{%italics%}}NON HTTP FUNCTIONS{{%/italics%}} ssection of the extension.</td> </tr> </tbody> </table> ### Operations List of all CLI operations that can be performed in the Visual Studio Code IDE using the Catalyst Tools extension is given below: <table class="content-table"> <thead> <tr> <th>CLI Operations</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>{{%link href="/en/cli/v1/login/login-from-cli/" %}}{{%badge%}}login{{%/badge%}}{{%/link%}}</td> <td>Log in to your Catalyst account.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/identify-loggedin-user/" %}}{{%badge%}}whoami{{%/badge%}}{{%/link%}}</td> <td>View the username and email address of the account you have used to sign in with Catalyst.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-tokens/generate-token/" %}}{{%badge%}}token:generate{{%/badge%}}{{%/link%}}</td> <td>Generate tokens to authenticate access to your Catalyst account without logging in.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-tokens/revoke-token/" %}}{{%badge%}}token:revoke{{%/badge%}}{{%/link%}}</td> <td>Disable an authentication token that you had previously generated.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-tokens/list-tokens/" %}}{{%badge%}}token:list{{%/badge%}}{{%/link%}}</td> <td>View a list of all the tokens that are associated with your account.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-projects/list-catalyst-projects/" %}}{{%badge%}}project:list{{%/badge%}}{{%/link%}}</td> <td>List all the projects associated created in your account.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-projects/use-catalyst-project/" %}}{{%badge%}}project:use{{%/badge%}}{{%/link%}}</td> <td>Use a particular project associated with your Catalyst account.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-projects/reset-active-project/" %}}{{%badge%}}project:reset{{%/badge%}}{{%/link%}}</td> <td>Undo the {{%badge%}}project:use{{%/badge%}} operation.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/initialize-resources/introduction/" %}}{{%badge%}}init{{%/badge%}}{{%/link%}}</td> <td>Initialize the Catalyst Project, HTTP and non-HTTP functions, and the client components.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-api-gateway/obtain-api-gateway-status/" %}}{{%badge%}}apig:status{{%/badge%}}{{%/link%}}</td> <td>Check if API Gateway (a {{%link href="/en/cloud-scale/getting-started/introduction/" %}}Catalyst Cloud Scale{{%/link%}} {{%italics%}}Security & Identity{{%/italics%}} component) is enabled or disabled.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-api-gateway/enable-api-gateway/" %}}{{%badge%}}apig:enable{{%/badge%}}{{%/link%}}</td> <td>Enable API Gateway for your project.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-api-gateway/disable-api-gateway/" %}}{{%badge%}}apig:disable{{%/badge%}}{{%/link%}}</td> <td>Disable API Gateway for your project.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/pull-resources/introduction/" %}}{{%badge%}}pull{{%/badge%}}{{%/link%}}</td> <td>Pull a function, client, or an API Gateway file.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-the-client/set-up-client/" %}}{{%badge%}}client:setup{{%/badge%}}{{%/link%}}</td> <td>Set up the client component in an existing project.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-the-client/delete-client/" %}}{{%badge%}}client:delete{{%/badge%}}{{%/link%}}</td> <td>Delete an older version of the client component.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-functions/set-up-functions/" %}}{{%badge%}}functions:setup{{%/badge%}}{{%/link%}}</td> <td>Set up a function in an existing project.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-functions/add-functions/" %}}{{%badge%}}functions:add{{%/badge%}}{{%/link%}}</td> <td>Add a new function in your functions directory.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/working-with-functions/delete-functions/" %}}{{%badge%}}functions:delete{{%/badge%}}{{%/link%}}</td> <td>Delete a function in your project.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/serve-resources/introduction/" %}}{{%badge%}}serve{{%/badge%}}{{%/link%}}</td> <td>Serve project resources in your local environment.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/deploy-resources/introduction/" %}}{{%badge%}}deploy{{%/badge%}}{{%/link%}}</td> <td>Deploy project resources to the remote console.</td> </tr> <tr> <td>{{%link href="/en/cli/v1/logout/" %}}{{%badge%}}logout{{%/badge%}}{{%/link%}}</td> <td>Sign out of Catalyst.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Using Catalyst Tools" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.535Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/implementation/" service: "All Services" -------------------------------------------------------------------------------- # Using Catalyst Tools This help section will cover utilizing the **Catalyst Tools** extension to its fullest potential and performing various operations on your project within the VS Code environment. ### Install Catalyst Tools To install the extension: 1. Click the VS Code extension icon and search for "**Catalyst Tools**". <br /> 2. Click **Install**. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} * Ensure you are currently using VS Code version {{%badge%}}**v 1.74.0**{{%/badge%}} or above. * Go through the description and features listed, to get a better understanding of the extension.{{%/note%}} The Catalyst Tools extension can now be accessed by clicking the Catalyst icon in the sidebar, or at the footer of the IDE. <br /> ### Log In to Catalyst To begin using the **Catalyst Tools** extension, you will first need to log in to your Catalyst account. You can refer to the {{%link href="/en/cli/v1/login/login-from-cli/" %}}CLI Login help{{%/link%}} page for details about various steps. Log in to your Catalyst account from the VS Code IDE in the following way: 1. Click the **Login** button shown in the *CATALYST CONFIGS* section in the left-panel. <br /> 2. Choose the {{%link href="/en/api/introduction/multi-dc-support/#Multi-DCSupport" %}}DC to log in{{%/link%}} to. <br /> 3. You will be redirected to a permission page in your default browser. <br /> 4. Click **Accept**, to complete logging in to your Catalyst account and connecting the IDE to the Catalyst console. <br /> 5. You will be logged in. <br /> Close the window and continue using the **Catalyst Tools** extension in VS Code. ### Initialize Your Catalyst Project Before you initialize a project in this extension: * Ensure you have created a project in the Catalyst Console. You can find out how to from this {{%link href="/en/getting-started/catalyst-projects/" %}}help section{{%/link%}}. * Create a local directory to initialize your Catalyst project in using **Catalyst Tools** from VS Code. You can refer to the {{%link href="/en/cli/v1/initialize-resources/introduction/" %}}CLI Initialize Resources help{{%/link%}} document for a more detailed explanation on initializing Catalyst project resources, including functions of different stacks and types, in your local environment. To initialize a project in the **Catalyst Tools** extension: 1. Click **Initialize**. <br /> 2. All Catalyst projects from your remote account will be listed here. Choose your required project to initialize within VS Code. <br /> 3. Select the components you would like to initialize, then click the **check icon**. You can initialize *Functions* and *Client*. <br /> 4. **Function Setup** - Select the required function type. You can refer to the {{%link href="/en/serverless/help/functions/introduction/" %}}Functions help page{{%/link%}} for details about each type. <br /> - Select your preferred {{%link href="/en/serverless/help/functions/stack/" %}}programming language{{%/link%}} as {{%link href="/en/sdk/java/v1/overview/" %}}Java{{%/link%}}, or {{%link href="/en/sdk/nodejs/v2/overview/" %}}Node.js{{%/link%}}. <br /> - Enter the required details and submit them by clicking **Enter**. <br /> - Enter an email address for the author or click **Enter** to use the same email address you used to create your Catalyst account. <br /> - Click **Yes**, if you wish to install the required dependencies. <br /> The function setup is complete. {{%note%}}{{%bold%}}Note:{{%/bold%}} You can also simply press {{%bold%}}Enter{{%/bold%}} and the default values will be provided.{{%/note%}} The initialized Advanced I/O function will now be available in the *HTTP FUNCTIONS* section. <br /> You can find more information on each function stack's initialization steps in this {{%link href="/en/cli/v1/initialize-resources/initialize-functions/" %}}help page{{%/link%}}. 5. **Client Setup** - Select the client to be initialized as {{%link href="/en/cli/v1/initialize-resources/initialize-client/#basic-client-applications" %}}Basic{{%/link%}}, {{%link href="/en/cli/v1/initialize-resources/initialize-client/#angular-applications" %}}Angular{{%/link%}}, or {{%link href="/en/cli/v1/initialize-resources/initialize-client/#react-applications" %}}React{{%/link%}} web client. <br /> - Enter the client name, then click the **submission icon**. <br /> The project directory will contain the client and function directory in the standard structure. You can refer to the {{%link href="/en/cli/v1/project-directory-structure/introduction/" %}}project directory structure help page{{%/link%}} for details on the configuration files and dependencies that are installed. The project and its resources are now successfully initialized in the VS Code IDE using the **Catalyst Tools** extension. <br /> ### Manage Your Project The *CATALYST CONFIGS* section can be used to perform various operations in your project and manage it. You can perform the following operations: * **Add Functions**: Add a new HTTP or non-HTTP function to your project directory. * **Client Setup**: Set up the client component in your project directory. * **Serve**: Serve both the function and client resources of the project through a localhost using your default 3000 port. * **Deploy**: Deploy the entire local project to the console. * **Project**: View project information and alter configurations using the extension's built-in management console. {{%note%}}{{%bold%}}Note:{{%/bold%}} You can find out more about the extension's management console from this help section.{{%/note%}} #### Add Functions You can add additional functions of any type or stack to your project directory through this option, or add your first function to the project if you did not initialize functions during project initialization. Refer to {{%link href="/en/cli/v1/working-with-functions/introduction/" %}}Working with Functions{{%/link%}} help page for details. To add HTTP or non-HTTP function to your project, click the **Add Functions** option to begin function setup. <br /> Follow the same steps mentioned in the *Function Setup* section of this {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#initialize-your-catalyst-project/" %}}help page{{%/link%}}. <br /> For the purpose of this help document, we have created an {{%link href="/en/serverless/help/functions/event-functions/" %}}Event function{{%/link%}}, and it will be listed in the *NON HTTP Functions* section of the IDE. The function will be created in the standard {{%link href="/en/cli/v1/project-directory-structure/functions-directory/" %}}function directory structure{{%/link%}}. #### Client Setup You can set up the client component in your project directory through this option if you did not initialize client during project initialization. Refer to {{%link href="/en/cli/v1/working-with-the-client/introduction/" %}}Working with the Client{{%/link%}} help page for details. To initialize a client component, click the **Client Setup** option to begin client setup. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} If you already have a client component, then you will prompted to confirm if you wish to create a new client component by overwriting the existing one.{{%/note%}} Follow the steps listed in the *Client Setup* section present in this {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#initialize-your-catalyst-project/" %}}help page{{%/link%}}. <br /> For this help document, we have created a new client component as a **React web app** and it will be created in its {{%link href="/en/cli/v1/initialize-resources/initialize-client/#react-applications" %}}standard structure{{%/link%}}. #### Serve You can serve {{%link href="/en/serverless/help/functions/basic-io/" %}}Basic I/O{{%/link%}} and {{%link href="/en/serverless/help/functions/advanced-io/" %}}Advanced I/O{{%/link%}} functions, and the client component of all types through a localhost using the default port: {{%badge%}}3000{{%/badge%}}, to test them before deploying them to the remote project. Refer to the {{%link href="/en/cli/v1/serve-resources/serve-all-resources/" %}}Serve Resources{{%/link%}} help page for details. To {{%link href="/en/cli/v1/serve-resources/serve-all-resources/" %}}serve all the project's resources{{%/link%}} locally: 1. Click the **Serve** button. <br /> 2. Choose your preferred option: <br /> - Click **Yes** to serve all the function and client components. <br /> - Click **No** to choose the specific components you wish to serve locally. <br /> The selected components will be served locally. You can use the URL generated in your preferred browser to test the components' functionality. <br /> - You can kill the serve process, by clicking the **stop icon**. <br /> #### Deploy You can deploy all the functions and the client that you initialized in the extension to the remote console. This will make them available in the development environment of your project. Refer to the {{%link href="/en/cli/v1/deploy-resources/introduction/" %}}Deploy Resources{{%/link%}} help page for details about the deployment process of each project resource. To deploy the project to the Catalyst console: 1. Click the **Deploy** button. <br /> 2. Choose your preferred option: <br /> - Click **Yes** to deploy all the components. <br /> - Click **No** to choose the specific components you wish to deploy. Click the components you wish to deploy, then click the **submission icon**. <br /> The selected resources will be deployed and the extension will display the endpoint URLs of the functions and the client that you can access. <br /> ### Serve & Deploy From Within catalyst.json The {{%link href="/en/cli/v1/project-directory-structure/catalyst-json/" %}}{{%badge%}}catalyst.json{{%/badge%}}{{%/link%}} file contains the component list and configuration of the entire project. Using **Catalyst Tools** you have the option to serve and deploy your entire project or selective resources from within the {{%badge%}}catalyst.json{{%/badge%}} file. To serve or deploy ypur project resources, you can click the **Serve** and **Deploy** button present next to each project resource, and then follow the same {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#serve" %}}serve{{%/link%}} and {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#deploy" %}}deploy{{%/link%}} steps instructed above. ### Functions In this section we will go over all the operations that can be performed in the *HTTP FUNCTIONS* and *NON HTTP FUNCTIONS* section of the **Catalyst Tools** extension. * **Run/Debug**: Serve the function locally and test its functionality. It also syncs with the IDE's debugger, and allows you to debug your code in an easy manner. * **Deploy**: Deploy function components alone to the Catalyst console. * **Delete**: Delete a function from your local project permanently. #### Run or Debug a Function This section will cover the steps to use the run/debug feature of the extension effectively. **HTTP FUNCTIONS** HTTP functions include {{%link href="/en/serverless/help/functions/basic-io/" %}}Basic I/O{{%/link%}} and {{%link href="/en/serverless/help/functions/advanced-io/" %}}Advanced I/O{{%/link%}} functions as they can contain HTTP requests and response functionalities. All Basic I/O and Advanced I/O functions present in your project can be accessed here. Follow the steps below to test HTTP functions locally and debug them: 1. Click the function you would like to work with from the functions list present in the *HTTP FUNCTIONS* section. <br /> 2. Click the **Run/Debug** option to serve the function locally. <br /> The {{%link href="/en/serverless/help/functions/implementation/#create-a-function" %}}Function URL{{%/link%}} through a localhost will be generated in the *Catalyst Serve Terminal* in VS Code. You can click to begin testing its functionality. 3. You can click the function local URL and it will be opened in your default browser. The IDE will also redirect you to the Debugging section. {{%note%}}{{%bold%}}Note:{{%/bold%}} Refer to the {{%link href="/en/catalyst-extensions/vs-code-extension/extension-settings/#enable-or-disable-ides-debugging-section" %}}Extension Settings{{%/link%}} help section, to find out how to run the function without opening the IDE's debugging section.{{%/note%}} 4. If required, you can simultaneously change or edit the code and view the changes live. <br /> **NON HTTP FUNCTONS** {{%link href="/en/serverless/help/functions/cron-functions/" %}}Cron functions{{%/link%}}, {{%link href="/en/serverless/help/functions/event-functions/" %}}Event functions{{%/link%}}, and {{%link href="/en/serverless/help/functions/integration-functions/" %}}Integration functions{{%/link%}} present in your project can be accessed here. To Run/Debug these function types, you will need to create a JSON file named {{%badge%}}catalyst-inputs.json{{%/badge%}}. This file will contain your test inputs as a JSON value, and you will need to store this file in the respective function's directory. {{%note%}}{{%bold%}}Note:{{%/bold%}} * The {{%badge%}}catalyst-inputs.json{{%/badge%}} is exclusive to the {{%bold%}}Catalyst Tools{{%/bold%}} VS Code extension for the purpose of testing non-HTTP functions. * Cliq Integration Functions is currently not available to Catalyst users accessing from the EU, AU, IN, or CA data centers. ConvoKraft Integration Functions are available to users accessing from all DCs.{{%/note%}} For this help document, we are going to Run/Debug an event function named {{%badge%}}shipment-submit{{%/badge%}}. To **Run/Debug** this non HTTP function, we will first create a {{%badge%}}catalyst-inputs.json{{%/badge%}} in the {{%badge%}}shipment-submit{{%/badge%}} function directory. {{%note%}}{{%bold%}}Note:{{%/bold%}} Non-HTTP functions cannot be served through this extension if a {{%badge%}}catalyst-inputs.json{{%/badge%}} file is not present in its directory.{{%/note%}} A sample JSON code to be added in the {{%badge%}}catalyst-inputs.json{{%/badge%}} file for the {{%badge%}}shipment-submit{{%/badge%}} event function is given below: {{%code class="language-json"%}}{ "cache_put": { "project_details": { "id": "1434000000473001", "project_name": "ShipmentTracking" }, "event_bus_details": { "name": "Default", "id": "1434000000473009" }, "data": { "cache_name": "3b793", "cache_value": "0b3c97a93a", "project_details": { "id": "1434000000473001", "project_name": "Tunneling" }, "segment_details": { "segment_name": "Default", "project_details": { "project_name": "Tunneling", "id": "1434000000473001", "project_type": "Live" }, "id": "1434000000473037" }, "expiry_in_hours": 48, "expires_in": "Apr 28, 2023 03:13 PM" }, "current_project": { "id": "1434000000473001", "project_name": "Tunneling" }, "action": "Put", "source_entity_id": "1434000000473037", "source": "Cache", "event_time": 1682502183500 }, "datastore_insert": { "project_details": { "id": "1434000000473001", "project_name": "Tunneling" }, "event_bus_details": { "name": "Default", "id": "1434000000473009" }, "data": [ { "ROWID": "345460658792283", "CREATORID": "979726486268217", "CREATEDTIME": "2023-04-26 15:14:06", "MODIFIEDTIME": "2023-04-26 15:14:06" } ], "current_project": { "id": "1434000000473001", "project_name": "Tunneling" }, "action": "Insert", "source_entity_id": "817140351651431", "source": "Datastore", "event_time": 1682502245961 } }{{%/code%}} This input file passes sample event data from a Cache PUT and a Data Store INSERT operations occurring in the Default event listener. The event data is passed to the {{%badge%}}shipment-submit{{%/badge%}} function. {{%note%}}{{%bold%}}Note:{{%/bold%}} * This sample JSON file contains two key values: {{%badge%}}cache_put{{%/badge%}} and {{%badge%}}datastore_insert{{%/badge%}}. You can customize the event source and modify the name of these keys accordingly. However, Catalyst follows a specific format for the event data that is passed for each entity or operation. The keys and values must stick to the standard event data format for the operation that you provide. * You can access sample event data to include in the {{%badge%}}catalyst-inputs.json{{%/badge%}} file for any supported operation by {{%link href="/en/cli/v1/event-generate/introduction/" %}}generating sample event payload{{%/link%}} from the Catalyst CLI.{{%/note%}} The {{%badge%}}shipment-submit{{%/badge%}} function directory will include the following files: <br /> Now, follow the steps below to {{%link href="/en/cli/v1/working-with-functions/functions-shell/" %}}test your function locally{{%/link%}} and debug it, if necessary: 1. Click the function you would like to work with from the function list present in the *NON HTTP FUNCTIONS* section. <br /> 2. Click the **Run/Debug** option to serve the function locally. <br /> 3. Click the input key you would like to serve your function with. <br /> 4. A Catalyst Serve Terminal will be opened in VS Code. You will be able to view that the function is served in a web socket. You can test the function. You will also be able to access the IDE's debugger. <br /> 5. You can make changes in your function's code, if required, and they will be reflected during the serve process. <br /> You can also kill the Catalyst Serve Terminal by clicking the **delete icon** in the IDE console below. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} The Catalyst Serve Terminal will continue to be available and present in the background till you close it.{{%/note%}} For the above example, we had used an {{%link href="/en/serverless/help/functions/event-functions/" %}}Event Function{{%/link%}} as an example, the {{%badge%}}catalyst-inputs.json{{%/badge%}} file containing an example payload for testing {{%link href="/en/serverless/help/functions/cron-functions/" %}}Cron{{%/link%}} and {{%link href="/en/serverless/help/functions/integration-functions/" %}}Integration functions{{%/link%}} is given below: **{{%badge%}}catalyst-inputs.json{{%/badge%}} example file for a Cron function**: {{%code class="language-json"%}}{ "cron_input": { "param": "value" } }{{%/code%}} **{{%badge%}}catalyst-inputs.json{{%/badge%}} example file for an Integration function**: {{%code class="language-json"%}}{ "bot_welcome": { "name": "Sample", "unique_name": "sample_uniq", "handler": { "type": "welcome_handler" }, "response_url": "https://cliq.zoho.com/v2/extensions/2980/responses/17202823900615741410013820", "type": "bot", "timestamp": 1569520690703, "params": { "environment": { "data_center": "us" }, "access": { "user_id": "651652091", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0", "chat_id": "CT_2243226337559778047_661211447-B2" }, "user": { "country": "us", "timezone": "Asia/calcutta", "last_name": "Fisher", "first_name": "Scott", "language": "en", "id": "123456", "email": "scott.fisher@zylcal.com", "admin": true, "organization_id": "123456456" }, "newuser": true, "mentions": [], "options": {}, "selections": [], "arguments": "" } } }{{%/code%}} #### Deploy a Function To {{%link href="/en/cli/v1/deploy-resources/deploy-functions/" %}}deploy a function{{%/link%}} to the Catalyst console, follow the steps below: 1. Click the function you would like to deploy from the function list present in the *HTTP FUNCTIONS* or *NON HTTP FUNCTIONS* section, then click **Deploy**. <br /> 2. Click **Yes**, to confirm. <br /> The function will be deployed to the console, and a deployment URL will be generated in the Catalyst Deploy Terminal in VS Code IDE for the function. <br /> The function can now be accessed from the console from the {{%link href="/en/serverless/help/functions/implementation/#create-a-function" %}}Functions{{%/link%}} component present under {{%link href="/en/serverless/getting-started/introduction/" %}}Catalyst Serverless{{%/link%}}. <br /> #### Delete a Function To {{%link href="/en/serverless/help/functions/implementation/#delete-a-function" %}}delete a function{{%/link%}} from your local project using **Catalyst Tools**, follow the steps below: 1. Click the function you would like to delete from the function list present in the *HTTP FUNCTIONS* or *NON HTTP FUNCTIONS* section, then click **Delete**. <br /> 2. Click **Yes** to proceed. <br /> The function and all the files present in the function directory will be deleted from your local project. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} For non-HTTP functions, the {{%badge%}}catalyst-inputs.json{{%/badge%}} file will also be deleted as it is present in function directory.{{%/note%}} ### Client In the *Client* section of the **Catalyst Tools** extension, you can perform the following operations on the client components: * **Serve** your client resources alone and test their functionality. * **Deploy** your client resources alone to the Catalyst console. * **Delete** the client component from your local project. #### Serve Operation To {{%link href="/en/cli/v1/serve-resources/serve-all-resources/" %}}serve the client{{%/link%}} components alone using the **Catalyst Tools** extension through a localhost:3000, perform the following steps: 1. Navigate to the *CLIENT* section of the extension, then click **Serve**. <br /> The client component will be served locally, and a local endpoint URL for your client component will be generated in the Catalyst Serve terminal. Clicking the URL will let you access the web client in your default web browser. <br /> 2. You can kill the serve process by clicking the stop icon button. <br /> You can also kill the Catalyst Serve Terminal by clicking the delete icon in the IDE console below. {{%note%}}{{%bold%}}Note:{{%/bold%}} The Catalyst Serve Terminal will continue to be available and present in the background till you delete it.{{%/note%}} #### Deploy Operation To {{%link href="/en/cli/v1/deploy-resources/deploy-client/" %}}deploy the client{{%/link%}} component alone to the Catalyst console using the **Catalyst Tools** extension, perform the following steps: 1. Navigate to the *CLIENT* section of the extension, then click **Deploy**. <br /> 2. Click **Yes** to proceed with the deploy operation. <br /> The client component will be deployed, and a deployment URL for your client component will be generated in the Catalyst Deploy terminal within VS Code. Clicking the URL will let you access the client in your default web browser. <br /> You can also kill the Catalyst Deploy Terminal by clicking the **delete icon** in the IDE console below. {{%note%}}{{%bold%}}Note:{{%/bold%}} The Catalyst Deploy Terminal will continue to be available and present in the background until you delete it.{{%/note%}} #### Delete Operation To {{%link href="/en/cli/v1/working-with-the-client/delete-client/" %}}delete the client{{%/link%}} component from your local project using **Catalyst Tools**, follow the steps below: 1. Navigate to the *CLIENT* section, then click **Delete**. <br /> 2. Click **Yes** to proceed. <br /> The client component will be deleted from your local project. <br /> <br /> -------------------------------------------------------------------------------- title: "Catalyst Tools Project Explorer" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.538Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/catalyst-tools-explorer/" service: "All Services" -------------------------------------------------------------------------------- # Catalyst Tools Project Explorer The *Project Explorer* feature of **Catalyst Tools** extension allows you to perform the following operations: * Switch between your {{%link href="/en/cli/v1/working-with-projects/reset-active-project/" %}}active projects{{%/link%}} and re-initialize your default project. * {{%link href="/en/cli/v1/working-with-tokens/generate-token/" %}}Generate authentication tokens{{%/link%}}. * Search for the client, functions and {{%link href="/en/cloud-scale/help/api-gateway/introduction/" %}}API Gateway{{%/link%}} rules available in the project. * Pull and overwrite function, client, and API Gateway components from the remote project. * {{%link href="/en/cli/v1/logout/" %}}Log out{{%/link%}} of your Catalyst account in the extension. {{%note%}}{{%bold%}}Note:{{%/bold%}} To access Catalyst Tools Project Explorer in the extension, you must have deployed the project to the Catalyst console.{{%/note%}} There are two ways to navigate to the Project Explorer: 1. Click the **Project** option present in the *CATALYST CONFIGS* section. <br /> 2. Click the **Catalyst** button present in the status bar of the IDE. <br /> In the *Project Explorer*, you will be able to view the following: <br /> * The account details of the account you used to log in to Catalyst * A list of all projects in your account * The {{%link href="/en/deployment-and-billing/environments/development-environment/#function-url-and-web-app-url-in-the-development-environment" %}}web application URL{{%/link%}} of the project * The name and Project ID of the project * Meaningful details about the Client, Function and API Gateway components ### Switch Between Projects In the Project Explorer, you can pull any of your active projects that are present in the Catalyst console, and you can reinitialize your default project. **To switch between the active projects**: 1. Click the **arrow icon** in the *Active* section of the Project Explorer. <br /> 2. Choose the project you wish to switch to from the drop-down selection. <br /> You can also click the **reset icon** to ensure all the updates made in the Catalyst console is reflected in the local environment in the Project Explorer. <br /> **To re-initialize default project**: 1. Click the **re-init** button in the *Default* section of the Project Explorer. <br /> 2. Choose the project you wish to re-initialize and click the **Re-init** button that appears next to it. <br /> The project in your directory will be re-initialized. ### Pull Project Resources The Project Explorer feature of **Catalyst Tools** allows you and your collaborators to easily pull project resources like Client, Function, and API Gateway from the remote project. If a specific resource does not exist in your local project's directory, it will be automatically created during the pull. However, if a resource is already present in your project folder, the extension will ask you for confirmation to overwrite the existing file. You can work on the resources and push the changes made, by {{%link href="/en/cli/v1/deploy-resources/deploy-all-resources/" %}}deploying the entire project{{%/link%}} again, or just the components that you modified. You can learn more about pulling resources to your local environment from the {{%link href="/en/cli/v1/pull-resources/introduction/" %}}Pull Resources{{%/link%}} help page. **Pull a client resource**: 1. Navigate to the *Client* section in the Project Explorer. <br /> 2. Click the **pull icon** button that appears next to the client details. <br /> The client component will be pulled. If a client component already exists in your local project, it will be overwritten. <br /> **Pull a function**: 1. Navigate to the *Function* section in the Project Explorer. <br /> 2. Select the required function, and click the **pull-icon** that appears next to it. <br /> 3. Select the required function from the prompt, to confirm overwrite and confirm your preference by clicking the **submission-icon**. <br /> {{%note%}}{{%bold%}}Note:{{%/bold%}} If you choose not to overwrite a function, it will not be pulled.{{%/note%}} The selected function will be pulled and be available in your project directory. <br /> **Perform a Bulk Pull**: You can also perform a bulk pull operation of functions in the following manner: 1. Select the check-box present in the table-heading, then click the **Pull Selected** button. <br /> 2. Confirm the functions you wish to pull, then click the **submission icon**. <br /> The selected functions will be pulled and be available in your directory. <br /> **Pull an API Gateway Rule**: The API Gateway Rules file is a JSON file that contains the definitions of each API created in the {{%link href="/en/cloud-scale/help/api-gateway/introduction/" %}}API Gateway{{%/link%}} component for your application. If you have not created any APIs in your project, you can still fetch the file with sample API definitions through the pull. You can refer to {{%link href="/en/cli/v1/working-with-api-gateway/introduction/" %}}Working with API Gateway{{%/link%}} help page for details about using this feature in a local environment. In the API Gateway section of the console, you will be able to view whether the component has been enabled in the Catalyst console or not. <br /> If the API Gateway component has not been enabled, then you will not be able to pull the rules file locally through the extension. If the component has been enabled in the Catalyst console, you can pull the API Gateway rules in the following manner: 1. Navigate to the API Gateway section of the Project Explorer. <br /> 2. Click the **Pull All Rules** button. <br /> All the {{%link href="/en/cloud-scale/help/api-gateway/implementation/#create-an-api" %}}rules{{%/link%}} associated with the API Gateway will be pulled. <br /> The rules associated with the API Gateway will be made available to you in your project directory as a JSON file named {{%badge%}}catalyst-user-rules{{%/badge%}}. A sample of {{%badge%}}catalyst-user-rules.json{{%/badge%}} file is given below: {{%code class="language-json"%}}[ { "name": "shipment-tracker - Web Client Hosting", "source_endpoint": "/app/{path1:(.*)}", "target_endpoint": "/app/{path1}", "target": "client", "method": "GET", "throttling": { "overall": {}, "ip": {} } }, { "name": "shipment-info", "source_endpoint": "/server/shipment-info/execute", "target_endpoint": "/server/shipment-info/execute", "target": "basicio", "method": "ANY", "throttling": { "overall": {}, "ip": {} }, "target_id": "12096000000568097" }, { "name": "logistic_struct", "source_endpoint": "/server/logistic_struct/execute", "target_endpoint": "/server/logistic_struct/execute", "target": "basicio", "method": "ANY", "throttling": { "overall": {}, "ip": {} }, "target_id": "12096000000573043" }, { "name": "Login Redirect", "source_endpoint": "/app/index.html", "target_endpoint": "/app/index.html", "target": "client", "method": "GET", "throttling": { "overall": {}, "ip": {} }, "system": true } ]{{%/code%}} ### Manage Authentication Tokens Catalyst allows you to generate authentication tokens to directly and securely access your Catalyst account without logging in. These tokens validate your operations with your Catalyst accounts and its projects. You can learn more from {{%link href="/en/cli/v1/working-with-tokens/introduction/" %}}Working with Tokens{{%/link%}} help page. You can generate authentication tokens easily from your VS Code IDE using the Project Explorer feature of the **Catalyst Tools** extension. To generate tokens, perform the following steps: 1. Click the **Manage Token** button. <br /> If there are any tokens that have been previously created, they will be displayed here. 2. To generate new token, click the **Create Token** button. <br /> 3. The token terminal will open in VS Code and a verification URL and verification code will be generated. <br /> 4. Click the URL, paste the verification code in the space provided, and click **Verify**. <br /> 5. Click **Accept** after going through the list of scopes and permissions. <br /> Your access has been authenticated. <br /> When you return to VS Code IDE, your token will be generated and present in the *Manage Token* window, and in the token terminal. <br /> Click the **copy icon** to copy the token and click the **Revoke** button to revoke tokens. <br /> You can use this token to authenticate your access to your Catalyst account. {{%note%}}{{%bold%}}Note:{{%/bold%}} Access tokens cam only be generated once every sixty minutes.{{%/note%}} ### Log Out from your Catalyst Account You can log out from your Catalyst account in VS Code extension's environment in the Project Explorer feature. To log out of your Catalyst account, perform the following steps: 1. Click the **ellipsis-icon** present in the Project Explorer. <br /> 2. Click **Log Out**. <br /> You will be successfully logged out. You can log back in to your Catalyst account from the IDE, by following the steps listed in this {{%link href="/en/catalyst-extensions/vs-code-extension/implementation/#log-in-to-catalyst" %}}help page{{%/link%}}. <br /> -------------------------------------------------------------------------------- title: "Extension Settings" description: "Catalyst Tools is a Catalyst extension that can be installed in your Visual Studio Code IDE. The extension will allow you to exeute CLI commands and operations without using the Catalyst CLI terminal." last_updated: "2026-03-18T07:41:08.539Z" source: "https://docs.catalyst.zoho.com/en/catalyst-extensions/vs-code-extension/extension-settings/" service: "All Services" -------------------------------------------------------------------------------- # Extension Settings You have the option to change the following settings of the **Catalyst Tools** extension in the IDE per your preference: * Provide a custom credential path. A custom credential path is the location you set in your local system, where your account credentials will be stored as a JSON file. * Select if you wish the IDE's debugger to be active while perfoming the {{%link href=/en/catalyst-extensions/vs-code-extension/implementation/#functions" %}}*Run/Debug*{{%/link%}} operation. You can access the *Settings* section by following the steps below: 1. Click the **settings icon** present in the IDE's sidebar. <br /> 2. Click **Settings**. <br /> 3. Search for *Catalyst* in the search bar. <br /> Your default credential path will be listed, and the debugging configuration of your IDE will also be enabled by default. ### Change The Default Credential Path In the *Users* section of the extension settings, you will be able to change the credential path. To change the credential path follow the steps below: 1. Click **Add Item**. <br /> 2. Enter your preferred path and click **OK**. <br /> The default path will be changed to your preferred path. 3. In your selected path a directory named {{%badge%}}**zcatalyst-vscode**{{%/badge%}} will be created. When you log in from the extension, your credentials will be stored in this directory in a JSON file. The following changes occur when you change the credential path: * The authentication codes you had previously generated will no longer be accessible. You will have to {{%link href="/en/catalyst-extensions/vs-code-extension/catalyst-tools-explorer/#manage-authentication-tokens#manage-authentication-tokens" %}}generate new codes{{%/link%}} once again. * You will have to log in to your Catalyst account again. {{%note%}}{{%bold%}}Note:{{%/bold%}} The old codes you generated will still be present in a encrypted manner in the original default path. To view it again, you will just need to revert to the default path, and no regeneration of codes is required.{{%/note%}} ### Edit or Revert Your Credential Path to Default To edit the credential path: 1. Click the **edit icon**. <br /> 2. Provide an updated path and click **OK**. <br /> To revert to the default credential path: 1. Click the **remove icon**. <br /> 2. The credential path will be reverted to default. <br /> ### Enable or Disable IDE's Debugging Section By default, when you use the **Run/Debug** feature in the *HTTP FUNCTIONS* or *NON HTTP FUNCTIONS* section, you will automatically be able to use the IDE debugger. If you disable the debugging option in the IDE, you will simply be able to serve the function without a debugger attached, when you click **Run/Debug**. If you no longer wish to be directed to the debugger and wish only to serve the function, follow the steps below: 1. Navigate to the settings section and select the **Zcatalyst: Debug** option. <br /> 2. Uncheck the option to ensure that the IDE debugger is not attached to your function when you execute the {{%link href="/en/cli/v1/serve-resources/introduction/" %}}{{%badge%}}catalyst serve{{%/badge%}}{{%/link%}} command. <br /> You can re-enable the IDE debugger at any time by following the same steps. {{%note%}}{{%bold%}}Note:{{%/bold%}} You can navigate to either the {{%italics%}}User{{%/italics%}} section or the {{%italics%}}Workspace{{%/italics%}} section to modify this setting. However, if you modify it in the {{%italics%}}Workspace{{%/italics%}} section, then the change will only apply to the current project. If you change this in the {{%italics%}}User{{%/italics%}} section, the changes will be applied globally.{{%/note%}}