Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby poinformować program Visual Studio, jak skompilować kod źródłowy w projekcie Otwórz folder, dodaj plik tasks.vs.json . W tym miejscu można zdefiniować dowolne zadanie, a następnie wywołać je z menu kontekstowego Eksplorator rozwiązań. Projekty CMake nie używają tego pliku, ponieważ wszystkie polecenia kompilacji są określone w CMakeLists.txt. W przypadku systemów kompilacji innych niż CMake tasks.vs.json można określić polecenia kompilacji i wywołać skrypty kompilacji. Aby uzyskać ogólne informacje na temat używania tasks.vs.json, zobacz Dostosowywanie zadań kompilacji i debugowania na potrzeby programowania "Otwórz folder".
Zadanie ma type właściwość, która może mieć jedną z czterech wartości: default, , launchremotelub msbuild. Większość zadań powinna być używana launch , chyba że wymagane jest połączenie zdalne.
Właściwości domyślne
Właściwości domyślne są dostępne we wszystkich typach zadań:
| Właściwość | Typ | opis |
|---|---|---|
taskLabel |
sznurek | (Wymagane). Określa etykietę zadania używaną w interfejsie użytkownika. |
appliesTo |
sznurek | (Wymagane). Określa, na których plikach można wykonać polecenie. Użycie symboli wieloznacznych jest obsługiwane, na przykład: "", ".cpp", "/*.txt" |
contextType |
sznurek | Dozwolone wartości: "custom", "build", "clean", "rebuild". Określa, gdzie w menu kontekstowym pojawi się zadanie. Wartość domyślna to "custom". |
output |
sznurek | Określa tag wyjściowy zadania. |
inheritEnvironments |
tablica | Określa zestaw zmiennych środowiskowych dziedziczony z wielu źródeł. Zmienne można definiować w plikach, takich jak CMakeSettings.json lub CppProperties.json i udostępniać je kontekstowi zadania.
Visual Studio 16.4:: Określ zmienne środowiskowe dla poszczególnych zadań przy użyciu env.VARIABLE_NAME składni . Aby usunąć ustawienie zmiennej, ustaw ją na wartość "null". |
passEnvVars |
typ logiczny (boolowski) | Określa, czy należy uwzględnić dodatkowe zmienne środowiskowe w kontekście zadania. Te zmienne różnią się od tych zdefiniowanych przy użyciu envVars właściwości . Wartość domyślna to "true". |
Uruchamianie właściwości
Gdy typ zadania to launch, są dostępne następujące właściwości:
| Właściwość | Typ | opis |
|---|---|---|
command |
sznurek | Określa pełną ścieżkę procesu lub skryptu do uruchomienia. |
args |
tablica | Określa rozdzielaną przecinkami listę argumentów przekazanych do polecenia. |
launchOption |
sznurek | Dozwolone wartości: "None", "ContinueOnError", "IgnoreError". Określa, jak kontynuować wykonywanie polecenia, gdy występują błędy. |
workingDirectory |
sznurek | Określa katalog, w którym zostanie uruchomione polecenie. Domyślnie jest to bieżący katalog roboczy projektu. |
customLaunchCommand |
sznurek | Określa dostosowanie zakresu globalnego do zastosowania przed wykonaniem polecenia. Przydatne do ustawiania zmiennych środowiskowych, takich jak %PATH%. |
customLaunchCommandArgs |
sznurek | Określa argumenty customLaunchCommand. (Wymaga customLaunchCommand.) |
env |
Określa listę klucz-wartość niestandardowych zmiennych środowiskowych. Na przykład "myEnv": "myVal" | |
commands |
tablica | Określa listę poleceń, które mają być wywoływane w kolejności. |
Przykład
Następujące zadania wywołują make.exe, gdy plik make jest udostępniany w folderze, a Mingw64 środowisko zostało zdefiniowane w CppProperties.json, jak pokazano w CppProperties.json odwołania do schematu:
{
"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"]
}
]
}
Te zadania można wywołać z menu kontekstowego po kliknięciu prawym przyciskiem myszy pliku .cpp w Eksplorator rozwiązań.
Właściwości zdalne
Zadania zdalne są włączane podczas instalowania programowania systemu Linux za pomocą obciążenia C++ i dodawania połączenia do maszyny zdalnej przy użyciu programu Visual Studio Menedżer połączeń. Zadanie zdalne uruchamia polecenia w systemie zdalnym i może również kopiować do niego pliki.
Gdy typ zadania to remote, są dostępne następujące właściwości:
| Właściwość | Typ | opis |
|---|---|---|
remoteMachineName |
sznurek | Nazwa maszyny zdalnej. Musi być zgodna z nazwą maszyny w Menedżer połączeń. |
command |
sznurek | Polecenie do wysłania do maszyny zdalnej. Domyślnie polecenia są wykonywane w katalogu $HOME w systemie zdalnym. |
remoteWorkingDirectory |
sznurek | Bieżący katalog roboczy na maszynie zdalnej. |
localCopyDirectory |
sznurek | Katalog lokalny do skopiowania na maszynę zdalną. Domyślnie jest to bieżący katalog roboczy. |
remoteCopyDirectory |
sznurek | Katalog na maszynie zdalnej, do którego localCopyDirectory jest kopiowany. |
remoteCopyMethod |
sznurek | Metoda do skopiowania. Dozwolone wartości: "none", "sftp", "rsync". Funkcja rsync jest zalecana w przypadku dużych projektów. |
remoteCopySourcesOutputVerbosity |
sznurek | Dozwolone wartości: "Normal","Verbose","Diagnostic". |
rsyncCommandArgs |
sznurek | Wartość domyślna to "-t --delete". |
remoteCopyExclusionList |
tablica | Rozdzielona przecinkami lista plików do localCopyDirectory wykluczenia z operacji kopiowania. |
Przykład
Następujące zadanie pojawi się w menu kontekstowym po kliknięciu prawym przyciskiem myszy main.cpp w Eksplorator rozwiązań. Zależy to od maszyny zdalnej wywoływanej ubuntu w Menedżer połączeń. Zadanie kopiuje bieżący otwarty folder w programie Visual Studio do sample katalogu na maszynie zdalnej, a następnie wywołuje bibliotekę g++ w celu skompilowania programu.
{
"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"
}
]
}
właściwości programu MSBuild
Gdy typ zadania to msbuild, są dostępne następujące właściwości:
| Właściwość | Typ | opis |
|---|---|---|
verbosity |
sznurek | Określa dane wyjściowe kompilacji projektu MSBuild verbosityAllowed wartości: "Quiet", "Minimal", "Normal", "Detailed", "Diagnostic". |
toolsVersion |
sznurek | Określa wersję zestawu narzędzi do skompilowania projektu, na przykład "2.0", "3.5", "4.0", "Current". Wartość domyślna to "Current". |
globalProperties |
obiekt | Określa listę klucz-wartość właściwości globalnych, które mają być przekazywane do projektu, na przykład "Configuration":"Release" |
properties |
obiekt | Określa listę klucz-wartość dodatkowych właściwości tylko projektu. |
targets |
tablica | Określa listę obiektów docelowych, które mają być wywoływane w kolejności w projekcie. Domyślny element docelowy projektu jest używany, jeśli żaden z nich nie zostanie określony. |