Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Enhancement: Text Editor Drop API support for .ps1/.psm1 files #3958

Open
Labels
Area-UI Feature: VS CodeRequest to use or implement a VS Code feature. Issue-EnhancementA feature request (enhancement). Up for GrabsWill shepherd PRs.
@JustinGrote

Description

Prerequisites

  • I have written a descriptive issue title.
  • I have searched all issues to ensure it has not already been reported.

Summary

Just dropping this here for posterity/discussion. The new vscode release has a proposed API that allows you to drag and drop files into the editor window that will end up stable most likely in the next release.
https://code.visualstudio.com/updates/v1_67#_drop-into-editor

Proposed Design

I think our implementation should translate this into a dot-source, so you can drag a .ps1 file and get a relative path mapping from your current editor. If the editor is unsaved, it will be an absolute path reference instead.

The relative should be built using $PSScriptRoot, so $PSScriptRoot/../mydraggedfile.ps1. Maybe have a preference to toggle this behavior over just normal relative pathing.

Files with a .psd1 or .psm1 prefix would have Import-Module prepended.

Files with a .dll prefix would have Add-Type -path prepended. A binary module should have its .psd1 dropped instead if the intention is to have it via import-module, it's considered bad form to import-module a .dll directly except for testing purposes.

Any other file type would simply drop in as a string reference.

Perhaps have an extensible setting for more file types with a simple templating substitution? For instance a setting like this:

{
 "extension": ".xlsx",
 "template": "Import-Excel -Path ${filename}"
}

Multiple files dropped would result in individual lines generated for each.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-UI Feature: VS CodeRequest to use or implement a VS Code feature. Issue-EnhancementA feature request (enhancement). Up for GrabsWill shepherd PRs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /