在我的項目中,我有一個特殊的JSP,它在異常情況下顯示異常堆棧跟蹤。在Eclipse中通過URL處理程序打開文件
有沒有一種方法可以使用URL處理程序或其他可以讓Eclipse打開文件的東西?也許與xdg-open
?
我在Kubuntu Linux上使用Eclipse 4.3。
在我的項目中,我有一個特殊的JSP,它在異常情況下顯示異常堆棧跟蹤。在Eclipse中通過URL處理程序打開文件
有沒有一種方法可以使用URL處理程序或其他可以讓Eclipse打開文件的東西?也許與xdg-open
?
我在Kubuntu Linux上使用Eclipse 4.3。
我已經結束了與此解決方案:
編輯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
。
創建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=/org.eclipse.platform.doc.isv/guide/product_open_file.htm
給文件可執行權限:chmod +a eclipse-launch.sh
創建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;
運行xdg-mime default xdebug.desktop x-scheme-handler/xdebug
。這應該添加一個條目到~.local/share/applications/mimeapps.list
到[Default Applications]
部分。該條目本身應該像x-scheme-handler/xdebug=xdebug.desktop
對於Firefox遵循這裏說明:https://xdebug.org/docs/all_settings#file_link_format
about:config
network.protocol-handler.expose.xdebug
並將其設置爲false
的TeamCity的插件做到這一點不知。我想你可以編寫一個eclipse插件,在端口9998上啓動一個微型Web服務器,然後當你嘗試加載一個像localhost:9998:///path/to/file.ext:66這樣的URL時,它會發送一個虛擬響應,並將在eclipse中打開文件(也許它也可以激活窗口)。查看play的開發錯誤頁面,該鏈接可以將目標設置爲隱藏的iframe。 – nafg