Mencuri secara bebas dari sini: http://allen-mack.blogspot.com/2008/03/replace-visual-studio-command-prompt.html , saya bisa membuatnya bekerja. Saya menambahkan yang berikut ini ke profile.ps1 saya dan semuanya baik-baik saja dengan dunia.
pushd 'c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC'
cmd /c "vcvarsall.bat&set" |
foreach {
if ($_ -match "=") {
$v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
}
}
popd
write-host "`nVisual Studio 2010 Command Prompt variables set." -ForegroundColor Yellow
Ini telah bekerja dengan baik selama bertahun-tahun - hingga Visual Studio 2015. vcvarsall.bat tidak ada lagi. Sebagai gantinya, Anda dapat menggunakan file vsvars32.bat, yang terletak di folder Common7 \ Tools.
pushd 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools'
cmd /c "vsvars32.bat&set" |
foreach {
if ($_ -match "=") {
$v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
}
}
popd
write-host "`nVisual Studio 2015 Command Prompt variables set." -ForegroundColor Yellow
Hal-hal telah berubah lagi untuk Visual Studio 2017. vsvars32.bat
tampaknya telah dibatalkan VsDevCmd.bat
. Jalur persisnya mungkin berbeda-beda bergantung pada edisi Visual Studio 2017 yang Anda gunakan.
pushd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools"
cmd /c "VsDevCmd.bat&set" |
foreach {
if ($_ -match "=") {
$v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
}
}
popd
Write-Host "`nVisual Studio 2017 Command Prompt variables set." -ForegroundColor Yellow
echo $Profile
untuk melihat jalur yang dimaksudkan untuk profile.ps1 Anda, jika Anda belum pernah membuatnyaOpsi paling sederhana adalah menjalankan command prompt VS 2010 dan kemudian menjalankan PowerShell.exe. Jika Anda benar-benar ingin melakukan ini dari prompt PowerShell "rumah", pendekatan yang Anda tunjukkan adalah cara yang tepat. Saya menggunakan skrip yang ditulis Lee Holmes beberapa waktu lalu:
Catatan: fungsi ini akan tersedia dalam rilis berbasis modul PowerShell Community Extensions 2.0 segera.
sumber
Saya menemukan metode sederhana di sini : ubah pintasan.
Pintasan aslinya adalah seperti ini:
Tambahkan
& powershell
sebelum kutipan terakhir, seperti ini:Jika Anda ingin membuatnya terlihat lebih seperti PS, buka tab Warna pada properti pintasan dan atur nilai Merah, Hijau, dan Biru menjadi 1, 36 dan 86.
sumber
Sebuah pertanyaan lama tetapi layak untuk dijawab dengan (a) memberikan dukungan VS2013; (b) menggabungkan yang terbaik dari dua jawaban sebelumnya; dan (c) menyediakan pembungkus fungsi.
Ini dibangun di atas teknik @ Andy (yang dibangun di atas teknik Allen Mack seperti yang ditunjukkan Andy (yang kemudian dikembangkan dari teknik Robert Anderson seperti yang ditunjukkan Allen (semuanya memiliki sedikit kesalahan seperti yang ditunjukkan di halaman ini oleh pengguna yang hanya dikenal sebagai "saya) - ", jadi saya memperhitungkannya juga))).
Ini adalah kode terakhir saya - perhatikan penggunaan pembilang non-serakah di regex untuk menangani kemungkinan yang sama yang disematkan dalam nilainya. Itu juga terjadi untuk menyederhanakan kode: satu kecocokan, bukan kecocokan, lalu pisahkan seperti pada contoh Andy atau kecocokan lalu indeks dan substring seperti dalam contoh "saya -").
sumber
[parameter(Mandatory=$true,
...cmd /c """$targetDir\vcvarsall.bat""&set"
Keith telah menyebutkan PowerShell Community Extensions (PSCX), dengan
Invoke-BatchFile
perintahnya:Saya juga memperhatikan bahwa PSCX juga memiliki
Import-VisualStudioVars
fungsi:sumber
Kudos to Andy S untuk jawabannya. Saya telah menggunakan solusinya untuk sementara waktu, tetapi mengalami masalah hari ini. Nilai apa pun yang memiliki tanda sama dengan di dalamnya dipotong pada tanda sama dengan. Misalnya, saya punya:
Tetapi sesi PS saya melaporkan:
Saya memperbaikinya dengan mengubah skrip profil saya menjadi yang berikut:
sumber
Untuk seseorang yang masih berjuang dengan itu di tahun 2020 dan Visual Studio Code 1.41.1, jadi sedikit keluar dari topik di sini.
Menggunakan semua bagian kode yang berbeda dari atas dan Internet misalnya dari https://help.appveyor.com/discussions/questions/18777-how-to-use-vcvars64bat-from-powershell dan dengan pendekatan langkah demi langkah saya berhasil memiliki skrip di bawah ini berfungsi.
Disimpan ke VSCode "settings.json" dan dengan ekstensi Code Runner diinstal.
Dengan Microsoft (R) C / C ++ Optimizing Compiler Version "cl.exe" dari Visual Studio 2015 / 14.0:
Dengan Microsoft (R) C / C ++ Mengoptimalkan Versi Kompilator "cl.exe" dari Visual Studio 2019 / 16.4.3:
HTH
sumber
Saya suka meneruskan perintah ke cangkang anak seperti ini:
Atau sebaliknya
sumber