IDEA 在接入外接屏且扩展的情况下,如果突然拔掉外接屏,就可能会产生IDEA 整个窗口只在屏幕的右侧显示一点点边框且无法拖拽到当前屏幕的情况。

在不再次接入外接屏的情况下,想要把IDEA窗口拖拽回当前屏幕,可以找到项目中.idea 文件夹下的workspace.xml 文件
全文搜索ProjectFrameBounds 关键字,修改x和y的值为0或者直接将name="x",name="y"的这两行删除即可,然后重启IDEA即可

以上转自 https://blog.csdn.net/zhj870975587/article/details/80168736

因为经常遇到这种情况,所以自己写了个java 小工具,一键删除 name="x",name="y" 这两行记录,同时生成一个原始文件的.bak 文件,入参只需要文件路径

其中的核心代码逻辑示例如下:

(标签: 使用Java 实现删除某个文件中 包含特定字符的行)

 import java.io.*;

 /**
* @author jiashubing
* @since 2019/5/22
*/
public class DeleteLine {
public static void main(String[] args) {
String path = "C:\\Users\\jiashubing\\Desktop\\ttt\\workspace.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 "删除原始的临时备份文件失败,备份文件为:" + bakpath2;
} //创建临时备份文件
File bakFile2 = new File(bakpath2);
boolean nFlag = false;
try {
nFlag = bakFile2.createNewFile();
} catch (IOException e) {
return "创建临时备份文件失败,备份文件为:" + bakpath2 + " 错误信息为:" + e.getMessage();
}
if (!nFlag) {
return "创建临时备份文件失败,备份文件为:" + bakpath2;
} String ans = getAns(path);
if (ans == null) {
return "读取并修改原始文件失败";
} if (!addNewFile(bakpath2, ans)) {
return "将修改后的内容写入到新文件失败";
} 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 "将临时备份文件重命名成原始文件失败";
} return "执行成功";
} 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;
}
}

原创文章,欢迎转载,转载请注明出处!

IntelliJ IDEA多屏后窗口不显示问题解决(用工具一键解决)的更多相关文章

  1. git提交后文件夹显示灰色无法打开的解决办法

    上传完本地文件到gitee线上后发现如下情况,文件夹显示为灰色并且无法访问. xxx@xxx 的灰色文件 问题原因 : 无法点击的灰色文件夹中含有 .git 文件 即在本地初始化的仓库(使用 git ...

  2. Flash设置全屏后,放到网页中显示不正常

    stage.displayState = StageDisplayState.FULL_SCREEN;//全屏,注意当设置全屏后,放到网页中显示不正常

  3. WPF:验证登录后关闭登录窗口,显示主窗口的解决方法

    http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...

  4. Extjs4 页面加载先白屏后显示的bug解决

    通过Extjs MVC结构做好页面后,加载过程中发现,会瞬间白屏,然后呈现extjs界面的问题,当类似页面放置到iframe中时,会显得非常怪异. 可通过下图体验下. 当我单击“意见反馈”菜单,在右侧 ...

  5. 【Windows系统】win10系统假死,窗口不能动,鼠标能动或不能动,最后蓝屏显示错误码: VIDEO_DXGKRNL_FATAL_ERROR 的解决办法

    1. 问题的出现过程 最近博主自己用的 windows10 系统就碰到了这个问题. 一开始出现这个问题的征兆是鼠标会时不时地卡顿,一出现卡顿就会等个 1-3秒才能动.然后频繁卡顿(注意,这里根据经验就 ...

  6. cordova+vue做的app解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页

    先上项目目录结构cordova项目结构 android platform 结构 图中用红框框起来的为主要修改文件 这篇主要的讲cordova项目引用了cordova-plugin-splashscre ...

  7. IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容

    IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容 Step 1:设置鼠标移动到类上自动显示Javadoc文档 step2:为jdk下载javadoc Step3: ...

  8. mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释

    1,mysql数据库导出模型到powerdesigner 2,CRL+Shift+X 3,复制以下内容,执行 '******************************************** ...

  9. 将图片在指定窗口中显示-OpenCV应用学习笔记一

    1.OpenCV模块划分 OpenCV其实就是一堆用C和C++语言来实现计算机视觉算法的源代码文件:例如C接口函数cvCany()实现了Canny边缘提取算法,我们可以直接将这些源代码添加到自己的软件 ...

随机推荐

  1. 英语Barklyite红宝石barklyite单词

    红宝石的英文名称为barklyite或Ruby,源于拉丁文 Ruber,意思是红色.红宝石的日文名称为ルビー.红宝石的矿物名称为刚玉.(注:除红宝石外,其他颜色的刚玉都属于蓝宝石.如粉红色刚玉被称为粉 ...

  2. 安全SECUERITY单词SECUERITY证券

    中文名:证券业 外文名:secuerity 含义:指从事证券发行和交易服务 性质:证券市场的基本组成要素 组成:证券交易所.证券公司 目录 1 证券评级 2 证券定义 ? 涵义 ? 内容 ? 分类 ? ...

  3. 面试题:什么叫B*树

    B*-tree是B+-tree的变体,在B+树的基础上(所有的叶子结点中包含了全部关键字的信息,及指向含有这些关键字记录的指针),B*树中非根和非叶子结点再增加指向兄弟的指针:

  4. MYSQL中的时间类型

    时间上总共有五中表示方法:它们分别是 time.date.datetime.timestamp和year. time :  “hh:mm:ss”格式表示的时间值,格式显示TIME值,但允许使用字符串或 ...

  5. LP线性规划求解 之 单纯形 算法

    LP线性规划求解 之 单纯形 算法 认识-单纯形 核心: 顶点旋转 随机找到一个初始的基本可行解 不断沿着可行域旋转(pivot) 重复2,直到结果不能改进为止 案例-过程 以上篇的case2的松弛型 ...

  6. 破解CentOS7的root及加密grub修复实战

    破解CentOS7的root及加密grub修复实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.破解CentOS7的root口令方案1 1>.启动时任意键暂停启动 2& ...

  7. Ugly Pairs CodeForces - 1156B

    题目链接:https://vjudge.net/problem/CodeForces-1156B 题意:给定一串字符,相邻字符的ASCII码不能是相邻的数字,比如ABC,假设ASCII码为,99 10 ...

  8. docker学习9-搭建rabbitMQ环境

    前言 docker搭建rabbitMQ环境 下载镜像 rabbitMQ 镜像仓库地址https://hub.docker.com/_/rabbitmq 找带有 mangement的版本,会带后台管理界 ...

  9. Gym - 100962F: Frank Sinatra (树上莫队+bitset)

    题意:给定一棵树,带边权.然后Q次询问,每次给出(u,v),求这个路径上最小的未出现的边权. 思路:树上莫队,求mex可以用分块或者bitset,前者可能会快一点.   莫队过程:求出欧拉序,即记录d ...

  10. python基础语法2 流程控制 if,while,for

    if语句: 什么是if? 主要是用于判断事物得对错,真假,是否可行 语法结构: python是通过缩进来决定代码的归属 pep8: 缩进一定是四个空格 tab键 if 条件: 代码块 .... ... ...