IntelliJ IDEA多屏后窗口不显示问题解决(用工具一键解决)
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多屏后窗口不显示问题解决(用工具一键解决)的更多相关文章
- git提交后文件夹显示灰色无法打开的解决办法
上传完本地文件到gitee线上后发现如下情况,文件夹显示为灰色并且无法访问. xxx@xxx 的灰色文件 问题原因 : 无法点击的灰色文件夹中含有 .git 文件 即在本地初始化的仓库(使用 git ...
- Flash设置全屏后,放到网页中显示不正常
stage.displayState = StageDisplayState.FULL_SCREEN;//全屏,注意当设置全屏后,放到网页中显示不正常
- WPF:验证登录后关闭登录窗口,显示主窗口的解决方法
http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...
- Extjs4 页面加载先白屏后显示的bug解决
通过Extjs MVC结构做好页面后,加载过程中发现,会瞬间白屏,然后呈现extjs界面的问题,当类似页面放置到iframe中时,会显得非常怪异. 可通过下图体验下. 当我单击“意见反馈”菜单,在右侧 ...
- 【Windows系统】win10系统假死,窗口不能动,鼠标能动或不能动,最后蓝屏显示错误码: VIDEO_DXGKRNL_FATAL_ERROR 的解决办法
1. 问题的出现过程 最近博主自己用的 windows10 系统就碰到了这个问题. 一开始出现这个问题的征兆是鼠标会时不时地卡顿,一出现卡顿就会等个 1-3秒才能动.然后频繁卡顿(注意,这里根据经验就 ...
- cordova+vue做的app解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页
先上项目目录结构cordova项目结构 android platform 结构 图中用红框框起来的为主要修改文件 这篇主要的讲cordova项目引用了cordova-plugin-splashscre ...
- IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容
IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容 Step 1:设置鼠标移动到类上自动显示Javadoc文档 step2:为jdk下载javadoc Step3: ...
- mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
1,mysql数据库导出模型到powerdesigner 2,CRL+Shift+X 3,复制以下内容,执行 '******************************************** ...
- 将图片在指定窗口中显示-OpenCV应用学习笔记一
1.OpenCV模块划分 OpenCV其实就是一堆用C和C++语言来实现计算机视觉算法的源代码文件:例如C接口函数cvCany()实现了Canny边缘提取算法,我们可以直接将这些源代码添加到自己的软件 ...
随机推荐
- orcale的to_number方法
转自:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893 TO_NUMBER函数()是Oracle中常用的类型转换函 ...
- vue脚手架中动态引用图片的办法
需要先导入: import logo_st_ga from '../assets/big_st_ga.png'; import logo_st_sp from '../assets/big_st_sp ...
- Log4j配置详述
/** * log4j基础配置步骤阐述: * 1.引入log4j相关的jar包文件. * 2.创建log4j的配置文件. * 3.测试配置是否成功. */ Log4j 根配置语法 下面引入一 ...
- python调用C语言接口
python调用C语言接口 注:本文所有示例介绍基于linux平台 在底层开发中,一般是使用C或者C++,但是有时候为了开发效率或者在写测试脚本的时候,会经常使用到python,所以这就涉及到一个问题 ...
- Python 并发部分的面试题
进程 进程间内存是否共享?如何实现通讯? 进程间内存不共享,可以通过 Manage模块加锁 通过队列或 通过管道加锁 socket实现通讯 请聊聊进程队列的特点和实现原理? 先进先出 Queue 后进 ...
- PAT 乙级 1019.数字黑洞 C++/Java
题目来源 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...
- oVirt部署
所有前提建议: 关闭防火墙.selinux,配置hosts,计算机名使用域名 ovirt-engine部署 yum install http://resources.ovirt.org/pub/yum ...
- 实验十四:团队项目评审&课程学习总结
项目 内容 作业所属课程 所属课程 作业要求 作业要求 课程学习目标 (1)掌握软件项目评审会流程:(2)反思总结课程学习内容 任务一:团队项目审核已完成.项目验收过程意见表已上交. 任务二:课程学习 ...
- JQuery系列(7) - JQuery最佳实践
上篇文章是一篇入门教程,从设计思想的角度,讲解"怎么使用jQuery".今天的文章则是更进一步,讲解"如何用好jQuery". 我主要参考了Addy Osman ...
- ssm上传文件
ssm上传文件(上传到本地磁盘) (1)先要导入所需要的jar包或者pom文件中添加依赖 <!-- 上传 --> <dependency> <groupId>com ...