4

在我的项目中,我有一个特殊的 JSP,它在出现异常时显示异常堆栈跟踪。

有没有办法使用 URL 处理程序或其他可以让 Eclipse 打开文件的方法?也许与xdg-open

我在 Kubuntu Linux 上使用 Eclipse 4.3。

4

1 回答 1

2

我最终得到了这个解决方案:

  1. 编辑xdebug.ini(它应该在某个地方/etc/php/7.0/mods-available/xdebug.ini),添加:

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

    重新启动您的服务器或 php-fpm。对于 Ubuntu 上的 Apache,请使用sudo service apache2 restart.

  2. 创建eclipse-launch.sh. 它旨在解析 URL 并将文件传递给 Eclipse。你可以随意命名并放在任何你想要的地方,我已经把它放在了 ecrise 目录中。请务必替换/home/user为您的实际主目录和path="..."实际的 Eclipse 路径:

    #! /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=/org.eclipse.platform.doc.isv/guide/product_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#file_link_format

    • 打开about:config
    • 添加一个新的布尔设置network.protocol-handler.expose.xdebug并将其设置为false
    • 第一次单击 xdebug:/// 链接时,Firefox 会提示您选择要运行的应用程序,指向创建的eclipse-launch.sh文件。
于 2017-05-07T23:46:28.267 回答