Настройка среды разработки FE в VSCode
В этом документе описано, как с помощью VSCode настроить среду разработки Doris FE на компьютере разработчика, в WSL или в Docker. Разработчики, предпочитающие VSCode, могут использовать расширения Remote для удалённой разработки и отладки.
1. Предварительные требования
| Компонент | Требования к версии | Назначение |
|---|---|---|
| JDK | 11+ (требуется расширению Java); для компиляции можно использовать JDK 8 | Установите обе версии и переключайтесь между ними в настройках |
| VSCode | Последний стабильный выпуск | Редактор |
| Extension Pack for Java | Последняя версия | Поддержка языка Java |
| Расширения Remote | Remote - SSH / Remote - WSL / Remote - Containers | Удалённая разработка |
Рекомендуется установить JDK 11 и JDK 8 отдельно в выделенный каталог, например ~/lib, для использования расширениями IDE и компиляции исходного кода соответственно.
2. Клонирование и открытие исходного кода
-
Загрузите исходный код с GitHub:
git clone https://github.com/apache/doris.git -
Откройте в 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 | Значение | Описание |
|---|---|---|
transport | dt_socket | Использовать транспорт Socket |
server | y | Запустить сервер отладки и ожидать подключения отладчика |
suspend | n | Не приостанавливать выполнение при запуске; работать в обычном режиме |
address | 5005 | Порт прослушивания; можно изменить |
После запуска 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или подключите отладчик самостоятельно.