Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Setting shortenCommandLine "argfile" should not nest a user-passed argfile inside an argfile

Aberta
#1,403 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
42/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java, typescript, vscode
Domínio
devtools, tooling

Direção de pesquisa

Comece pela configuração de inicialização do Java usando vmArgs, shortenCommandLine e o arquivo myargs criado pelo usuário; em seguida, reproduza a falha com as etapas de Hello World fornecidas. Rastreie como o depurador cria o argfile temporário; a tarefa estará concluída quando o programa for executado sem aninhar o argfile passado pelo usuário.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

ai-triaged bug enhancement

When setting shortenCommandLine to argfile (or setting to auto and then triggering the argfile behavior with a long command), VS Code will always put any vmArgs inside an argfile, even if the only VM arg is another argfile. This breaks run configurations that pass a user-generated argfile that still trigger the automatic CLI shortening behavior such as a very long classpath, since argfiles cannot be nested.

Environment
  • Operating System: Linux
  • JDK version: 17
  • Visual Studio Code version: 1.84.0-insider (60182c7e1a666961ded4d0319c154f52d85daf30)
  • Java extension version: v0.25.15
  • Java Debugger extension version: v0.54.0
Steps To Reproduce
  1. Create a trivial Java project ex. a Hello World main method
  2. Create an argfile myargs
  3. Create launch.json with a corresponding run configuration for the main method. Set shortenCommandLine to argfile to force the argfile behavior (should be equivalent to setting auto and then loading a very long classpath).
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Hello",
            "request": "launch",
            "mainClass": "Hello",
            "vmArgs": "@myargs",
            "shortenCommandLine": "argfile"
        }
    ]
}
  1. Attempt to run the main method - this should fail.

Sample project: test-argfile.tar.gz

Current Result
$  /usr/bin/env /path/to/jdk @/tmp/cp_7ifzraqswz8cni6w2z8m6nw3w.argfile Hello 
Error: Could not find or load main class @myargs
Caused by: java.lang.ClassNotFoundException: @myargs

/tmp/cp_7ifzraqswz8cni6w2z8m6nw3w.argfile contents:

@myargs -XX:+ShowCodeDetailsInExceptionMessages -cp "/home/justinw/.vscode-server-insiders/data/User/workspaceStorage/-2d922411/redhat.java/jdt_ws/test-argfile_31bc6c61/bin"
Expected Result

Program should execute and argfiles should not be nested

Additional Informations
Linguagem predominante
TypeScript
Estrelas
591
Forks
429
Merge médio
1d 1h
PRs com merge (30d)
20

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de microsoft/vscode-java-debug

Todas as issues de microsoft/vscode-java-debug

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.