IntelliJ IDEA多屏后窗口不顯示問題解決方案
IDEA 在接入外接屏且擴(kuò)展的情況下,如果突然拔掉外接屏,就可能會(huì)產(chǎn)生IDEA 整個(gè)窗口只在屏幕的右側(cè)顯示一點(diǎn)點(diǎn)邊框且無法拖拽到當(dāng)前屏幕的情況。
在不再次接入外接屏的情況下,想要把IDEA窗口拖拽回當(dāng)前屏幕,可以找到項(xiàng)目中.idea 文件夾下的workspace.xml 文件全文搜索ProjectFrameBounds 關(guān)鍵字,修改x和y的值為0或者直接將name='x',name='y'的這兩行刪除即可,然后重啟IDEA即可
因?yàn)榻?jīng)常遇到這種情況,所以自己寫了個(gè)java 小工具,一鍵刪除 name='x',name='y' 這兩行記錄,同時(shí)生成一個(gè)原始文件的.bak 文件,入?yún)⒅恍枰募窂?/p>
其中的核心代碼邏輯示例如下:
(標(biāo)簽: 使用Java 實(shí)現(xiàn)刪除某個(gè)文件中 包含特定字符的行)
import java.io.*;/** * @author jiashubing * @since 2019/5/22 */public class DeleteLine { public static void main(String[] args) { String path = 'C:UsersjiashubingDesktoptttworkspace.xml'; deleteLine(path); } private static String deleteLine(String path) { int a = path.lastIndexOf(’/’); int b = path.lastIndexOf(’’); if (a < 0 && b < 0) { return '沒有目錄分隔符'; } //刪除原來的備份文件 String bakpath = path + '.bak'; if (deleteFile(bakpath)) { return '刪除原始的備份文件失敗,備份文件為:' + bakpath; } String bakpath2 = path + '.bak2'; if (deleteFile(bakpath2)) { return '刪除原始的臨時(shí)備份文件失敗,備份文件為:' + bakpath2; } //創(chuàng)建臨時(shí)備份文件 File bakFile2 = new File(bakpath2); boolean nFlag = false; try { nFlag = bakFile2.createNewFile(); } catch (IOException e) { return '創(chuàng)建臨時(shí)備份文件失敗,備份文件為:' + bakpath2 + ' 錯(cuò)誤信息為:' + e.getMessage(); } if (!nFlag) { return '創(chuàng)建臨時(shí)備份文件失敗,備份文件為:' + bakpath2; } String ans = getAns(path); if (ans == null) { return '讀取并修改原始文件失敗'; } if (!addNewFile(bakpath2, ans)) { return '將修改后的內(nèi)容寫入到新文件失敗'; } File oldFile = new File(path); boolean mvFlag = oldFile.renameTo(new File(bakpath)); if (!mvFlag) { return '將原始文件重命名成備份文件失敗'; } boolean mvFlag2 = bakFile2.renameTo(new File(path)); if (!mvFlag2) { return '將臨時(shí)備份文件重命名成原始文件失敗'; } return '執(zhí)行成功'; } private static boolean deleteFile(String bakpath) { File bakFile = new File(bakpath); if (bakFile.exists() && bakFile.isFile()) { boolean delFlag = bakFile.delete(); if (!delFlag) {return true; } } return false; } private static String getAns(String path) { File oldFile = new File(path); if (!oldFile.exists() || !oldFile.isFile()) { return null; } StringBuilder ans = new StringBuilder(); String encoding = 'UTF-8'; try (InputStreamReader read = new InputStreamReader(new FileInputStream(oldFile), encoding); BufferedReader bufferedReader = new BufferedReader(read)) { String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) {if (lineTxt.contains('name='x'') || lineTxt.contains('name='y'')) { continue;}ans.append(lineTxt + 'n'); } } catch (Exception e) { return null; } return ans.toString(); } private static boolean addNewFile(String path, String ans) { File file = new File(path); try (Writer out = new FileWriter(file)) { out.write(ans); } catch (IOException e) { return false; } return true; }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python 編寫輸出到csv的操作2. JAMon(Java Application Monitor)備忘記3. js的一些潛在規(guī)則使用分析4. PHP swoole的process模塊創(chuàng)建和使用子進(jìn)程操作示例5. 利用原生JS實(shí)現(xiàn)歡樂水果機(jī)小游戲6. php中加密解密DES類的簡(jiǎn)單使用方法示例7. Python PyQt5-圖形界面的美化操作8. IntelliJ IDEA 常用設(shè)置(配置)吐血整理(首次安裝必需)9. ASP.Net MVC利用NPOI導(dǎo)入導(dǎo)出Excel的示例代碼10. 手把手教你用python發(fā)送短消息(基于阿里云平臺(tái))
