Public/Invoke-psEdit.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function Invoke-psEdit {
  [Alias('psEdit')]
  param(
    [Parameter(
        Mandatory,
        ValueFromPipeline,
        ValueFromPipelineByPropertyName
    )]
    [Alias('FullName','FileNames')]
    [ValidateScript({
          if (-not (Test-Path -Path $_)) {
            throw '{1}Something went wrong.{1}Check Path - {0}' -f $_,[environment]::NewLine
          }
          return $true
    })]
    [string[]]$Path
  )
  Begin {
    if (-not ($psISE)) { throw 'PowerShell ISE Only' }
    Write-Verbose -Message ('Starting - {0}' -f $MyInvocation.MyCommand)
  }
  Process {
    foreach ($FileName in $Path) {
      $Resolved = Resolve-Path -Path $FileName
      Write-Verbose -Message ('Opening - {0}' -f $Resolved)
      $null = $psISE.CurrentPowerShellTab.Files.Add($Resolved)
    }
  }
  End {
    Write-Verbose -Message ('Ending - {0}' -f $MyInvocation.Mycommand)
  }
}