IntelliJ IDEA多屏后窗口不显示问题解决方案
IDEA在接入外接屏且扩展的情况下,如果突然拔掉外接屏,就可能会产生IDEA整个窗口只在屏幕的右侧显示一点点边框且无法拖拽到当前屏幕的情况。
在不再次接入外接屏的情况下,想要把IDEA窗口拖拽回当前屏幕,可以找到项目中.idea文件夹下的workspace.xml文件
全文搜索ProjectFrameBounds关键字,修改x和y的值为0或者直接将name="x",name="y"的这两行删除即可,然后重启IDEA即可
因为经常遇到这种情况,所以自己写了个java小工具,一键删除name="x",name="y"这两行记录,同时生成一个原始文件的.bak文件,入参只需要文件路径
其中的核心代码逻辑示例如下:
(标签:使用Java实现删除某个文件中包含特定字符的行)
importjava.io.*;
/**
*@authorjiashubing
*@since2019/5/22
*/
publicclassDeleteLine{
publicstaticvoidmain(String[]args){
Stringpath="C:\\Users\\jiashubing\\Desktop\\ttt\\workspace.xml";
deleteLine(path);
}
privatestaticStringdeleteLine(Stringpath){
inta=path.lastIndexOf('/');
intb=path.lastIndexOf('\\');
if(a<0&&b<0){
return"没有目录分隔符";
}
//删除原来的备份文件
Stringbakpath=path+".bak";
if(deleteFile(bakpath)){
return"删除原始的备份文件失败,备份文件为:"+bakpath;
}
Stringbakpath2=path+".bak2";
if(deleteFile(bakpath2)){
return"删除原始的临时备份文件失败,备份文件为:"+bakpath2;
}
//创建临时备份文件
FilebakFile2=newFile(bakpath2);
booleannFlag=false;
try{
nFlag=bakFile2.createNewFile();
}catch(IOExceptione){
return"创建临时备份文件失败,备份文件为:"+bakpath2+"错误信息为:"+e.getMessage();
}
if(!nFlag){
return"创建临时备份文件失败,备份文件为:"+bakpath2;
}
Stringans=getAns(path);
if(ans==null){
return"读取并修改原始文件失败";
}
if(!addNewFile(bakpath2,ans)){
return"将修改后的内容写入到新文件失败";
}
FileoldFile=newFile(path);
booleanmvFlag=oldFile.renameTo(newFile(bakpath));
if(!mvFlag){
return"将原始文件重命名成备份文件失败";
}
booleanmvFlag2=bakFile2.renameTo(newFile(path));
if(!mvFlag2){
return"将临时备份文件重命名成原始文件失败";
}
return"执行成功";
}
privatestaticbooleandeleteFile(Stringbakpath){
FilebakFile=newFile(bakpath);
if(bakFile.exists()&&bakFile.isFile()){
booleandelFlag=bakFile.delete();
if(!delFlag){
returntrue;
}
}
returnfalse;
}
privatestaticStringgetAns(Stringpath){
FileoldFile=newFile(path);
if(!oldFile.exists()||!oldFile.isFile()){
returnnull;
}
StringBuilderans=newStringBuilder();
Stringencoding="UTF-8";
try(InputStreamReaderread=newInputStreamReader(
newFileInputStream(oldFile),encoding);
BufferedReaderbufferedReader=newBufferedReader(read)){
StringlineTxt=null;
while((lineTxt=bufferedReader.readLine())!=null){
if(lineTxt.contains("name=\"x\"")||lineTxt.contains("name=\"y\"")){
continue;
}
ans.append(lineTxt+"\n");
}
}catch(Exceptione){
returnnull;
}
returnans.toString();
}
privatestaticbooleanaddNewFile(Stringpath,Stringans){
Filefile=newFile(path);
try(Writerout=newFileWriter(file)){
out.write(ans);
}catch(IOExceptione){
returnfalse;
}
returntrue;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。