2018年5月19日 星期六

自訂 PHPstorm 的 BrowserRefresh 功能

If You are developing a PHP web site using PhpStorm in this approach currently, i.e. save the changes, and then switch to the browser and refresh the page, here is a quicker way for you. You can press a key-combination, Ctrl+Shift+R, for example, to save the change and refresh the browser.

雖然 PHPstorm 有個 LiveEdit,好像很強大,但是不會用。就參考先前用過的 Sublime 的 BrowserRefresh 功能,想辦法把它搬到 PHPstorm 來用。

我的作法,主要是參考 Sublime Text 的 BrowserRefresh 功能,在 Linux 下,使用 xdotool 來送出瀏覽器的 refresh 指令。在 Sublime Text 下,要有程式底子,才能看懂它在做什麼。但是在 PHPstorm,就簡單多了,只要建好 script 檔,確定功能正常,然後點一點滑鼠就 OK 了。

先建立可透過 xdotool 送出 refresh 指令的 script,並測試確定功能正常。

在 [Settings] > [Tools] > [External Tools] 下,新增 BrowserReferesh,並且,在 Program 欄位,填上 script 的 full path。

然後,在  [Settings] > [Keymap] > [External Tools] > [External Tools] 下,指定快捷鍵,例如,我是指定 Ctrl+Shift+R。雖然,這個已被使用,但幾乎我要用的組合,都被用了,也就不管,用自己習慣的吧。



BrowserReferesh 的程式碼
(chromium-refresh)
#!/bin/bash
xdotool search --sync --onlyvisible --class 'chromium' windowfocus key 'F5'  windowactivate


(firefox-refresh)
#!/bin/bash
xdotool search --sync --onlyvisible --class 'firefox' windowfocus key 'F5'  windowactivatet 

對於 Chrome,有些困擾,會更新到 LINE 的擴充功能,就 chromium 了。因為 Chrome 和 Chromium 才有 Knockout JS 的 extension 可用。而 Firefox 改版之後,一些舊的 extension 都不能用了,另外,在我的 Linux 下,可能是設定的關係,版型變得怪怪的,要改網頁都抓不準,也是促成改用 chromium 的原因。

嗯,自從改用 PHPstorm 寫 PHP 程式,再也回不去了,現在根本就不想用 Sublime Text 了。

沒有留言:

張貼留言

網誌存檔