2016-12-06 85 views
0

我對Visual Studio Code使用Powershell extension。我更新了配置文件:Visual Studio代碼Powershell擴展無法在調試時識別配置文件

C:\用戶\ XXXXXXXX \文檔\ WindowsPowerShell \ Microsoft.VSCode_profile.ps1

包括一些函數和變量,我想提供給其他腳本。當我從另一個腳本中的配置文件引用變量,它不會出現在配置文件已加載。我懷疑這是因爲該變量的值是空白的,當我從VS代碼控制檯查詢。如果我從帶有相關的配置文件中的標準PowerShell控制檯相同的測試,該變量的值解決。

任何人都可以告訴我什麼,如果有什麼,我需要做的是在調試時使用VS代碼中的Powershell配置文件?

回答

0

在調試會話中運行:$profile。這將返回當前使用的配置文件的路徑,以便您可以在此進行更改。

另外,您可以更改系統寬斷面中C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1

+0

正如我指出,我提出在適當的曲線變化。我寧願不更改系統寬度配置文件。 – rrirower

+0

如果'$ profile'返回路徑'C:\ Users \ xxxxxxxx \ Documents \ WindowsPowerShell \ Microsoft.VSCode_profile.ps1',然後用VS Code團隊提出一個錯誤:) – Raf

1

有多個配置文件。其出發點是,你可以通過閱讀PowerShell中的內置$profile變量的下列屬性找到四個位置。

$profile.CurrentUserAllHosts 
$profile.CurrentUserCurrentHost 
$profile.AllUsersCurrentHost 
$profile.AllUsersAllHosts 

正如this article by The Scripting Guy指出,由於Windows既有PowerShell和PowerShell的ISE,您有當前主機的至少兩個可能的值,所以至少6個配置文件。

一旦你得到了那麼遠,還有另一種可能的併發症,這是該AllUsers輪廓是倒在C:\Windows\System32,因此在64位系統上,也反映在C:\Windows\SysWOW64\。所以,這取決於你使用的是32位或64位編輯器,PowerShell的是否在32位或64位進程承載的,它很可能是你正在編輯的文件對PowerShell的沒有影響。

1

隨着VS Code PowerShell擴展的released version 0.10.0正在調試,以前加載的profile.ps1可用。請注意交互式控制檯和調試器共享相同的PS會話。