IntelliJ IDEA多屏后窗口不显示问题解决方案

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

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

因为经常遇到这种情况,所以自己写了个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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • IntelliJ IDEA 2019.3激活破解的详细方法(亲测有效,可激活至 2089 年)

    推荐阅读: IDEA 2019.1.3 激活码大全 https://www.jb51.net/article/172109.htm IDEA 2020版本最新破解教程可激活至2089年(推荐) https://www.jb51.net/article/195292.htm 最新idea2020注册码永久激活(激活到2100年) https://www.jb51.net/article/178193.htm 正文开始 IntelliJ IDEA 2019.3激活破解教程(亲测有效,可激活至 208

  • IntelliJ IDEA 2020.1.2激活工具下载及破解方法免费可用至2089年(强烈推荐)

    IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一. Intellij IDEA 最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试. 下面本文重点给大家介绍IntelliJ IDEA 2020.1.2激活工具及破解方法,具体内容如下所示: 需要提前安装好IDEA,官网下载地址: https://www.jetbrains.com/idea/downl

  • intellij idea快速查看当前类中的所有方法(推荐)

    问题:当一个类中的方法非常多,一个个查看不直观也比较麻烦,如何快速的查看这个类中的所有方法? 按快捷键 Alt+7就能显示当前类中的所有方法.全局常量,方法还包括形参和返回值,一目了然--打开界面如下: 默认的快捷键就是Alt+7,如果你的修改过,就去keymap中设置查看: 总结 到此这篇关于intellij idea快速查看当前类中的所有方法的文章就介绍到这了,更多相关idea查看当前类中的所有方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • IntelliJ IDEA的数据库管理工具实在太方便了(推荐)

    1. 前言 胖哥是一个有软件洁癖的人,能用现有的软件解决问题的绝不安装新的软件.Java后端开发主要跟数据库打交道,所以数据库图形化界面(GUI)是少不了的.通常图形化操作关系型数据库(RMDBS)大多数人会选择Navicat.如果你用的是Intellij IDEA,不管是旗舰版还是社区版,都不需要Navicat了,旗舰版自带数据库图形界面,社区版你可以通过插件集成图形界面.今天就以旗舰版为例演示一下IDEA的数据库图形管理能力. 2. IDEA 数据库图形管理 在IDEA旗舰版的右侧边栏打开D

  • IntelliJ IDEA将导入的项目转成maven项目

    今天导入公司的maven项目,发现结构不对劲,难怪说为啥一直不能部署tomcat,后面百度才了解到导入这个项目还不是maven项目,首先需要把这个项目变成maven项目,然后再进行tomcat的部署下面是没有转换之前的项目结构 在工具的右边栏找到MavenProject并点开 点击加号,选择当前这个项目的pom.xml文件 然后右下角就有一个进度条在跑,那就表示正在将这个项目变成maven项目并且正在导入依赖jar包这些,当进度条结束之后,maven项目也就构建完成了 maven构建完成,会弹出

  • Intellij IDEA实现springboot热部署过程解析

    对于springboot热部署貌似是这样的,首先要设置idea相关配置 导航栏 File -> Settings -> Build,Execution,Deployment -> Compiler 选择Build project automatically 打勾 如下图所示 接着Ctrl+Shift+Alt+/ 快捷键选择Registry会弹出如下图 在红色选择的一行打勾,就完成了这步骤. 接着开始配置pom.xml文件 <dependencies> <dependen

  • 在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解

    1.添加一个maven 2.选择maven 3.配置好需要debug的父工程 4.配置maven 5.最后就可以打断点debug了 到此这篇关于在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解的文章就介绍到这了,更多相关IDEA 搭建springmvc项目配置debug内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • IntelliJ IDEA(2020.2)的下载、安装步骤详细教程

    本次安装的 IntelliJ IDEA 版本:2020.2 (当前最新版本,2020.07.28发布的202.6397.94版) 官方推荐的安装条件(指当前你手里电脑的配置)如下: 1.64位版本的 wind 10.wind 8:(32位 win 10/8/7/xp 也有对应 32bit 版本,可能64位系统是主流的原因吧) 2.推荐8G的RAM,最小也得是2G的RAM:(RAM也就是电脑上内存条的大小,现在一般都是16G或32G) 3.2.5G的磁盘空间,最好是SSD(固态的):(电脑上预留的

  • IntelliJ IDEA多屏后窗口不显示问题解决方案

    IDEA 在接入外接屏且扩展的情况下,如果突然拔掉外接屏,就可能会产生IDEA 整个窗口只在屏幕的右侧显示一点点边框且无法拖拽到当前屏幕的情况. 在不再次接入外接屏的情况下,想要把IDEA窗口拖拽回当前屏幕,可以找到项目中.idea 文件夹下的workspace.xml 文件 全文搜索ProjectFrameBounds 关键字,修改x和y的值为0或者直接将name="x",name="y"的这两行删除即可,然后重启IDEA即可 因为经常遇到这种情况,所以自己写了个

  • 解决py2exe打包后,总是多显示一个DOS黑色窗口的问题

    setup.py: #!/usr/bin/env python # coding=utf-8 from distutils.core import setup import py2exe setup( description = 'software', version = '0.0.1', console=[{"script": "main.py", "icon_resources": [(1, "icon.ico")]}],

  • Vue项目页面跳转时浏览器窗口上方显示进度条功能

    在vue项目中,为了减少首屏加载的时间,通常会开启路由的懒加载.路由懒加载配合gizp确实能帮助我们大大的加快首屏的加载时间. 然而,路由懒加载会使得我们在第一次打开一个新页面的时候,会有一个加载时间.如果在这个时候我们没有一个提示的话,给人的感觉会是好像我点了页面跳转但是没反应.所以,这个时候我们可以加一个进度条来告知用户. 具体实现,我们使用NProgress这个滚动条效果插件. 1.安装: cnpm install --save nprogress 2.在main.js中引入: impor

  • JS实现先显示大图后自动收起显示小图的广告代码

    本文实例讲述了JS实现先显示大图后自动收起显示小图的广告代码.分享给大家供大家参考.具体如下: 这是一个非常不错的JavaScript图片特效,当最初打开网页的时候,显示的是大图片,就像遮屏广告一样,停留一会后,自动缓慢收起,这时由JS控制更换广告图片,始终显示在网页顶部,在一些大门户网站我们经常见到这种效果,个人感觉挺酷哦! 先来看看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-big-to-small-pic-adv-codes/ 具体代

  • js实现点击链接后窗口缩小并居中的方法

    本文实例讲述了js实现点击链接后窗口缩小并居中的方法.分享给大家供大家参考.具体分析如下: 这是一个简单的JS特效,以前没有见到过,就是当点击页面上指定文字链接的时候,页面窗口缩小,并居中显示,然后在居中的窗口中显示链接内容,但愿这些网页特效能在日后派上用场 复制代码 代码如下: <HTML><HEAD> <TITLE>窗口的缩小居中</TITLE> <META http-equiv=Content-Type content="text/ht

  • Android分屏多窗口的实践代码

    Android N 中推出了多窗口支持,项目要求适配多窗口模式,记录一下. 1.生命周期:对于完全没有适配多窗口的APP来说,当启用多窗口模式或者拖动窗口时,会出现Activity销毁重新加载的现象. 解决方法:在manifest文件里面给activity加上下面一行属性 android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" 2.当启用多窗口模式时,可能有改变原UI的需求,这时可以在

  • jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题

    项目中使用的jquery版本是jquery-3.2.1,在使用layui弹出全屏iframe窗口时,iframe窗口顶部总是出现一个152px高的滚动窗口无法实现真正全屏,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial

  • ajax读取数据后使用jqchart显示图表的方法

    本文实例讲述了ajax读取数据后使用jqchart显示图表的方法.分享给大家供大家参考.具体分析如下: 最近项目中需要显示出图表效果,原来收集到的图表插件终于有用武之地了. 但是和jqchart对比,还是有很多不同之处的. 实现效果: 我就对jqchart进行了重新编写. 首先要解决的是不显示x轴和y轴: //各DIV作成 // 取消标题显示 /* this.titleBox//Title =this.mkBoxElement('T', this.op.titleLeft,this.op.tit

  • php隐藏IP地址后两位显示为星号的方法

    本文实例讲述了php隐藏IP地址后两位显示为星号的方法.分享给大家供大家参考.具体实现方法如下: 我们在很多的公共网站中都会有碰到显示用户的IP时后面几个IP段显示为星号了,这样很好的保护了用户隐私了,感兴趣的朋友可以一起来看看. php正则格式化IP地址,隐藏后一位. 例子 复制代码 代码如下: <?php //隐藏后一位 return preg_replace('/(\d+)\.(\d+)\.(\d+)\.(\d+)/is',"$1.$2.$3.*",$ip);   //隐藏

  • js让弹出新窗口居中显示的脚本

    让新窗口居中显示 = 4 )) { xposition = (screen.width - width) / 2; yposition = (screen.height - height) / 2; } theproperty= "width=" + width + "," + "height=" + height + "," + "location=0," + "menubar=0,"

随机推荐