1
在Linux上使用Atom編輯器,我似乎無法找到任何選項在最近激活的Atom窗口中打開文件(使用我的文件管理器)。相反,它始終在創建的第一個Atom窗口中打開。如何打開最近激活的Atom編輯器窗口中的文件,而不是首次打開的Atom窗口?
我該如何解決這個問題?
在Linux上使用Atom編輯器,我似乎無法找到任何選項在最近激活的Atom窗口中打開文件(使用我的文件管理器)。相反,它始終在創建的第一個Atom窗口中打開。如何打開最近激活的Atom編輯器窗口中的文件,而不是首次打開的Atom窗口?
我該如何解決這個問題?
有這個選項:
-a, --add Open path as a new project in last used window. [boolean]
...但無論如何,預期這是行不通的。但是,我發現了一個解決方法。
此代碼位於某處周圍src/main-process/atom-application.js
的862線:
if (existingWindow == null) {
if (currentWindow = window != null ? window : this.lastFocusedWindow) {
if (addToLastWindow || currentWindow.devMode === devMode && (stats.every(function(stat) {
return typeof stat.isFile === "function" ? stat.isFile() : void 0;
}) || stats.some(function(stat) {
return (typeof stat.isDirectory === "function" ? stat.isDirectory() : void 0) && !currentWindow.hasProjectPath();
}))) {
existingWindow = currentWindow;
}
}
}
註釋掉的第一行和其前右括號:
// if (existingWindow == null) {
if (currentWindow = window != null ? window : this.lastFocusedWindow) {
if (addToLastWindow || currentWindow.devMode === devMode && (stats.every(function(stat) {
return typeof stat.isFile === "function" ? stat.isFile() : void 0;
}) || stats.some(function(stat) {
return (typeof stat.isDirectory === "function" ? stat.isDirectory() : void 0) && !currentWindow.hasProjectPath();
}))) {
existingWindow = currentWindow;
}
}
// }
... aaaand瞧!
它了一個破解的文本編輯器,畢竟^ _^
這不得不遺憾的是每一個原子更新後重做。 – Raj
@Raj,那麼在[atom Github頁面](https://github.com/atom/atom/issues)上提出問題會更好嗎?目前的行爲顯然不是預期的行爲。 – hidefromkgb
而順便說一句,更多的閱讀了代碼,我很確定我的修正是合法的,因爲它所做的只是顛倒'this.windowForPaths'和'this.lastFocusedWindow'的優先級。 – hidefromkgb