操作指南

API 文档

诚邀爱技术、爱分享的你,成为文档内容共建者> HOT
文档中心 > 轻量应用服务器 > 最佳实践 > 搭建开发环境 > 使用 Theia IDE 应用模板搭建云端 IDE 环境

操作场景

Theia IDE 是一套构建基于 Web 的云端 IDE 的开源框架,是一个可扩展的平台,具备良好的多语言支持能力,并支持 VS Code 扩展。腾讯云轻量应用服务器提供 Theia IDE 镜像,已安装 Go、Python、Node.js、Clang 及 OpenJDK 开发环境,您可通过它便捷的实现跨平台,并可快速进行项目及业务开发。

操作步骤

  1. 登录 轻量应用服务器控制台,在 服务器 页面单击新建。
  2. 在轻量应用服务器购买页面,选择所需配置完成轻量应用服务器购买。
    • 镜像:选择为应用模板 > 开发工具场景 > Theia IDE 应用模板,其他参数可参考 购买方式 进行选择。
      说明
      • 应用模板即应用镜像。
      • 查看镜像说明详情请参见 基本概念
    • 地域:建议选择靠近目标客户的地域,降低网络延迟、提高您的客户的访问速度。例如目标客户在 “深圳”,则地域选择 “广州”。
    • 可用区:默认勾选“随机分配”,也可自行选择可用区。
    • 实例套餐:按照所需的服务器配置(CPU、内存、系统盘、带宽或峰值带宽、每月流量),选择一种实例套餐。
    • 实例名称:自定义实例名称,若不填则默认使用“镜像名称+四位随机字符”。批量创建实例时,连续命名后缀数字自动升序。例如,填入名称为 LH,数量选择3,则创建的3个实例名称为 LH1、LH2、LH3。
    • 购买时长:默认1个月。
    • 购买数量:默认1台。
  3. 单击立即购买,并根据页面提示提交订单完成支付,返回轻量应用服务器控制台。
  4. 待实例创建完成后,在服务器列表中,选择并进入该实例的详情页。
    您可以在此页面查看 Theia IDE 应用的各项配置信息。
  5. 选择应用管理页签,进入应用管理详情页。
  6. 在“应用内软件信息”栏中,单击,复制获取 Theia 1.21.1 的管理员帐户密码的命令。
  7. 在“应用内软件信息”栏中,单击登录。如下图所示:
  8. 在弹出的登录窗口中,粘贴 步骤6 复制的命令并按 Enter
    即可获取 Theia IDE 管理员账号(admin)和对应的密码,请妥善保管并记录。
  9. 关闭登录窗口,并返回该实例的应用管理详情页。
  10. 在“应用内软件信息”栏中,单击 Theia 1.21.1 的访问地址
    说明

    执行操作时建议使用 Chrome 或 Firefox 浏览器,其他浏览器(例如 Safari)可能存在兼容性问题。

  11. 在弹出窗口中输入 步骤8 获取的管理员帐户及密码,并单击确定。如下图所示:

    验证成功后即可进入 Theia IDE 工作界面,按需进行使用。

后续操作

选择工作空间

  1. 选择 Theia IDE 起始界面中的 Open WorkSpace
  2. 在弹出的 “Open Workspace” 窗口的下拉列表中选择/,打开目录。在 Theia IDE 中目录即为工作空间,本文以选择 /data 为例。如下图所示:
  3. 单击 Open,进入 /data 工作空间。

使用示例

说明

Theia IDE 目前支持 Python、Java、Go、C/C++ 及 Node.js 语言。该步骤以命令行及界面两种方式分别运行 Python、Go 及 C++ 语言程序示例,您可按需选择对应语言进行操作。

Python

  1. 在工作空间中,选择窗口上方的 File > New Folder
  2. 在弹出窗口中创建名为 Python 的文件夹,并在其下创建简单示例文件 main.py。如下图所示:
  3. 您可使用以下两种方式运行该程序:
    • 命令行方式:
      1. 选择窗口上方的 Terminal > New Terminal,打开终端。
      2. 在终端中依次执行以下命令,运行程序。
        cd Python
        python3.8 main.py
        执行结果如下图所示:
    • 界面方式:
    • 选择窗口右上方的,运行程序。 执行结果如下图所示:

Go

  1. 在工作空间中,选择窗口上方的 File > New Folder
  2. 在弹出窗口中创建名为 go 的文件夹,并在其下创建简单示例文件 main.go。如下图所示:
  3. 您可使用以下两种方式运行该程序:
    • 命令行方式:
      1. 选择窗口上方的 Terminal > New Terminal,打开终端。
      2. 在终端中依次执行以下命令,运行程序。
        cd go
        go run main.go
        执行结果如下图所示:
    • 界面方式:
      1. 选择左侧的,打开 DEBUG 栏。
      2. 在 DEBUG 中,选择下拉列表中的 Add Configuration,生成配置文件。如下图所示:
      3. 打开 main.go 文件,并选择 DEBUG 栏中的,运行程序。执行结果如下图所示:

C++

  1. 在工作空间中,选择窗口上方的 File > New Folder
  2. 在弹出窗口中创建名为 c++ 的文件夹,并在其下创建简单示例文件 main.cpp。如下图所示:
  3. 您可使用以下两种方式运行该程序:
    • 命令行方式:
      1. 选择窗口上方的 Terminal > New Terminal,打开终端。
      2. 在终端中依次执行以下命令,运行程序。
        cd c++
        clang++ main.c
        ./a.out
        执行结果如下图所示:
    • 界面方式:
      1. 选择左侧的,打开 DEBUG 栏。
      2. 在 DEBUG 中,选择下拉列表中的 Add Configuration,生成配置文件。如下图所示:
      3. 在配置文件展开的下拉列表中,选择 { } GDB CDT Local debugging
      4. 将配置文件中的 /${command:askProgramPath} 替换为 /c++/a.out,并保存修改。
      5. 选择 DEBUG 栏中的,打开 Debug Console。
      6. 选择 DEBUG 栏中的,运行程序。执行结果如下图所示:

开启 HTTPS 访问

可参考 安装 SSL 证书 文档为您的 Theia IDE 实例安装 SSL 证书并开启 HTTPS 访问。

注意

Theia IDE 实例无需修改 /usr/local/lighthouse/softwares/nginx/conf/nginx.conf 配置文件,仅需修改 /usr/local/lighthouse/softwares/nginx/conf/include/theia.conf 配置文件即可。

请参考以下配置对文件进行修改:
server {
    listen 443 ssl;
    server_tokens off;
    keepalive_timeout 5;
    root /usr/local/lighthouse/softwares/nginx/html;
    index index.php index.html;
    access_log logs/theia.log combinediox;
    error_log logs/theia.error.log;
    server_name cloud.tencent.com;   #填写您的证书绑定的域名,例如:cloud.tencent.com
    ssl_certificate 1_cloud.tencent.com_bundle.crt;   #填写您的证书文件名称,例如:1_cloud.tencent.com_bundle.crt
    ssl_certificate_key 2_cloud.tencent.com.key;    #填写您的私钥文件名称,例如:2_cloud.tencent.com.key
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  # 可参考此 SSL 协议进行配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;   #可按照此加密套件配置,写法遵循 openssl 标准
    ssl_prefer_server_ciphers on;

   auth_digest_user_file /home/lighthouse/passwd.digest;
    auth_digest_shm_size  8m;   # the storage space allocated for tracking active sessions

   location / {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        auth_digest 'lighthouse';
        auth_digest_timeout 120s;   # allow users to wait 2 minute between receiving the
                                    # challenge and hitting send in the browser dialog box
        auth_digest_expires 600s;   # after a successful challenge/response, let the client
                                    # continue to use the same nonce for additional requests
                                    # for 600 seconds before generating a new challenge
        auth_digest_replays 60;     # also generate a new challenge if the client uses the
                                    # same nonce more than 60 times before the expire time limit

        proxy_pass http://127.0.0.1:3000;
    }
}

server {
    listen 80;
    server_name cloud.tencent.com;    #填写您的证书绑定的域名,例如:cloud.tencent.com
    return 301 https://$host$request_uri;       #将http的域名请求转成https
}
目录