Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Funnel for remote development #311

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ajhalili2006
Copy link

Add support for remote development in the VSCode Tailscale extension.

  • package.json

    • Add remote to extensionKind to specify the extension's capabilities for remote environments.
  • src/extension.ts

    • Modify the activate function to detect if the extension is running in a remote context by checking the vscode.env.remoteName property and adjust the behavior accordingly.
    • Update commands and UI elements to handle remote-specific scenarios, such as opening terminals and managing SSH configurations.
  • src/config-manager.ts

    • Add support for detecting the remote context and adjusting configurations accordingly in the ConfigManager class.
    • Update the Config interface to include properties specific to remote environments, such as remoteHost, remotePort, and remoteUser.
    • Modify the set and setForHost methods to handle remote-specific configurations and ensure that these methods can set and persist configurations for both local and remote environments.
    • Update the withGlobalStorageUri method to initialize remote-specific configurations if the extension is running in a remote context.
  • src/config-manager.test.ts

    • Create automated tests for the extension using vitest to cover different remote environments such as SSH, Dev Containers, and GitHub Codespaces.
  • .github/workflows/test.yml

    • Integrate the testing of remote environments into the existing continuous integration (CI) pipeline.
    • Add steps to the CI pipeline to set up and test the extension in SSH, Dev Containers, and GitHub Codespaces.

Add support for remote development in the VSCode Tailscale extension.

* **package.json**
  - Add `remote` to `extensionKind` to specify the extension's capabilities for remote environments.

* **src/extension.ts**
  - Modify the `activate` function to detect if the extension is running in a remote context by checking the `vscode.env.remoteName` property and adjust the behavior accordingly.
  - Update commands and UI elements to handle remote-specific scenarios, such as opening terminals and managing SSH configurations.

* **src/config-manager.ts**
  - Add support for detecting the remote context and adjusting configurations accordingly in the `ConfigManager` class.
  - Update the `Config` interface to include properties specific to remote environments, such as `remoteHost`, `remotePort`, and `remoteUser`.
  - Modify the `set` and `setForHost` methods to handle remote-specific configurations and ensure that these methods can set and persist configurations for both local and remote environments.
  - Update the `withGlobalStorageUri` method to initialize remote-specific configurations if the extension is running in a remote context.

* **src/config-manager.test.ts**
  - Create automated tests for the extension using `vitest` to cover different remote environments such as SSH, Dev Containers, and GitHub Codespaces.

* **.github/workflows/test.yml**
  - Integrate the testing of remote environments into the existing continuous integration (CI) pipeline.
  - Add steps to the CI pipeline to set up and test the extension in SSH, Dev Containers, and GitHub Codespaces.
@ajhalili2006 ajhalili2006 marked this pull request as draft December 29, 2024 18:09
@ajhalili2006
Copy link
Author

ajhalili2006 commented Dec 29, 2024

Didn't intend to create this merge request from Copilot Workspace pending manual human testing. Here's the link to the snapshot if needed.

I might close this issue instead if I think that didn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant