vscode 运行 java 项目之解决“Build failed, do you want to continue”的问题

Visual Studio Code运行 java 起来似乎比 IDEA 更轻量、比 eclipse 更友好,是不可多得的现代编译法宝。

安装好官方推荐的 java 扩展包后,就可以运行 java 代码了。功能 比 code runner 强,支持 gradle、maven、普通java项目,运行起来和真正的ide差不多,可以调试。需要整个项目编译起来,然后运行。

与 eclipse 一样,支持部分代码出错的情况下运行其余完好的代码,于是就可以像脚本一样使用java了。奈丝!

美中不足的是,如果部分代码有问题,就会弹窗,而不是直接运行:
在这里插入图片描述
需要手动点“proceed”才运行。

如何绕过呢?

很简单。

因为vscode界面基于electron,而electron本质上就是chrome浏览器,而浏览器的界面外观都是可以更改的 —— 通过自定义用户脚本、用户样式的形式。

安装 custom css 插件,然后(通过vscode的命令面板)打开设置 json,注入用户脚本文件:

settings.json

在这里插入图片描述

编辑用户脚本:

custom.js


function gc(e,n){return (n||d).getElementsByClassName(e)[0]};
// Create an observer instance
var observerNewDom = new MutationObserver(function(mutations) {mutations.forEach(function(mutation) {if (mutation.type === 'childList') {// toast(mutation.target.tagName + " " + mutation.target.className)console.log('New element added:', mutation.target);var msg = gc("notification-list-item-message", mutation.target)var btn =  gc("monaco-button monaco-text-button", mutation.target)console.log('  :', btn, msg);if(btn && btn.innerText=='Proceed' && msg.innerText.includes("Build failed")) {btn.click()}}});
});var notimer  = setInterval(()=>{// Configuration of the observerNewDom:var target = gc("notifications-toasts");if(target) {clearInterval(notimer)// toast(target)observerNewDom.observe(target, { childList: true });}
}, 5000);

这段代码也很简单,就是用了 MutationObserver ,来监听右下角的通知弹窗,然后自动点击“proceed”按钮。

保存后命令面板重载自定义css/js即可。使用这个插件时,建议手动备份 workbench.html(具体路径用everything搜索),不然损坏了的话,vscode一片空白。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[云原生] Prometheus之部署 Alertmanager 发送告警

一、Alertmanager 发送告警的介绍 Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。 Alertmanager 负责处理由 Prometheus Serve…

力扣L12--- 125验证回文串(java版)-2024年3月15日

1.题目 2.知识点 注1:在 Java 中,toString() 方法用于将对象转换为字符串表示形式。对于数组对象,toString() 方法将返回数组的字符串表示形式,其中包含数组中每个元素的字符串表示形式,以逗号分隔,并且包…

Python基础入门 --- 1-2.字面量

文章目录 Python基础入门第一章:1.1 第一个python程序 第二章 :2.1 字面量2.2 常用的值类型2.3 字符串2.3.1 三种定义方式2.3.2 引号嵌套2.3.3 字符串拼接2.3.4 字符串格式化2.3.5 格式化的精度控制数字精度控制: 2.3.6 字符串格式化方式22.3…

CentOS7 部署 k8s

准备两台虚拟机192.168.152.129192.168.152.130更改主机名192.168.152.129:hostnamectl set-hostname k8s-masterhostnamectl192.168.152.130:hostnamectl set-hostname k8s-node1hostnamectl master节点配置 1.配置hosts 在两台节点上执行vim /etc/h…

金蝶云星空,怎么做BI数据可视化分析?

金蝶云星空是一个流程管理方面的软件,如果想要做BI数据可视化分析,还就需要一套BI方案,即一套奥威BI软件金蝶云星空BI方案。 奥威BI软件,负责提供平台和技术;金蝶云星空BI方案,则提供标准化的数据分析模型…

C++(1): std::vector的使用

1. 简述 vector是C编程中使用频率较高的一种顺序容器。实际上是一个可以动态扩展内存的数组。 2. 容器特性 (1)顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。 (2)动态数组 …

「HarmonyOS」下拉刷新组件使用详情

前言:在客户端开发过程中,经常会出现下拉刷新的功能,用于重新加载数据和加载更多数据,通过查找相关资料,查找到一个refresh下拉刷新的第三方库,今天主要介绍一下其中比较常用的RefreshLayout形式下拉刷新使…

【设计模式】Java 设计模式之代理模式(Proxy Pattern)

代理模式深入分析 一、概述 代理模式是一种为其他对象提供一种代理以控制对这个对象的访问的设计模式。在某些情况下,一个对象不适合或者不能直接访问另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式的主要目的是&#xf…

【gpt实践】50个提升工作效率的GPT指令

收集整理了50个工作不同场景中可能会用到的gpt指令,希望对大家有帮助。 1. 用「532规则」定制月度宣传规划 提示:“对于我的 [产品/服务] 在 [社交媒体平台上 ]定位 [我的目标受众]”,使用 5-3-2 规则制定 1 个月的社交媒体内容计划。” Pro…

关于I2C(Inter-Integrated Circuit)死锁及解决措施

I2C(Inter-Integrated Circuit)死锁是指两个或多个设备(比如主设备和从设备)在通信过程中,由于某种原因互相等待,导致无法正常进行通信的现象。这种死锁状态可能会导致整个系统的通信受阻,影响设…

K8S日志收集方案-EFK部署

EFK架构工作流程 部署说明 ECK (Elastic Cloud on Kubernetes):2.7 Kubernetes:1.23.0 文件准备 crds.yaml 下载地址:https://download.elastic.co/downloads/eck/2.7.0/crds.yaml operator.yaml 下载地址:https://download.e…

性能出众的一区新算法|星鸦优化算法NOA原理及代码实现(Matlab)

文章来源于我的个人公众号:KAU的云实验台,主要更新智能优化算法的原理、应用、改进 CEC2005中的测试 本文KAU将介绍一个2023年发表在1区期刊KBS上的优化算法——星鸦优化算法(Nutcracker Optimization Algorithm,NOA)[1] 该算法由Mohamed …

一直被模仿,从未被超越

德国威步以及卓越的创新能力,成为业内不断被模仿的对象。德国威步自1989年创立35年以来,一直坚定地在软件保护及授权管理领域努力耕耘并不断创新和改进,拥抱互联网及软件开发技术的革新,完美融入并发展,虽然被其他竞争…

Github 2024-03-15 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3Python项目3非开发语言项目2PHP项目1C#项目1Rust项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476…

通过Rothko罗斯科绘画学习CSS盒子

本文章属于学习笔记,在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习 1、使用 padding 简写属性来增加两个元素之间的空间到。 .canvas {} .frame { padding:50px; }2、overflow 设置为 hidden - 将画布更改回其原始尺寸。overfl…

第十四届“中关村青联杯”全国研究生数学建模竞赛-A题:无人机在抢险救灾中的优化运用(续)

目录 6 问题三模型建立与求解 6.1 问题描述与分析 6.2 模型建立 6.3 模型求解

Discourse 分类图片

我们可以在 Discourse 上为分类添加图片。 进入分类编辑界面,然后选择 Image 标签。 在 Images 标签下,上传分类需要的图片。 图片大小 图片的大小是 Discourse 进行控制的,高度为 150 PX 像素。 如果上传的图片大于 150 px 的高度像素&…

C++ 虚函数与多态

定义宠物类 Pet ,包含虚函数 speak ,显示 " miao ! miao !"和" wang ! wang !"。 信息" How does a pet speak ?"; 主团数中定义 Pet 、 Cat 和 Dog 的对象,再定义 Pet 指针量 ,分别指向 Pet Cat…

人工智能在未来的优势

人工智能(Artificial Intelligence,AI)是一种模拟人类智能的技术,已经在现代科技中得到广泛应用,并且具有广阔的发展前景12。以下是人工智能在现代科技中的应用和未来发展趋势的介绍: 综上所述,…

零基础入门多媒体音频(2)-音频焦点2

说实话,android的代码是越来越难以阅读。业务函数里面狗皮膏药似的补丁与日俱增。继上篇简要介绍音频焦点的文章,这篇文章的主要内容是分析audiofocus的实现。看了一下午的相关代码都没找到做audiofocus策略的核心逻辑。目前能看懂的大概包含下面两个逻辑…