使用 IntelliJ IDEA 实现远程开发的几种方式

352 阅读3分钟

在日常开发中,我们经常需要在远程服务器上运行开发环境,例如代码编译、依赖管理、服务调试等。本文将介绍如何通过 JetBrains Toolbox + 远程开发功能 来实现基于 SSH 或 Docker 的远程开发,以 IntelliJ IDEA 为例。

1. 准备工作:安装 JetBrains Toolbox

首先需要在本地安装 JetBrains Toolbox
Toolbox 是 JetBrains 提供的一站式工具管理平台,支持安装、更新、管理各类 JetBrains 开发工具,并提供远程开发入口。

2. 通过 Toolbox 连接远程服务器

在 Toolbox 中选择 SSH 功能,通过 SSH 连接到远程服务器
连接成功后,Toolbox 会自动在远程服务器上下载并安装所需的开发工具(例如 IntelliJ IDEA)。这意味着本地无需安装完整的 IDEA 环境,只需保持本地与远程的连接即可。

image.png

image.png

3. 拉取项目代码

连接完成后,在远程服务器上使用 Git 拉取项目代码。例如:

git clone git@github.com:your/repo.git

这样,项目源代码就存放在远程服务器上,后续所有开发、编译、调试都在服务器完成。

4. 本地打开远程开发工具

在 Toolbox 中选择刚才配置好的远程环境,即可打开远程的 IntelliJ IDEA。
IDEA 会从远程加载刚才拉取的项目,本地界面只作为“前端”,所有实际的编译、运行、调试都发生在远程服务器。

5. 特殊情况:服务器不支持最新版 IDEA

有些服务器可能由于操作系统或依赖问题,无法直接运行最新版本的 IntelliJ IDEA。这种情况下,可以考虑使用 Docker 容器的方式来运行远程开发环境。

6. 使用 Docker 构建远程开发环境

我们可以通过自定义 Docker 镜像,来封装开发所需的依赖。例如:

  • Ubuntu 22.04
  • Java
  • Git
  • Maven

Dockerfile 示例:

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
    openjdk-17-jdk \
    git \
    maven \
    ssh \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /code

构建镜像并运行:

docker build -t remote-dev:idea .
docker run -d --name remote-dev-idea \
  -p 6975:22 \
  -v /home/youruser/code:/code \
  remote-dev:idea

7. 容器端口映射与服务访问

  • 基础:通过 -p 6975:22 将容器内的 SSH 服务映射到宿主机 6975 端口。

  • 如果容器中需要运行多个服务(如 Web 服务、数据库等),有两种做法:

    1. 将每个服务端口分别暴露出去,例如 -p 8080:8080 -p 3306:3306
    2. 只暴露一个端口,在容器内使用反向代理或转发规则,将请求分发到不同的服务。

这样,本地通过 Toolbox → SSH → Docker 容器,就能无缝使用 IntelliJ IDEA 进行远程开发。

总结

本文介绍了两种常见的 IntelliJ IDEA 远程开发方式:

  1. 直接通过 Toolbox + SSH 连接远程服务器:适用于环境较为干净、能直接安装 IDEA 的情况。
  2. 基于 Docker 的远程开发环境:适用于需要定制化依赖、隔离环境或服务器版本较旧的场景。

通过这两种方式,开发者既能保持本地的轻量化体验,又能充分利用远程服务器的算力和资源。