referensi skema tasks.vs.json (C++)
Untuk memberi tahu Visual Studio cara membuat kode sumber Anda di proyek Open Folder, tambahkan file tasks.vs.json . Anda dapat menentukan tugas arbitrer apa pun di sini lalu memanggilnya dari menu konteks Penjelajah Solusi. Proyek CMake tidak menggunakan file ini karena semua perintah build ditentukan dalam CMakeLists.txt. Untuk sistem build selain CMake, tasks.vs.json adalah tempat Anda dapat menentukan perintah build dan memanggil skrip build. Untuk informasi umum tentang menggunakan tasks.vs.json, lihat Menyesuaikan tugas build dan debug untuk pengembangan "Buka Folder".
Tugas memiliki type
properti yang mungkin memiliki salah satu dari empat nilai: default
, , launch
remote
, atau msbuild
. Sebagian besar tugas harus digunakan launch
kecuali koneksi jarak jauh diperlukan.
Properti Default
Properti default tersedia di semua jenis tugas:
Properti | Tipe | Deskripsi |
---|---|---|
taskLabel |
string | (Diperlukan.) Menentukan label tugas yang digunakan dalam antarmuka pengguna. |
appliesTo |
string | (Diperlukan.) Menentukan file mana yang dapat dilakukan oleh perintah. Penggunaan wildcard didukung, misalnya: "", ".cpp", "/*.txt" |
contextType |
string | Nilai yang diizinkan: "kustom", "build", "clean", "rebuild". Menentukan di mana dalam menu konteks tugas akan muncul. Default ke "kustom". |
output |
string | Menentukan tag output ke tugas Anda. |
inheritEnvironments |
array | Menentukan sekumpulan variabel lingkungan yang diwarisi dari beberapa sumber. Anda dapat menentukan variabel dalam file seperti CMakeSettings.json atau CppProperties.json dan membuatnya tersedia untuk konteks tugas. Visual Studio 16.4:: Tentukan variabel lingkungan berdasarkan per tugas menggunakan env.VARIABLE_NAME sintaks. Untuk membatalkan pengaturan variabel, atur ke "null". |
passEnvVars |
Boolean | Menentukan apakah akan menyertakan variabel lingkungan tambahan atau tidak ke konteks tugas. Variabel ini berbeda dari yang ditentukan menggunakan envVars properti . Default ke "true". |
Luncurkan properti
Ketika jenis tugas adalah launch
, properti ini tersedia:
Properti | Tipe | Deskripsi |
---|---|---|
command |
string | Menentukan jalur lengkap proses atau skrip yang akan diluncurkan. |
args |
array | Menentukan daftar argumen yang dipisahkan koma yang diteruskan ke perintah . |
launchOption |
string | Nilai yang diizinkan: "None", "ContinueOnError","IgnoreError". Menentukan cara melanjutkan dengan perintah ketika ada kesalahan. |
workingDirectory |
string | Menentukan direktori tempat perintah akan dijalankan. Default ke direktori kerja proyek saat ini. |
customLaunchCommand |
string | Menentukan penyesuaian cakupan global untuk diterapkan sebelum menjalankan perintah. Berguna untuk mengatur variabel lingkungan seperti %PATH%. |
customLaunchCommandArgs |
string | Menentukan argumen untuk customLaunchCommand. (Memerlukan customLaunchCommand .) |
env |
Menentukan daftar nilai kunci variabel lingkungan kustom. Misalnya, "myEnv": "myVal" | |
commands |
array | Menentukan daftar perintah yang akan dipanggil secara berurutan. |
Contoh
Tugas berikut memanggil make.exe ketika makefile disediakan di folder dan Mingw64
lingkungan telah ditentukan dalam CppProperties.json, seperti yang ditunjukkan dalam referensi skema CppProperties.json:
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "gcc make",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make"
},
{
"taskLabel": "gcc clean",
"appliesTo": "*.cpp",
"type": "launch",
"contextType": "custom",
"inheritEnvironments": [
"Mingw64"
],
"command": "make",
"args": ["clean"]
}
]
}
Tugas-tugas ini dapat dipanggil dari menu konteks saat Anda mengklik kanan file .cpp di Penjelajah Solusi.
Properti Jarak Jauh
Tugas jarak jauh diaktifkan saat Anda menginstal pengembangan Linux dengan beban kerja C++ dan menambahkan koneksi ke komputer jarak jauh dengan menggunakan Visual Studio Pengelola Sambungan. Tugas jarak jauh menjalankan perintah pada sistem jarak jauh dan juga dapat menyalin file ke dalamnya.
Ketika jenis tugas adalah remote
, properti ini tersedia:
Properti | Tipe | Deskripsi |
---|---|---|
remoteMachineName |
string | Nama komputer jarak jauh. Harus cocok dengan nama komputer di Pengelola Sambungan. |
command |
string | Perintah untuk mengirim ke komputer jarak jauh. Secara default perintah dijalankan di direktori $HOME pada sistem jarak jauh. |
remoteWorkingDirectory |
string | Direktori kerja saat ini pada komputer jarak jauh. |
localCopyDirectory |
string | Direktori lokal untuk disalin ke komputer jarak jauh. Default ke direktori kerja saat ini. |
remoteCopyDirectory |
string | Direktori pada komputer jarak jauh tempat localCopyDirectory disalin. |
remoteCopyMethod |
string | Metode yang digunakan untuk menyalin. Nilai yang diizinkan: "none", "sftp", "rsync". rsync direkomendasikan untuk proyek besar. |
remoteCopySourcesOutputVerbosity |
string | Nilai yang diizinkan: "Normal","Verbose","Diagnostik". |
rsyncCommandArgs |
string | Default ke "-t --delete". |
remoteCopyExclusionList |
array | Daftar file yang dipisahkan koma untuk dikecualikan localCopyDirectory dari operasi salin. |
Contoh
Tugas berikut akan muncul di menu konteks saat Anda mengklik kanan main.cpp di Penjelajah Solusi. Itu tergantung pada komputer jarak jauh yang disebut ubuntu
Pengelola Sambungan. Tugas menyalin folder terbuka saat ini di Visual Studio ke sample
direktori pada komputer jarak jauh lalu memanggil g++ untuk membangun program.
{
"version": "0.2.1",
"tasks": [
{
"taskLabel": "Build",
"appliesTo": "main.cpp",
"type": "remote",
"contextType": "build",
"command": "g++ main.cpp",
"remoteMachineName": "ubuntu",
"remoteCopyDirectory": "~/sample",
"remoteCopyMethod": "sftp",
"remoteWorkingDirectory": "~/sample/hello",
"remoteCopySourcesOutputVerbosity": "Verbose"
}
]
}
Properti MSBuild
Ketika jenis tugas adalah msbuild
, properti ini tersedia:
Properti | Tipe | Deskripsi |
---|---|---|
verbosity |
string | Menentukan nilai verbosityAllowed output build proyek MSBuild: "Diam", "Minimal", "Normal", "Terperinci", "Diagnostik". |
toolsVersion |
string | Menentukan versi toolset untuk membangun proyek, misalnya "2.0", "3.5", "4.0", "Current". Default ke "Saat Ini". |
globalProperties |
object | Menentukan daftar nilai kunci properti global untuk diteruskan ke proyek, misalnya, "Configuration":"Release" |
properties |
object | Menentukan daftar nilai kunci dari properti proyek tambahan saja. |
targets |
array | Menentukan daftar target yang akan dipanggil, secara berurutan, pada proyek. Target default proyek digunakan jika tidak ada yang ditentukan. |