microsoft / microsoft/vscode-java-debug

Add "run as sudo" to launch.json for VSC Java project

Open
#953 2 comments 1 reaction 1 assignee View on GitHub

@testforstephen is already working on this.

Since Apr 28, 2021.

ai-triaged enhancement feature request launch
Dominant language
TypeScript
Stars
591
Forks
429
Avg merge
1d 9h
Merged PRs (30d)
19

Description

I'm working on the Pi4J project (https://v2.pi4j.com/) to control GPIOs with a Java application. Pi4J uses a native library to communicate with the GPIOs. For some protocols (like I2C) the library needs to be called with "sudo". I know this is a bad idea and should be avoided, and we are looking for an alternative solution, but in the mean-time I found out you can't run or debug a Java application in VSC as sudo.

You could launch VSC itself as sudo, but this gives the following warning, so that's probably even a worse idea ;-)

$ sudo code
You are trying to start Visual Studio Code as a super user which isn't recommended. If this was intended, please specify an alternate user data directory using the `--user-data-dir` argument.
Environment
  • Operating System: Raspberry Pi OS (Linux, Debian)
  • JDK version: OpenJDK 11.0.9.1
  • Visual Studio Code version: 1.53.2
  • Java extension version: Java Extension Pack 0.12.1
  • Java Debugger extension version: 0.31.0
Steps To Reproduce
  1. Create a launch.json file, e.g.
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Launch CrowPiApp",
            "request": "launch",
            "mainClass": "com.pi4j.example/com.pi4j.example.CrowPiApp",
            "projectName": "pi4j-example-crowpi",
            "args": "-a -p"
        }
    ]
}
  1. It should be possible to add extra setting
    "sudo": true
Current Result

sudo setting not available

Expected Result

sudo true/false can be defined

Additional Informations

The example project is https://github.com/Pi4J/pi4j-example-crowpi

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.