redhat-developer / redhat-developer/vscode-java

Set environment variables for language server

オープン
#2,348 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement preferences
主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

As far as I understand this extension launches the process for the language server backend. It could be beneficial to be able to configure the environment variables used when executing the language server, in a similar fashion as in the 'Maven for Java' extension here: https://github.com/Microsoft/vscode-maven/#additional-configurations

My use case is the following:

I am using VS Code with Remote SSH, and trying to work on a Maven based Java project. Currently I am configuring the java.configuration.maven.userSettings setting to point to a project specific Maven settings file. This settings file makes use of an environment variable, which is not set by default on the remote machine shell as it changes from project to project. Therefore the extension imports and tries to build this Maven project, the user settings is used correctly, but the environment variable is not defined.

(Sorry if this suggestion is incorrect, as I am a new user of the extension)

Environment
  • Operating System: Linux
  • JDK version: 11
  • Visual Studio Code version: 1.65.0
  • Java extension version: 1.4.0
Steps To Reproduce
  1. Use VS Code Remote SSH on a machine that does NOT have the environment variable MY_REPO defined by default.
  2. Create Maven settings file with: <localRepository>${MY_REPO}/repo</localRepository>
  3. Set java.configuration.maven.userSettings to point to the created Maven settings file
  4. Create Maven Java project and let the extension import and build the project

A local folder called "${MY_REPO}" will be created, as the environment variable is not defined.

Current Result

Environment variable used in Maven settings file cannot be configured.

Expected Result

Environment variable used in Maven settings file can be configured.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

ソースファイルやテストは指定されていません。まず、extension がどのように language-server backend を起動し、java.configuration.maven.userSettings がどのように Maven に到達するかを追跡します。Remote SSH と MY_REPO を使って再現し、設定された環境変数がプロジェクトのインポートとビルド中に利用可能な状態で作業します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript
領域
tooling
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。