Powershell Core 6をデフォルトのシェルとして使用し、ショートカットWindows+Xを使用します。

Powershell Core 6をデフォルトのシェルとして使用し、ショートカットWindows+Xを使用します。

私は見たこの質問これはまったく同じではありません。Powershell Core 6 をインストールしています。通常、ショートカットWindows+ X、で Powershell を開き、次に をI使用します。このショートカットで、古い Powershell 5 ではなく、Powershell Core 6 を開きたいと思っています。これは可能ですか?

答え1

または、新しい Windows ターミナルを使用して、選択したものを追加することもできます。

Windows ターミナル (プレビュー)

Windows ターミナルは、コマンド プロンプト、PowerShell、WSL などのコマンド ライン ツールやシェルのユーザー向けの、新しくてモダンで高速、効率的、強力、生産性の高いターミナル アプリケーションです。主な機能には、複数のタブ、Unicode および UTF-8 文字のサポート、GPU アクセラレーション テキスト レンダリング エンジン、カスタム テーマ、スタイル、構成などがあります。

これはオープンソースプロジェクトであり、コミュニティの参加を歓迎します。参加するには、ターミナル

これまでのコメントに基づいて更新します。

ネイティブでは、あなたが求めているものを実現することはできません。これを変更するには、レジストリをハックする必要があります。

しかし、タスクバーの最初の位置に pwsh ショートカットをピン留めし、タスクバーで Win キー + 1 (または 9 の位置まで配置した場所) を押すだけで済むのに、なぜそのような手間をかけるのでしょうか。

たとえば、私のタスクバーでは、Windows Terminal、pwsh、powershell、powershell_ISE、VSCode、PowerShellStudio が 1、2、3、4、5、6 の位置に表示されています。

ここに画像の説明を入力してください

つまり、Win+# を押すと、アプリが起動します。レジストリ ハッキングは必要なく、キーストロークは 3 回ではなく 2 回です。Windows Terminal と pswh がインストールされている場合は、Windows Terminal のオプションとして pwsh が含まれているため、これを削除することもできます。 ここに画像の説明を入力してください

答え2

Win+X メニューを編集できるこのツールを使用します: https://winaero.com/download-winx-menu-editor-allows-you-to-add-or-remove-winx-menu-items

スクリーンショット

ここにはいくつかのグループがあります。プログラムの追加ボタンを使用して、任意のグループに追加します。次に、エクスプローラーを再起動を押します (注: これにより、すべてのファイル エクスプローラー ウィンドウが閉じます)。

答え3

@vssherの提案の別の選択肢としては、コンエミュまたはマイクロソフトターミナル
デフォルトのターミナルとして設定するには:


Pwsh.exeConEmu で起動するホットキーを設定するには:

  1. 設定起動するタスク:定義済みタスク (コマンド グループ)
  2. +アイコンを使用するか、ConEmuのデフォルトの[ Shells::PowerShell Core] を使用します
    1. 名前 (番組Group <#>: Powershell::Pwsh
    2. ホットキー:好きなものを選択してください
    3. 新しいコンソールのデフォルトタスク:ConEmuを開くたびにデフォルトのシェル
    4. タスクバーのジャンプ リスト:このタスクをConEmuタスクバーのジャンプリストに追加します
    5. デフォルトシェル(Win+X):
      • ウィンドウズ10:Winこれを+Xメニューのデフォルトにします
      • Windows 11の場合:Win+Xメニューには影響しません
        • Win+メニューは Win <11 でも手動で変更できますがX、11 では破損が発生します (破損しない方法をご存知の方がいらっしゃいましたら、コメントしていただければ修正します)
    6. タスクパラメータ:何も必要ありませんが、カスタマイズできます
    7. コマンド:
      pwsh.exe -NoExit -Command "Import-Module C:\Users\<username>\WindowsPowerShell\profile.ps1" -new_console:t:"Pwsh"
      
      • 管理者端末として起動するには、a:の前に以下を追加しますt::-new_console:a:t:"Pwsh"
      • -Import-Moduleオプションですが、次のプロンプトをカスタマイズできますprofile.ps1
        #
        
        # ===========================================================
                ##::[[--- Powershell PS1 Profile ---]]::##
        # ===========================================================
        
          # Microsoft.PowerShell_profile.ps1 || Profile.ps1:
            # %UserProfile%\Documents\WindowsPowerShell
            # $env:UserProfile\Documents\WindowsPowerShell
        
        # ================================================================
        
            # Variables
        #----------------------------------------------------------------
        # ANSI:
          $ESC                              = [char]27
        
        # Host.PrivateData:
          $PD                               = $($Host.PrivateData)
        
        # Colors: 
          $Host.UI.RawUI.BackgroundColor    = ($bckgrnd = 'Black')
          $Host.UI.RawUI.ForegroundColor    = 'Gray'
        
          $PD.ErrorForegroundColor          = 'Red'
          $PD.ErrorBackgroundColor          = $bckgrnd
        
          $PD.WarningForegroundColor        = 'Magenta'
          $PD.WarningBackgroundColor        = $bckgrnd
        
          $PD.DebugForegroundColor          = 'Yellow'
          $PD.DebugBackgroundColor          = $bckgrnd
        
          $PD.VerboseForegroundColor        = 'Green'
          $PD.VerboseBackgroundColor        = $bckgrnd
        
          $PD.ProgressForegroundColor       = 'Yellow'
          $PD.ProgressBackgroundColor       = $bckgrnd
        
        #================================================================
        
            # Functions
        #----------------------------------------------------------------
        
        # Prompt:
          Function set-prompt {
            Param (
              [Parameter(Position=0)]
              [ValidateSet("Default","Test")]
              $Action
            )
        
            switch ($Action) {
              "Default" {
                Function global:prompt {
                  if (test-path variable:/PSDebugContext) { '[DBG]: ' }
                    write-host " "
                    write-host ("$ESC[48;2;40;40;40m$ESC[38;2;170;210;0m$(Get-Location) $ESC[0m $ESC[0m")
        
                  if ( $host.UI.RawUI.WindowTitle -match "Administrator" ) {
                    $Host.UI.RawUI.ForegroundColor = 'Red'
                    $(if ($nestedpromptlevel -ge 1) {
                      write-host ('PS $$ ') -ForegroundColor Red -NoNewLine
                    } else {
                      write-host ('PS $ ') -ForegroundColor Red -NoNewLine
                    })
                  } else {
                    $(if ($nestedpromptlevel -ge 1) {
                      write-host ('PS $$ ') -ForegroundColor Blue -NoNewLine
                    } else {
                      write-host ('PS $ ') -ForegroundColor Blue -NoNewLine
                    })
                  }
        
                  return " "
                }
              }
            }
          }
        
          set-prompt Default
        
        # Relaunch as Admin:
          function Relaunch-Admin { Start-Process -Verb RunAs wt }
          Set-Alias psa Relaunch-Admin
        
  3. Save settings


インポートするにはConEmu.xml私が使用する設定:

  1. GitHub ダウンロードボタン:生のファイルをダウンロード→ テキストエディタで開く
  2. 検索/<username>置換%UserProfile% フォルダ名→ 変更を保存
  3. ConEmu設定経由でインポート: WinKey+ Alt+ PImport...Save settings

答え4

これは私が現在使用している回避策です。

PowerShellの を使用する場合は、スクリプトの先頭に$PROFILE行を挿入できます。PowerShellを起動するためのWindowsのショートカットは、効果的にフックされます。pwsh.exeパワーシェル6間接的に子プロセスとしてPowerShell 5

関連情報