This will start a new session, reloading your profile, in the same console window:
Invoke-Command { & "powershell.exe" } -NoNewScope # PowerShell 5
Invoke-Command { & "pwsh.exe" } -NoNewScope # PowerShell 7
Or a longer but more robust command, the following should work correctly across versions:
Get-Process -Id $PID | Select-Object -ExpandProperty Path | ForEach-Object { Invoke-Command { & "$_" } -NoNewScope }
You will, of course, lose all your variables etc. from the previous session.
Note: creating new sessions in the same window like this will leave the parent process running in the background. Generally, this is not a problem as the parent (and any other ancestors) will terminate when the window is closed. If this is a concern, however, you may want to add something like the following to your profile:
$p = Get-Process -Id $PID
If ($p.Parent.Name -eq $p.Name -and !($p.MainWindowTitle))
{
Stop-Process -Id $p.Parent.Id -Force
}