Vscode-rust: RLS não oferece suporte a vários projetos em uma pasta

Criado em 18 dez. 2018  ·  4Comentários  ·  Fonte: rust-lang/vscode-rust

Se você abrir uma pasta que contém vários projetos de ferrugem (exemplo abaixo), você obterá o seguinte erro.

Um arquivo Cargo.toml deve estar na raiz do espaço de trabalho para oferecer suporte a todos os recursos

Esse erro faz sentido, mas seria bom oferecer suporte a todos os projetos em uma pasta raiz em vez de abrir várias janelas (uma por projeto).

Workspace
    project 1
        cargo.toml
    project 2
        cargo.toml

Comentários muito úteis

Olá, meu caso de uso é um pouco diferente.

Como posso ter vários projetos não dependentes que geram binários diferentes não relacionados em um mesmo repositório?

Estou planejando manter todos os meus programas de ferrugem em um único repo para consistência e brevidade. Ainda sou um iniciante e preferiria todos eles em um só lugar.

O problema que estou enfrentando é que, quando carrego o diretório do projeto no VS Code, não consigo construir projetos dentro de um diretório. Por exemplo, tenho um projeto em / book / guessing_game com Cargo.toml no diretório guessing_game.

Eu quero que a extensão rust construa e execute o projeto como está. No entanto, isso não acontece. E, em vez disso, reclama da falta do arquivo cargo.toml no diretório raiz.

Como posso conseguir isso?

Todos 4 comentários

Você precisa usar espaços de trabalho de carga para isso:
https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html

Obrigado, esta é a solução

Olá, meu caso de uso é um pouco diferente.

Como posso ter vários projetos não dependentes que geram binários diferentes não relacionados em um mesmo repositório?

Estou planejando manter todos os meus programas de ferrugem em um único repo para consistência e brevidade. Ainda sou um iniciante e preferiria todos eles em um só lugar.

O problema que estou enfrentando é que, quando carrego o diretório do projeto no VS Code, não consigo construir projetos dentro de um diretório. Por exemplo, tenho um projeto em / book / guessing_game com Cargo.toml no diretório guessing_game.

Eu quero que a extensão rust construa e execute o projeto como está. No entanto, isso não acontece. E, em vez disso, reclama da falta do arquivo cargo.toml no diretório raiz.

Como posso conseguir isso?

Este é o mesmo problema que tive. Você precisa criar um novo Cargo.toml no diretório raiz e apontá-lo para esses projetos. Procure no link fornecido pelo LaylConway.

Se você estiver usando o git, também precisará fazer um novo .gitignore na raiz. Use os arquivos .gitignore gerados pelo cargo new como referência para as regras que você precisará.

Esta página foi útil?
0 / 5 - 0 avaliações