Открыть файл в Eclipse через обработчик URL

В моем проекте у меня есть специальный JSP, который отображает трассировку стека исключений в случае исключений.

Есть ли способ использовать обработчик URL или что-то еще, что Eclipse откроет файл? Может быть с xdg-open?

Я использую Eclipse 4.3 на Kubuntu Linux.

1 ответ

Я закончил с этим решением:

  1. редактировать xdebug.ini (это должно быть где-то как /etc/php/7.0/mods-available/xdebug.ini), добавлять:

    xdebug.file_link_format="xdebug://%f(%l)"
    

    Перезагрузите ваш сервер или php-fpm. Для использования Apache на Ubuntu sudo service apache2 restart,

  2. Создайте eclipse-launch.sh, Он предназначен для анализа URL и передачи файла в Eclipse. Вы можете назвать его как хотите и поместить в любое место, я поместил его в каталог eclise. Не забудьте заменить /home/user с вашим фактическим домашним каталогом и path="..." с фактическим путем затмения:

    #! /bin/bash
    
    arg=$1
    path="/home/user/eclipse/eclipse-neon/"
    
    # file name directly followed by a line number in parenthesis
    regex="//([^(]*)\(([0-9]+)\)"
    
    if [[ $arg =~ $regex ]]
    then
        file=${BASH_REMATCH[1]}
        line=${BASH_REMATCH[2]}
        $path/eclipse --launcher.openFile "$file"+"$line"
    else
        msg="Unsupported URL: $arg"
        zenity --info --text="$msg"
    
        # alternatives:
        # notify-send "$msg" # another notification program
        # $path/eclipse # just run eclipse
    fi
    

    Подробнее о параметрах командной строки Eclipse читайте здесь: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fproduct_open_file.htm

  3. Дайте файлу исполняемые права доступа: chmod +a eclipse-launch.sh

  4. Создайте xdebug.desktop в ~/.local/share/applications/, Будет использоваться xdg-open (Chrome использует xdg-open по умолчанию).

    [Desktop Entry]
    Comment=
    Exec=/home/user/eclipse/eclipse-neon/eclipse-launch.sh "%u"
    Icon=/home/user/eclipse/eclipse-neon/eclipse/icon.xpm
    Name=Eclipse xdebug Launch
    NoDisplay=false
    StartupNotify=true
    Terminal=0
    TerminalOptions=
    Type=Application
    MimeType=x-scheme-handler/xdebug;
    
  5. Бежать xdg-mime default xdebug.desktop x-scheme-handler/xdebug, Это должно добавить запись в ~.local/share/applications/mimeapps.list в [Default Applications] раздел. Сама запись должна выглядеть так x-scheme-handler/xdebug=xdebug.desktop

  6. Для Firefox следуйте инструкциям здесь: https://xdebug.org/docs/all_settings

    • открыто about:config
    • Добавить новый логический параметр network.protocol-handler.expose.xdebug и установите его false
    • При первом нажатии на ссылку xdebug:/// Firefox предложит выбрать приложение для запуска и указать созданный файл eclipse-launch.sh.
Другие вопросы по тегам