在 Visual Studio Code IDE 和 OS X 中调试/运行标准 java?

Posted

技术标签:

【中文标题】在 Visual Studio Code IDE 和 OS X 中调试/运行标准 java?【英文标题】:Debug/run standard java in Visual Studio Code IDE and OS X? 【发布时间】:2017-01-27 16:38:32 【问题描述】:

喜欢 OS X 中的轻量级 Visual Studio Code。一直希望能够在 OS X 中从 VSC 编写、调试和运行标准 java(不是 javascript)。找到了以下扩展,它允许您调试和运行 java来自 VSC:

https://marketplace.visualstudio.com/items?itemName=donjayamanne.javadebugger

尽我所能遵循指示。尝试运行我的 java 应用程序,当我从 OS X 在 VSC 中运行我的 java 应用程序时,我在调试控制台窗口中收到一堆“错误:找不到符号”错误。应用程序在 Eclipse 中运行良好。我在 VSC 或 OS X 的某个地方缺少什么,以便我可以在 OS X 中从 VSC 正确运行 java 代码?

【问题讨论】:

【参考方案1】:

有一种更简单的方式来运行 Java,无需配置:

    安装Code Runner Extension 在文本编辑器中打开您的 Java 代码文件,然后使用快捷方式 Ctrl+Alt+N,或按 F1,然后选择/键入 Run Code,或右键单击文本编辑器,然后单击上下文菜单中的 Run Code,代码将被编译并运行,输出将显示在输出窗口中。

【讨论】:

这似乎只适用于没有从类路径导入任何内容的单个代码文件。 这不允许您通过控制台提供输入 @AdityaVikasDevarapalli,请使用此设置"code-runner.runInTerminal": true支持输入。 @JunHan 在哪里写这个设置? @Lokesh 添加设置请参考code.visualstudio.com/docs/getstarted/…【参考方案2】:

Code Runner Extension 只会让你“运行”java 文件。

要真正调试“Java”文件,请遵循快速的一次性设置:

在 VS Code 中安装 Java Debugger Extension 并重新加载。 在 VS 代码中打开一个空文件夹/项目。 创建您的 java 文件。 在同一文件夹中创建一个文件夹.vscode。 在.vscode文件夹内创建2个文件:tasks.jsonlaunch.json 复制粘贴到tasks.json下面的配置:

    "version": "2.0.0",
    "type": "shell",
    "presentation": 
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared"
    ,
    "isBackground": true,
    "tasks": [
        
            "taskName": "build",
            "args": ["-g", "$file"],
            "command": "javac"
        
    ]

复制粘贴到launch.json下面的配置:

    "version": "0.2.0",
    "configurations": [
        
            "name": "Debug Java",
            "type": "java",
            "request": "launch",
            "externalConsole": true,                //user input dosen't work if set it to false :(
            "stopOnEntry": true,
            "preLaunchTask": "build",                 // Runs the task created above before running this configuration
            "jdkPath": "$env:JAVA_HOME/bin",        // You need to set JAVA_HOME enviroment variable
            "cwd": "$workspaceRoot",
            "startupClass": "$workspaceRoot$file",
            "sourcePath": ["$workspaceRoot"],   // Indicates where your source (.java) files are
            "classpath": ["$workspaceRoot"],    // Indicates the location of your .class files
            "options": [],                             // Additional options to pass to the java executable
            "args": []                                // Command line arguments to pass to the startup class
        

    ],
    "compounds": []

您已准备好调试 java 文件,打开任何 java 文件并按 F5(调试->开始调试)。


提示: *若要在 VS 代码侧边浏览器中隐藏 .class 文件,请打开 VS 代码的settings 并粘贴以下配置:

"files.exclude": 
        "*.class": true
    

【讨论】:

Java 调试器已弃用。所以现在我们将不得不使用 Debugger for Java 扩展。而且那个不支持在没有项目的情况下调试源代码。 github.com/Microsoft/vscode-java-debug/issues/89 请告诉如何在launch.json中使用多个参数?我只能使用单个 arg,但是当我使用 "args": ["bla","bla"] 时,它会继续构建并在 vscode 中出现问题 VS Code 现在自动生成当前目录下的 .vscode/launch.json 文件。我正在使用 VS Code 版本 1.32.1。【参考方案3】:

我可以告诉你 Windows。

    从 VS Code Extensions 安装 Java Extension Pack 和 Code Runner Extension。

    在 VS Code 设置中编辑您的 java home 位置,“java.home”:"C:\\Program Files\\Java\\jdk-9.0.4"

    检查 javac 是否在 VS Code 内部终端中被识别。如果此检查失败,请尝试以管理员身份打开 VS Code。

    在 Main.java 文件中创建一个简单的 Java 程序:

public class Main 
    public static void main(String[] args) 
        System.out.println("Hello world");     
    

注意:不要在主类中添加包。

    右键单击java文件的任意位置并选择运行代码。

    检查控制台中的输出。

完成,希望对您有所帮助。

【讨论】:

感谢“无包装”提示,我不知道你不能这样做 正如@Ashwin 所指出的,现在可以调试独立文件。更好的是,VS Code 会自动在当前目录下生成 .vscode/launch.json 文件。我正在使用 VS Code 版本 1.32.1。 #3 - 在管理员模式下启动可以帮助我解决调试器无法启动并显示错误消息“端口应该 > 0 或 【参考方案4】:

在扩展选项卡中,有微软为 Visual Studio Code 发布的 Java 扩展包。它为 Java 开发安装了 6 个扩展(语言支持、调试器、IntelliCode 等)。我第一次使用它,发现它很容易安装。

【讨论】:

以上是关于在 Visual Studio Code IDE 和 OS X 中调试/运行标准 java?的主要内容,如果未能解决你的问题,请参考以下文章

PYPL 7 月 IDE 指数榜:Visual Studio Code 击败 Xcode

PYPL 1 月 IDE 榜单:Visual Studio Code 猛追 IntelliJ

如何评价Visual Studio Code

在 Visual Studio Code IDE 和 OS X 中调试/运行标准 java?

更新依赖项后,如何让 Visual Studio Code IDE 更新类型?

PYPL 2019年1 月 IDE 榜单:Visual Studio Code 猛追 IntelliJ