Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio'ya kaynak kodunuzu bir Klasör Aç projesinde nasıl oluşturacaklarını bildirmek için bir tasks.vs.json dosyası ekleyin. Herhangi bir rastgele görevi burada tanımlayabilir ve ardından Çözüm Gezgini bağlam menüsünden çağırabilirsiniz. Tüm derleme komutları CMakeLists.txt belirtildiğinden CMake projeleri bu dosyayı kullanmaz. CMake dışındaki derleme sistemleri için tasks.vs.json, derleme komutlarını belirtebileceğiniz ve derleme betiklerini çağırabileceğiniz yerdir. tasks.vs.json kullanımı hakkında genel bilgi için, "Klasör Aç" geliştirmesi için derleme ve hata ayıklama görevlerini özelleştirme sayfasına bakın.
Bir görevin dört değerden birine sahip olabilecek bir type özelliği vardır: default, launch, remoteveya msbuild. Uzak bağlantı gerekmediği sürece çoğu görev launch kullanılmalıdır.
Varsayılan Özellikler
Varsayılan özellikler tüm görev türlerinde kullanılabilir:
| Özellik | Türü | Açıklama |
|---|---|---|
taskLabel |
Dize | (Gerekli.) Kullanıcı arabiriminde kullanılan görev etiketini belirtir. |
appliesTo |
Dize | (Gerekli.) Komutun hangi dosyalarda gerçekleştirilebileceğini belirtir. Joker karakterlerin kullanımı desteklenir, örneğin: "", ".cpp", "/*.txt" |
contextType |
Dize | İzin verilen değerler: "özel" (custom), "oluştur" (build), "temizle" (clean), "tekrar oluştur" (rebuild). Görevin bağlam menüsünde nerede görüneceğini belirler. Varsayılan olarak "özel ayar" olur. |
output |
Dize | Göreviniz için bir çıkış etiketi belirtir. |
inheritEnvironments |
dizi | Birden çok kaynaktan devralınan ortam değişkenleri kümesini belirtir. CMakeSettings.json veya CppProperties.json gibi dosyalarda değişkenler tanımlayabilir ve bunları görev bağlamında kullanılabilir hale getirebilirsiniz.
Visual Studio 16.4:: Söz dizimini env.VARIABLE_NAME kullanarak görev başına ortam değişkenlerini belirtin. Bir değişkeni boşaltmak için, onu "null" olarak ayarlayın. |
passEnvVars |
Boolean | Görev bağlamı için ek ortam değişkenleri eklenip eklenmeyeceğini belirtir. Bu değişkenler, özelliği kullanılarak envVars tanımlananlardan farklıdır. Varsayılan değer olarak "true" ayarlanmıştır. |
Başlatma özellikleri
Görev türü olduğunda launch, şu özellikler kullanılabilir:
| Özellik | Türü | Açıklama |
|---|---|---|
command |
Dize | Başlatacak işlemin veya betiğin tam yolunu belirtir. |
args |
dizi | Komuta geçirilen bağımsız değişkenlerin virgülle ayrılmış listesini belirtir. |
launchOption |
Dize | İzin verilen değerler: "None", "ContinueOnError","IgnoreError". Hatalar olduğunda komutun nasıl ilerleyeceğini belirtir. |
workingDirectory |
Dize | Komutun çalıştırılacağı dizini belirtir. Varsayılan olarak projenin geçerli çalışma dizinine ayarlanır. |
customLaunchCommand |
Dize | Komutu yürütmeden önce uygulanacak genel kapsam özelleştirmesini belirtir. %PATH% gibi ortam değişkenlerini ayarlamak için kullanışlıdır. |
customLaunchCommandArgs |
Dize | customLaunchCommand bağımsız değişkenlerini belirtir. Gerektirir customLaunchCommand. |
env |
Özel ortam değişkenlerinin anahtar-değer listesini belirtir. Örneğin, "myEnv": "myVal" | |
commands |
dizi | Sırayla çağrılacak komutların listesini belirtir. |
Örnek
Aşağıdaki görevler, klasörde bir derleme dosyası sağlandığında ve CppProperties.json içinde Mingw64 ortam tanımlandığında, CppProperties.json şema başvurusunda gösterildiği gibi make.exe'yi çağırır.
{
"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"]
}
]
}
Bu görevler, Çözüm Gezgini'da bir .cpp dosyasına sağ tıkladığınızda bağlam menüsünden çağrılabilir.
Uzaktan Özellikler
Uzak görevler, C++ iş yüküyle Linux geliştirmeyi yüklediğinizde ve Visual Studio Bağlantı Yöneticisi kullanarak uzak bir makineye bağlantı eklediğinizde etkinleştirilir. Uzak bir görev, uzak bir sistemde komutlar çalıştırır ve dosyaları buna da kopyalayabilir.
Görev türü olduğunda remote, şu özellikler kullanılabilir:
| Özellik | Türü | Açıklama |
|---|---|---|
remoteMachineName |
Dize | Uzak makinenin adı. Bağlantı Yöneticisindeki bir makine adıyla eşleşmelidir. |
command |
Dize | Uzak makineye gönderilecek komut. Varsayılan olarak komutlar uzak sistemdeki $HOME dizininde yürütülür. |
remoteWorkingDirectory |
Dize | Uzak makinedeki mevcut çalışma dizini. |
localCopyDirectory |
Dize | Uzak makineye kopyalanacak yerel dizin. Varsayılan olarak geçerli çalışma dizinine ayarlanır. |
remoteCopyDirectory |
Dize | Uzak makinedeki localCopyDirectory'nun kopyalandığı dizin. |
remoteCopyMethod |
Dize | Kopyalama için kullanılacak yöntem. İzin verilen değerler: "none", "sftp", "rsync". Büyük projeler için rsync önerilir. |
remoteCopySourcesOutputVerbosity |
Dize | İzin verilen değerler: "Normal","Ayrıntılı","Tanılama". |
rsyncCommandArgs |
Dize | Varsayılan olarak "-t --delete" kullanılır. |
remoteCopyExclusionList |
dizi | kopyalama işlemlerinin dışında tutulacak dosyaların localCopyDirectory virgülle ayrılmış listesi. |
Örnek
Çözüm Gezgini'da main.cppsağ tıkladığınızda bağlam menüsünde aşağıdaki görev görünür. Bağlantı Yöneticisi adlı ubuntuuzak bir makineye bağlıdır. Görev, Visual Studio'daki geçerli açık klasörü uzak makinedeki sample dizine kopyalar ve ardından programı oluşturmak için g++ öğesini çağırır.
{
"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"
}
]
}
MSBuild özellikleri
Görev türü olduğunda msbuild, şu özellikler kullanılabilir:
| Özellik | Türü | Açıklama |
|---|---|---|
verbosity |
Dize | MSBuild projesi derleme çıktısı ayrıntı düzeyini belirtir. İzin verilen değerler: "Sessiz", "Minimal", "Normal", "Detaylı", "Teşhis". |
toolsVersion |
Dize | Projeyi derlemek için araç takımı sürümünü belirtir. Örneğin, "2.0", "3.5", "4.0", "Current". Varsayılan ayar "Geçerli"dir. |
globalProperties |
nesne | Projeye geçirecek genel özelliklerin anahtar-değer listesini belirtir; örneğin, "Configuration":"Release" |
properties |
nesne | Yalnızca ek proje özelliklerinin anahtar-değer listesini belirtir. |
targets |
dizi | Projede sırayla çağrılacak hedeflerin listesini belirtir. Belirli bir hedef belirtilmezse, projenin varsayılan hedefi kullanılır. |