Bagikan melalui


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, , launchremote, 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.