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

news/2024/7/16 7:18:42 标签: vscode, java, ide

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

java">
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.niftyadmin.cn/n/5431283.html

相关文章

docker命令查询笔记

目录 loginsearchpushpullimagesrmitaghistorysaveloadrunstartrestartstopkillrmpauseunpausecreateexecpsinspectstatstoprenameattachupdatelogswaitportexportimport login login:登录到远程仓库 登录到远程仓库后可可以拉取仓库的镜像了 docker login [OPTIO…

Horspool 算法介绍

1.1 Horspool 算法介绍 Horspool 算法:是一种在字符串中查找子串的算法,它是由 Nigel Horspool 教授于 1980 年出版的,是首个对 Boyer Moore 算法进行简化的算法。 Horspool 算法思想:对于给定文本串 T 与模式串 p,先对…

安卓Java面试题 181- 190

181. 简述Android中的MVC模式与MVP模式 ?MVC:Model(模型层)、View(视图层)、Control(控制层) View层一般通过XML进行界面的描述 Control层主要是由Activity实现的,因此我们应该尽量少的在Activity中进行业务代码的编写,而应该通过Activity交割给 Model业务逻辑层来进行处理…

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.10-2024.03.15

文章目录~ 1.Large Language Models and Causal Inference in Collaboration: A Comprehensive Survey2.VisionGPT-3D: A Generalized Multimodal Agent for Enhanced 3D Vision Understanding3.MT-PATCHER: Selective and Extendable Knowledge Distillation from Large Langu…

从0开始启动一个Django的docker服务

本文是从0开始启动一个Django的docker服务,包括构建镜像,uwsgi启动服务 在服务器上安装ssh,git,生成公钥并复制到服务器上 # 安装ssh yum install openssh-clients # 生成sshkey ssh-keygen # 查看公钥 cat /root/.ssh/id_rsa.pubclone一下…

第四百零三回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了自定义缓冲组件相关的内容,本章回中将介绍一个和它类似的组件:下拉刷新组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回介绍的下拉刷新组件叫RefreshIndicator&a…

相机学习的知识积累

六个问题理解ISP全流程_哔哩哔哩_bilibili ISP (Image Signal Processing) - NPTEL公开课_哔哩哔哩_bilibili ISP Pipline_isp pipeline-CSDN博客 摄像头camera基础知识_哔哩哔哩_bilibili ISP Pipline_isp pipeline-CSDN博客 10分钟理解相机ISP(图像信号处理&…

Prometheus告警实战(1)

环境介绍 操作系统ip地址主机名应用CentOS 7.4192.168.244.150grafanagrafanaCentOS 7.4192.168.244.149prometheusprometheus,alertmanagerCentOS 7.4192.168.244.145node1node_exporter Prometheus部署 [rootprometheus ~]#wget https://github.com/prometheus/prometheus…