Перейти к содержимому
Последнее обновление

Настройка среды разработки FE в VSCode

В этом документе описано, как с помощью VSCode настроить среду разработки Doris FE на компьютере разработчика, в WSL или в Docker. Разработчики, предпочитающие VSCode, могут использовать расширения Remote для удалённой разработки и отладки.

1. Предварительные требования​

КомпонентТребования к версииНазначение
JDK11+ (требуется расширению Java); для компиляции можно использовать JDK 8Установите обе версии и переключайтесь между ними в настройках
VSCodeПоследний стабильный выпускРедактор
Extension Pack for JavaПоследняя версияПоддержка языка Java
Расширения RemoteRemote - SSH / Remote - WSL / Remote - ContainersУдалённая разработка

Рекомендуется установить JDK 11 и JDK 8 отдельно в выделенный каталог, например ~/lib, для использования расширениями IDE и компиляции исходного кода соответственно.

2. Клонирование и открытие исходного кода​

  1. Загрузите исходный код с GitHub:

    git clone https://github.com/apache/doris.git
  2. Откройте в VSCode каталог fe в дереве исходного кода (а не корневой каталог всего репозитория).

3. Настройка VSCode​

Создайте файл settings.json в каталоге fe/.vscode/ и настройте среду выполнения Java и путь к Maven.

Параметр настройкиОписание
java.configuration.runtimesРегистрирует список доступных JDK, которые расширение Java использует для отдельных проектов
java.jdt.ls.java.homeУказывает каталог JDK 11+, используемый самим расширением vscode-java
maven.executable.pathУказывает путь к локальному исполняемому файлу Maven, используемому расширением maven-language-server

Пример:

{
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/!!!path!!!/jdk-1.8.0_191"
},
{
"name": "JavaSE-11",
"path": "/!!!path!!!/jdk-11.0.14.1+1",
"default": true
}
],
"java.jdt.ls.java.home": "/!!!path!!!/jdk-11.0.14.1+1",
"maven.executable.path": "/!!!path!!!/maven/bin/mvn"
}

4. Компиляция FE​

Полная процедура компиляции описана в следующих документах:

5. Настройка удалённой отладки​

Для удалённой отладки FE из VSCode добавьте параметры JDWP при запуске FE:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

Для этого отредактируйте doris/output/fe/bin/start_fe.sh и добавьте указанные выше параметры после $JAVA $final_java_opt.

Параметр JDWPЗначениеОписание
transportdt_socketИспользовать транспорт Socket
serveryЗапустить сервер отладки и ожидать подключения отладчика
suspendnНе приостанавливать выполнение при запуске; работать в обычном режиме
address5005Порт прослушивания; можно изменить

После запуска FE используйте расширение Java Debug в VSCode, чтобы подключиться к host:5005 и выполнять отладку с точками останова.

6. Часто задаваемые вопросы (FAQ)​

Вопрос 1: Расширение Java сообщает, что версия JDK слишком низкая​

java.jdt.ls.java.home должен указывать на JDK 11+. Даже если для компиляции используется JDK 8, самому расширению для работы по-прежнему требуется JDK 11+.

Вопрос 2: Не удаётся выполнить задачи Maven / команда mvn не найдена​

Убедитесь, что maven.executable.path указывает на существующий исполняемый файл mvn, или добавьте его в системную переменную PATH.

Вопрос 3: Не удаётся подключиться для удалённой отладки​

  • Убедитесь, что процесс FE действительно загрузил параметры JDWP (проверьте командную строку с помощью ps -ef | grep java).
  • Убедитесь, что порт address не заблокирован межсетевым экраном.
  • Если используется suspend=y, FE приостановит выполнение в ожидании подключения отладчика. Измените значение на suspend=n или подключите отладчик самостоятельно.