All Products
Search
Document Center

Function Compute:How to use WebIDE

Last Updated:Jun 20, 2026

WebIDE is an online integrated development environment (IDE) provided by Function Compute. It offers a cloud-based development experience similar to native VS Code. You can write, debug, and deploy code directly online without installing a complex local development environment. This topic describes WebIDE features, provides an overview, and explains how to configure WebIDE in the Function Compute console.

Limits

  • WebIDE currently supports only Python, Node.js, PHP, and custom runtimes. It does not support online editing for Java, Go, or C# runtimes. For these runtimes, you can only upload compiled ZIP files or binary files.

  • Each user receives 5 GB of storage space in WebIDE. Write operations will fail once this limit is exceeded. Clean up your space promptly.

  • Opening WebIDE for a function automatically starts an instance. This instance is equivalent to a container with 1 vCPU and 1.5 GB of memory.

  • The WebIDE instance uses the same runtime environment as your function. However, it cannot load your custom layers or mounted NAS or OSS resources, and it cannot access the VPC environment configured for your function. If you require these capabilities, deploy your code first and then invoke the function, or use Dedicated WebIDE.

  • Dedicated WebIDE is available only in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Shenzhen), China (Hong Kong), Singapore, Japan (Tokyo), Germany (Frankfurt), and US (Virginia). To use Dedicated WebIDE in other regions, join the DingTalk user group (DingTalk group ID: 64970014484) and request access.

WebIDE interface overview

In full-screen mode, the WebIDE interface consists of four areas: Resource Manager, File Editor, Function Operations, and Command Line Terminal.

  • Resource Manager: View your code structure, including source files and dependencies.

  • File Editor: Edit your function code. After editing, click the image.png button in the top-right corner to debug your code. To ensure consistency between your local terminal and the production environment, click Deploy in the Function Operations area.

  • Function Operations: Deploy and test your function code. After exiting full-screen mode, this area appears in the top-left corner of the WebIDE interface.

  • Command Line Terminal: Open the terminal by selecting from the toolbar at the top of the WebIDE. Use the terminal to debug code or install third-party dependencies.

Configure WebIDE in the console

Prerequisites

You have created a function. For more information, see Create a function.

Procedure

  1. Log on to the Function Compute console. In the left-side navigation pane, click Functions.

  2. In the top navigation bar, select a region. On the Functions page, click the function that you want to manage.

  3. Optional: On the Code tab of the function details page, click Configure WebIDE in the top-right corner. In the Configure WebIDE panel, select a WebIDE type.

    You can choose either Serverless WebIDE or Dedicated WebIDE.

    • Serverless Edition

      This is the default version. It is free to use but does not support accessing resources within a VPC or mounting NAS or OSS.

    • Dedicated Edition

      Choose Dedicated WebIDE if your instance needs to load custom layers, mount NAS or OSS, or access the VPC environment configured for your service. Set the following configuration items:

      • Instance type plan

      • Execution Timeout Period

      If you select Dedicated WebIDE, Function Compute reuses or automatically creates a VPC, a vSwitch, and a General-purpose NAS file system based on the VPC setup in your function’s region. For pricing details about automatically created resources, see General-purpose NAS billing.

  4. In the WebIDE interface, write, test, and install third-party dependencies for your function code as needed.

    For details about WebIDE interface areas, see WebIDE interface overview.

Important

If you select Dedicated WebIDE, ensure your function runs correctly. Otherwise, WebIDE may fail to start.

FAQ

What should I do if WebIDE fails to load?

Refresh the function details page or quickly reset the WebIDE environment. For instructions on resetting the WebIDE environment, see How do I quickly reset the WebIDE environment variables, runtime, and layers for a function?.

What is Dedicated WebIDE?

Dedicated WebIDE is essentially an FC function deployed under your Alibaba Cloud account with a name that starts with _webide-server-.

With Dedicated WebIDE, instances can load your custom layers and mounted NAS or OSS resources, and access the VPC configured for your service. This ensures full consistency between your local terminal and the production runtime environment, improving development and debugging. You can also select an instance type plan—for example, increase CPU and memory—to boost WebIDE performance.

Because Dedicated WebIDE runs under your account, you incur additional costs:

Why does my function succeed in the terminal but fail when I click Test Function?

WebIDE helps you quickly test code, build projects, and install dependencies. However, the WebIDE environment is not the actual execution environment used by Function Compute. You cannot directly test custom layers, mounted NAS or OSS, or VPC-based resource access in WebIDE.

To avoid this issue, use Dedicated WebIDE or, after editing your code, click Deploy and then click Test Function to run tests.

How do I quickly reset the WebIDE environment variables, runtime, and layers for a function?

When you refresh the function details page or the WebIDE interface, the latest online environment variables, layers, and runtime are automatically updated in the WebIDE instance. Run env in the terminal to view the latest function environment variables.

How long does Serverless WebIDE retain my workspace?

By default, workspaces are retained for 48 hours. If you do not open the function in WebIDE for 48 consecutive hours, the workspace content is deleted.

Additionally, if the online code is modified via the console or SDK tools, the function’s code checksum changes. Refreshing or reopening WebIDE automatically updates the workspace to match the latest online code.

Can I debug code in WebIDE?

Yes. You can use the built-in VS Code debugging plugins for each supported runtime. For custom runtimes or less common languages, install an appropriate VS Code plugin.

For example, with Python 3.9, add helper code to run the handler function. The following sample code (index.py) shows how to debug a Python function in WebIDE. The if __name__ == "__main__" block serves as the local debugging entry point. Set breakpoints inside the handler function to debug:

import logging
import json
def handler(event, context):
    # evt = json.loads(event)
    logger = logging.getLogger()
    logger.info('hello world')
    logger.info('hello world2')
    return 'hello world'
if __name__=="__main__":
    event = b"hello"
    # if you use context in your code,
    # Please refer to 'https://www.alibabacloud.com/help/document_detail/422182.html' to construct context
    context = None
    handler(event, context)

When I modify a function, the Git plugin shows code differences. Does this mean WebIDE hosts my function code?

No. The first time you open a function in WebIDE, it automatically runs git init to display differences between your current code and the online version. After you click Deploy Function once, WebIDE automatically creates a commit, ensuring your terminal and online code are identical (the message save function with codechecksum xxxx indicates a successful deployment). This feature improves usability.

Important

We recommend that your function code package not include Git history. Delete the .git directory when packaging your code to avoid interfering with WebIDE.

Two RAM users under the same Alibaba Cloud account open the same function but see different code. Why?

Function Compute WebIDE isolates workspaces for RAM users under the same Alibaba Cloud account. For example, RAM User A uses WebIDE A, and RAM User B uses WebIDE B. Changes made by RAM User A in their workspace are not visible to RAM User B, so they see different code.

Both RAM users can see differences between their workspace code and the online function code. For more information, see When I modify a function, the Git plugin shows code differences. Does this mean WebIDE hosts my function code?.

What should I do if the WebIDE terminal opens slowly or fails to open?

Follow these steps to troubleshoot:

  1. Check your network settings. Ensure your local client does not block access via proxy or disable the WebSocket protocol. WebIDE uses WebSocket for real-time communication. Disabling WebSocket prevents WebIDE from working properly.

  2. Check whether you are opening a function in an outside-China region. If your local network has poor cross-border connectivity, connecting to functions in outside-China regions may be slow or fail.

  3. Check whether your code package is too large. Large packages take longer to upload or deploy. Optimize your code package and retry.

If the issue persists after following these steps, contact us.

References

  • You can also use the WebIDE terminal to package third-party dependencies for your function. For more information, see Package third-party dependencies for a function using WebIDE.

  • If your function code or third-party dependency packages are large, extract dependencies into a layer or use an official public layer from Function Compute to reduce code size. For more information, see Create a custom layer.

  • You can also test functions locally using the local debugging feature in Serverless Devs. For more information, see Local debugging.