Vs code c настройка: Установка ΠΈ настройка VS Code

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Установка ΠΈ настройка VS Code

  • Установка VS Code
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VS Code
  • Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python
  • Настройка Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GCC
  • Π Π°Π±ΠΎΡ‚Π° с CMake
  • Π Π°Π±ΠΎΡ‚Π° с git
  • Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

Установка VS Code

Установка VS Code Π½Π΅ прСдставляСт слоТностСй. Достаточно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ установочный Ρ„Π°ΠΉΠ» со страницы Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git for Windows, MinGw, CMake ΠΈ Miniconda3.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ настроим VS Code для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с языками C++ ΠΈ Python.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VS Code

УстановитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ VS Code:

  • C/C++ for Visual Studio Code
  • CMake Tools
  • Python

Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° python

ΠŸΡ€ΠΈ Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ python (Ρ„Π°ΠΉΠ»ΠΎΠΌ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .py) VS Code ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для подсвСтки ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° подсказок:

ΠœΠΎΠΆΠ΅Ρ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΠ· Π½Π΅Π΄Π°Π²Π½ΠΎ созданного окруТСния nsu.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ„Π°ΠΉΠ» test.py, содСрТащий ΠΎΠ΄Π½Ρƒ строку:

print('Hello, world!')

Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ этот скрипт ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Π² консоль Π² VS Code с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сочСтания клавиш Ctrl+J ΠΈ Π½Π°Π±Ρ€Π°Π² Π² Π½Π΅ΠΉ

python test.py

Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π° находится ΠΊΠ½ΠΎΠΏΠΊΠ° с Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ▷, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ:

Настройка Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GCC

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» test.cpp, содСрТащий ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

#include <iostream>
int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора GCC ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ консоль Π² VS Code (Ctrl+J) ΠΈ исполнитС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

> g++ test.cpp

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ создал исполняСмый Ρ„Π°ΠΉΠ» a.exe. ЗапуститС Π΅Π³ΠΎ:

> .\a.exe
Hello, world!

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Настроим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ VS Code для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ этого дСйствия. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² мСню ΠΏΡƒΠ½ΠΊΡ‚ Terminal -> Configure Default Build Task.

..:

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π²ΡˆΠ΅Π³ΠΎ списка ΠΏΡƒΠ½ΠΊΡ‚ g++.exe. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирован Ρ„Π°ΠΉΠ» .vscode/tasks.json ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠΌΡƒ:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: cpp.exe build active file",
            "command": "D:\\mingw\\mingw32\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш Ctrl+Shift+B ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Terminal -> Run Build Task Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ компиляция ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Для Ρ„Π°ΠΉΠ»Π° test. cpp Π±ΡƒΠ΄Π΅Ρ‚ создан исполняСмый Ρ„Π°ΠΉΠ» test.exe.

Π Π°Π±ΠΎΡ‚Π° с CMake

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ VS Code, создайтС Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ» main.cpp, содСрТащий ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

#include <iostream>
int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

ΠΈ Ρ„Π°ΠΉΠ» CMakeLists.txt со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТаниСм:

cmake_minimum_required(VERSION 3.0.0)
add_executable(test main.cpp)

Π­Ρ‚ΠΈ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ CMake-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ сначала сборку CMake-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· консоль: создайтС Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ build

, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ сборка, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Ρ‘:

> mkdir build; cd build

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ настройку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ запуститС сборку:

> cmake -G "MinGW Makefiles" ..
> cmake --build .

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ сборка Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ MinGW ΠΈ Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° располоТСны Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (ΠΏΡƒΡ‚ΡŒ . .). Вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° осущСствляСт сборку Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (ΠΏΡƒΡ‚ΡŒ .). Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ build Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ исполняСмый Ρ„Π°ΠΉΠ» test.exe.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ VS Code для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CMake позволяСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ VS Code (комбинация клавиш Ctrl+K+O), ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Ρ„Π°ΠΉΠ»Ρ‹ main.cpp ΠΈ CMakeLists.txt. НабСритС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Ctrl+Shift+P ΠΈ Π² строкС свСрху Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ >CMake: Configure. Π­Ρ‚ΠΎ запустит настройку инструмСнтов CMake. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ настройки Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π° появятся инструмСнты управлСния сборкой:

ΠšΠ½ΠΎΠΏΠΊΡƒ «Π‘Π±ΠΎΡ€ΠΊΠ°» запускаСт сборку, Π° ΠΊΠ½ΠΎΠΏΠΊΠ° &#9655; — исполняСмый Ρ„Π°ΠΉΠ».

Если автоматичСская настройка CMake ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ ошибкС, Ρ‚ΠΎ, вСроятно, инициализация CMake Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -G "MinGW Makefiles". Π’ этом случаС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² консоли, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅. Достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это дСйствиС ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, послС Ρ‡Π΅Π³ΠΎ конфигурация этого ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Π΅Ρ€Π½ΠΎ.

Π Π°Π±ΠΎΡ‚Π° с git

ПокаТСм ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· VS Code. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ fork рСпозитория задания Hello, Classroom Π½Π° GitHub:

Π­Ρ‚ΠΎ дСйствиС создаСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Π’Π°ΡˆΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ автоматичСскоС тСстированиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π½Π°ΠΆΠ°Π² Π½Π° Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Actions:

Новый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π’Π°ΡˆΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ систСму. Π£Π΄ΠΎΠ±Π½Π΅Π΅ всСго это Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ssh. Для этого сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ OpenSSH Client, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½.

ВзаимодСйствиС с GitHub Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ ssh с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ½ΠΎ Π² консоли:

>ssh-keygen
Generating public/private rsa key pair.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сгСнСрированныС ΠΊΠ»ΡŽΡ‡ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ~\.ssh. Π€Π°ΠΉΠ» с ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ называСтся id-rsa.pub. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° GitHub. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π» SSH and GPG keys Π² мСню Settings ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ New SSH key:

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΡƒΡŽΡΡ Ρ„ΠΎΡ€ΠΌΡƒ. Π’ ΠΏΠΎΠ»Π΅

Key Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° id-rsa.pub. ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ появились лишниС пСрСносы строк. Π’Π΅ΡΡŒ ΠΊΠ»ΡŽΡ‡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ располоТСн Π² ΠΎΠ΄Π½ΠΎΠΉ строкС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ рСпозитория. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с заданиями курса ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Ρ‘. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ страницу рСпозитория hello-classroom Π² Π’Π°ΡˆΠ΅ΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ GitHub ΠΈ скопируйтС строку для клонирования Ρ‡Π΅Ρ€Π΅Π· ssh:

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² консоли ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git clone:

> git clone [email protected]:fakestud/hello-classroom.git
Cloning into 'hello-classroom'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done

Π‘Ρ‚Ρ€ΠΎΠΊΠ° git@github. com:fakestud/hello-classroom.git

Π΅ΡΡ‚ΡŒ скопированная Π²Ρ‹ΡˆΠ΅ строка. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Ρ‹Π» ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ hello-classroom. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Ρ‘ Π² качСствС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ VS Code. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» README.md, содСрТащий инструкции ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ задания. ПослС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ задания Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

> conda activate nsu
> pip install -r .\requirements.txt
> g++ -std=c++17 main.cpp -o a.out
> test_cmd tests/ .\a.out
Running 1 tests on 4 CPUs...
test1
Command: .\a.out
Success
All 1 tests passed.

ВСсты ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹. Π—Π½Π°Ρ‡ΠΈΡ‚, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ синхронизации рСпозитория GitHub с нашСй локальной вСрсиСй. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС для этого достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git add main.cpp
git commit -m "Task solved"
git push -u origin master

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VS Code позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эти дСйствия Ρ‡Π΅Ρ€Π΅Π· графичСский интСрфСйс. VS Code отслСТиваСт измСнСния локальной вСрсии рСпозитория. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ контроля вСрсий слСва ΠΈ посмотритС Π½Π° список ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡˆΠΈΡ…ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ нашСм случаС это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» main.cpp. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ +:

Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git commit, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ &#10003; ΠΈ ввСдя ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π² тСкстовом ΠΏΠΎΠ»Π΅:

НаконСц, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git push:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

  • First-Time Git Setup
  • VS Code: User and Workspace Settings
  • VS Code: Using GCC with MinGW
  • VS Code: Get started with CMake Tools on Linux
  • Git in Visual Studio Code
  • Must-have ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ нСсколько полСзностСй для Π‘\Π‘++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² VS Code
  • ΠŸΠ°ΠΌΡΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ssh

c++ — Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Visual Studio Code Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π‘++?

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ usernameusername,

ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ я Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ VS Code.

Как справСдливо ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² коммСнтариях — Π΅ΡΡ‚ΡŒ прСкрасная ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация ΠΏΠΎ настройкС. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я ΠΎΡΡ‚Π°Π²Π»ΡŽ свой ΠΎΡ‚Π²Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ….

А Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ… — ΠΌΠ΅Π½Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ πŸ™‚

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ VSC, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π’Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. А ΠΏΠΎΡ‚ΠΎΠΌ настройки, ΠΊΠΎΡ‚Ρ€Ρ‹Π΅ для этого понадобились, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ мСста Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ VS code.

Π’Ρ€ΡƒΠ΄Π½Π½ΠΎΡΡ‚ΡŒ этого процСсса ΠΈΠΌΠ΅Π½Π½ΠΎ Π² «Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊΠ΅» Ρ€Π°Π·Π½Ρ‹Ρ… возмоТностСй. На этого Π½Π΅ стоит ΠΏΡƒΠ³Π°Ρ‚ΡŒΡΡ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, настройка Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отличатся для Ρ€Π°Π·Π½Ρ‹Ρ… систСм (Linux, windows, macos), Π° Π’Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, какая систСма Ρƒ вас.

Π― ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ настройки для компилятора gcc ΠΏΠΎΠ΄ Win64. МоТно ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΌΠΎΠΈ шаги, Π° ΠΊΠΎΠ³Π΄Π° получится — ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ настройку, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ компилятор.

  1. УстанавливаСм msys2. Π― установил Π΅Π³ΠΎ Π² C:\Programs\msys64. ΠŸΡ€ΠΈ этом сам msys2 позаботился ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΅Π³ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

    C:\Programs\msys64\mingw64\bin оказался Π² path. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π² консоли ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ path

  2. УстанавливаСм компилятор ΠΈ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€. Π― дСлаю это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° msys2, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π² ΠΎΠΊΠ½Π΅, ΠΊΠΎΡ‚Ρ€ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ msys2, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

     pacman -Syuu
    

    Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° обновляСт msys2. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль — это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ ввСсти Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π₯ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всСгда ΠΈΠΌΠ΅Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ компилятора.

    Π—Π°Ρ‚Π΅ΠΌ:

     pacman -S mingw-w64-x86_64-gcc
     pacman -S mingw-w64-x86_64-gdb
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π’Π°ΡˆΠ΅ΠΉ систСмС Π΅ΡΡ‚ΡŒ компилятор ΠΈ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это просто: ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ консоли, пишСм g++ --version

Если ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π΅ являСтся вСрсия — Π½Π°Π΄ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ path, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ сдСлат для Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π°: gdb --version

  1. ПишСм hello world. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ компилятор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π² любой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ созадСм Ρ„Π°ΠΉΠ» hello.cpp с тСкстом

     #include <iostream>
     int main() {
         std::cout << "Hello world!" << std::endl;
         return 0;
     };
    

ΠΏΠΎΡ‚ΠΎΠΌ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ g++ hello. cpp -o hello.exe Если появился Ρ„Π°ΠΉΠ» hello.exe, ΠΈ ΠΎΠ½ запускаСтся ΠΈ Π²Ρ‹Π²ΠΎΠΈΡ‚ строчку — ΠΎΠΊ, этот шаг Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

  1. А Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ VSC. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ Π΅ΡΡ‚ΡŒ нСсколько, Π²ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… для 32 ΠΈ 64 Π±ΠΈΡ‚Π½Ρ‹Ρ… систСм, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹Ρ… — Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ назывСтся «User Installer» ΠΈ «System Installer». Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ 64 Π±ΠΈΡ‚Π½Ρ‹ΠΉ System Installer Π½Π° страницС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

  2. Π’ VSC ставим Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с C++, ΠΎΠ½ΠΎ называСтся C/C++ for Visual Studio Code ΠΈ написано Microsoft

  3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим VSC Π² ΠΏΠ°ΠΏΠΊΠ΅ Π’Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°ΠΏΠΊΠ° C:\Projects\. ДСлаСтся это Ρ‚Π°ΠΊ: запускам консоль. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² консоли Π² ΠΏΠ°ΠΏΠΊΡƒ (cd C:\Projects\). ЗапускаСм VSC ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ code ..

Π’Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом создаётся ΠΏΠ°ΠΏΠΊΠ° настроСк VSC, ΠΊΠΎΡ‚Ρ€Ρ‹Π΅ находятся ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ C:\Projects\.vscode. Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ 4 Ρ„Π°ΠΉΠ»Π°, я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΈΡ… Π² минимальном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅. ΠŸΡƒΡ‚ΠΈ — для ΠΌΠΎΠ΅ΠΉ систСмы, Π³Π΄Π΅ msys2 установлСн Π² C:\Programs\msys64\.

Π€Π°ΠΉΠ» tasks.json — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° комбинация клавиш Ctrl+shift+B для сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "g++.exe build active file",
                "command": "C:/Programs/msys64/mingw64/bin/g++.exe",
                "args": [
                    "-std=c++17",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "C:\\Programs\\msys64\\mingw64\\bin"
                },
                "problemMatcher": [
                    "$gcc"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }

Π€Π°ΠΉΠ» launch.json — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€Π°:

    {
        "version": "0. 2.0",
        "configurations": [
            {
                "name": "g++.exe build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\Programs\\msys64\\mingw64\\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++.exe build active file",
                "internalConsoleOptions": "neverOpen"
            }
        ]
    }

Π€Π°ΠΉΠ» settings. json — ΠΊΠ°ΠΊ Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ассоциации, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ особо Π½ΡƒΠΆΠ΅Π½. Но лишним Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚:

    {
        "files.associations": {
            "ostream": "cpp",
            "iostream": "cpp",
            "iomanip": "cpp",
            "chrono": "cpp",
            "iosfwd": "cpp",
            "thread": "cpp",
            "array": "cpp",
            "string_view": "cpp",
            "initializer_list": "cpp",
            "utility": "cpp",
            "valarray": "cpp",
            "optional": "cpp",
            "sstream": "cpp"
        }
    }

Π€Π°ΠΉΠ» c_cpp_properties.json — ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° располоТСниС include — Ρ„Π°ΠΉΠ»ΠΎΠ²:

    {
        "configurations": [
            {
                "name": "Win32",
                "includePath": [
                    "${workspaceFolder}/**", 
                    "C:/Programs/msys64/mingw64/include/**"
                ],
                "defines": [
                    "_DEBUG",
                    "UNICODE",
                    "_UNICODE"
                ],
                "windowsSdkVersion": "8. 1",
                "compilerPath": "C:\\Programs\\msys64\\mingw64\\bin\\g++.exe",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "intelliSenseMode": "gcc-x86"
            }
        ],
        "version": 4
    }

Если Π’Ρ‹ создадитС эти Ρ„Π°ΠΉΠ»Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°Π½ΠΎΠ²ΠΎ запуститС Π² этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ VSC — Ρ‚ΠΎ всё ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ (ΠΏΠΎ F5) ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ — самоС Π²Π°ΠΆΠ½ΠΎΠ΅. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ — Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ эту ΠΏΠ°ΠΏΠΊΡƒ .vscode ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π° C++. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ VSC Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ с Π’Π°ΡˆΠΈΠΌΠΈ настройками.

Π”Π°ΠΆΠ΅ Ссли ΠΌΠΎΠΉ способ Π’Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ — Ρƒ Вас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для Π³ΡƒΠ³Π»Π΅ΠΆΠ°.

УспСхов!

PS. ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности для настройки.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° tasks.json позволяСт ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π±ΠΈΠ»Π΄ΠΎΠΌ — ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΠΆΠ΅ исправлСнных ошибок, ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ сборки (Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ):

    "presentation": {
            "clear": true                        // <-- this line
      }

R Π² ΠΊΠΎΠ΄Π΅ Visual Studio

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

Π―Π·Ρ‹ΠΊ программирования R β€” это динамичСский язык, созданный для статистичСских вычислСний ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. R ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² статистичСском Π°Π½Π°Π»ΠΈΠ·Π΅, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСниях, машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R для Visual Studio Code ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ подсвСтку синтаксиса, Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, взаимодСйствиС с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ R, просмотр Π΄Π°Π½Π½Ρ‹Ρ…, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, страницы справки, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ R Markdown.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

  1. УстановитС R (>= 3.4.0) для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Windows рСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π² рССстрС Π²ΠΎ врСмя установки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R ΠΌΠΎΠ³Π»ΠΎ автоматичСски Π½Π°ΠΉΡ‚ΠΈ исполняСмый Ρ„Π°ΠΉΠ» R.

  2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ языковой сСрвСр Π² R.

     install.packages("languageserver")
     
  3. УстановитС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R для Visual Studio Code.

  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» R ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ удобства использования R Π² VS Code рСкомСндуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

  • Ρ€Π°Π΄ΠΈΠ°Π½: соврСмСнная консоль R, которая устраняСт ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ограничСния ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° R ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ подсвСтка синтаксиса ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

  • httpgd: ΠΏΠ°ΠΊΠ΅Ρ‚ R для прСдоставлСния графичСского устройства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ асинхронно обслуТиваСт Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ SVG Ρ‡Π΅Ρ€Π΅Π· HTTP ΠΈ WebSockets. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ трСбуСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ просмотрщику Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ R для VS Code.

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с установкой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² R ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ R для VS Code, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΈΠΊΠΈ-страницы ΠΏΠΎ установкС (Windows | macOS | Linux) для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свСдСний.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° R

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° R β€” это просто ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R. ΠŸΠ΅Ρ€Π΅Π΄ запуском ΠΊΠΎΠ΄Π° R Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ R: Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄.

Когда Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ (Ctrl+Enter) , послС Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ вСсь Ρ„Π°ΠΉΠ» R, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Shift+S , ΠΈ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» R.

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ использования, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ запуск Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² R ΠΈΠ»ΠΈ самоуправляСмых Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² R, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ВзаимодСйствиС с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ R.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° (IntelliSense)

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСдактирования ΠΊΠΎΠ΄Π° благодаря языковому сСрвСру R. Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ доступныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² области дСйствия ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области R вмСстС с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³

Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³ β€” это функция, которая провСряСт ΠΊΠΎΠ΄ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ошибок. Анализ ΠΊΠΎΠ΄Π° R прСдоставляСтся ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ lintr. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π²Ρ‹Π±Ρ€Π°Π² ΠΈΠ· списка доступных Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Помимо Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ символа, поиск ссылок. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ R Language Service.

БрСдство просмотра Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области

БрСдство просмотра Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области располоТСно Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π² VS Code ΠΈ содСрТит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ сСансС R. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ R Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΈ отобразится срСдство просмотра Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΈ срСдство просмотра страниц справки. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ просмотра Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области R, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² R, поиска Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² справки ΠΈ чтСния справочных страниц Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Помимо срСдства просмотра Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ срСдства просмотра Π΄Π°Π½Π½Ρ‹Ρ…, срСдства просмотра Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ срСдства просмотра Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ срСдства просмотра.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

ВозмоТности ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ R ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ R Debugger. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° R ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° R ΠΏΡƒΡ‚Π΅ΠΌ запуска Π½ΠΎΠ²ΠΎΠ³ΠΎ процСсса R ΠΈΠ»ΠΈ присоСдинСния ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ процСссу.

ΠŸΡ€ΠΈ достиТСнии Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ° стСка ΠΈΠ»ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² консоли ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ„Ρ€Π΅ΠΉΠΌΠ΅ стСка.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² README ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Π·ΠΎΡ€ прСдставляСт собой ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ R для VS Code. ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ README Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ списка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, прСдлоТСния ΠΈΠ»ΠΈ поТСлания, поТалуйста, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ VS Code, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ эти Ρ‚Π΅ΠΌΡ‹:

  • ОсновноС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² основы Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VS Code.
  • УстановитС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ β€” ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ…, доступных Π² Marketplace.
  • Навигация ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ β€” быстро ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ исходному ΠΊΠΎΠ΄Ρƒ.

23.03.2022

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ VSCode с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ C, C++ ΠΈ Python для ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ программирования

VSCode β€” это тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ систСм контроля вСрсий. Он прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ инструмСнты для создания простых ΠΊΠΎΠ΄ΠΎΠ². VSCode ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с сайта visualstudio.com. ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ.

Если Π²Ρ‹ Ρ€Π΅ΡˆΠ°Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΊΠ°ΠΊ GeeksforGeeks, CodeChef ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π²Ρ‹, вСроятно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-компилятор для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡. Π’ этом случаС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ запуск тСстовых случаСв становятся Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌΠΈ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ тСстовыС случаи ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ…. Π Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΡƒΠΆΠ΅ слоТно.

НСкоторыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ideone пострадали ΠΎΡ‚ ΠΏΠ»Π°Π³ΠΈΠ°Ρ‚Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ совпали с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ, ΠΊΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ. Говорят, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΊΠΎΠ΄ Π±Ρ‹Π» скопирован с Ideone. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ общСдоступна Π² Ideone, Ρ‡Ρ‚ΠΎ позволяСт Π»ΡŽΠ±ΠΎΠΌΡƒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ваш ΠΊΠΎΠ΄.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² собствСнной срСдС IDE ΠΈΠΌΠ΅Π΅Ρ‚ свои Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ IntelliSense: Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, информация ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…, краткая информация ΠΈ списки участников. Плюс Π½Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ.

ΠšΠΎΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого руководства.

Настройка
VSCode

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ VSCode с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ΠΈ установитС Π΅Π³ΠΎ.

Для программирования CPP:

1. УстановитС Mingw-w64 Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сайт SourceForge. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Mingw-w64, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ установщик Windows Mingw-w64.

2. ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ установки.

3. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ «АрхитСктура» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ x86_64, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».

4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ bin Mingw-w64 Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды Windows PATH, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

5 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ установку, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

Β  Β  Β a) g++ –version

Β  Β  Β b) gdb –version

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΒ 

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ.

  • Competitive Companion : Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π²Π΅Π±-страниц ΠΈ ΠΈΡ… сохранСния. Доступно ΠΊΠ°ΠΊ для Ρ…Ρ€ΠΎΠΌΠ°, Ρ‚Π°ΠΊ ΠΈ для фаСрфокса.
  • ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ : Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для VSCode, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выполняСт магию запуска тСстовых случаСв ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ тСстовыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.
  • C/C++ для Visual Studio Code : это Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅. ВрСбуСтся для IntelliSense, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ просмотра ΠΊΠΎΠ΄Π°.
  • Python для Visual Studio Code : Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³, ΠΎΡ‚Π»Π°Π΄ΠΊΠ° (многопоточная, удалСнная), Intellisense, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.
  • Code Runner : (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) запуск Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ΄Π° для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков Π±Π΅Π· выполнСния ΠΊΠΎΠΌΠ°Π½Π΄.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ…Π»ΠΎΠΏΠΎΡ‚. Π­Ρ‚ΠΎΠΉ настройки достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ настройки Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя.

Π¨Π°Π±Π»ΠΎΠ½Ρ‹

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π² ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠŸΠΎΠ΄Π½ΠΈΠΌΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, создав собствСнныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹ β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для Π±ΠΎΠ»Π΅Π΅ быстрого написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ сниппСтов ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ собствСнныС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ User Snippets Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ File > Preferences (ctrl + shift + p), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚. Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ JSON ΠΈ сохранитС Π΅Π³ΠΎ. РаздСляйтС Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ запятой. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ свои ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ сниппСты для Ρ€Π°Π·Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈΠ»ΠΈ сдСлайтС ΠΎΠ΄ΠΈΠ½ большой шаблон.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ввСсти Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ табуляции ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°Π±ΡƒΠ»ΡΡ†ΠΈΡŽ.

Настройка ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°

Иногда ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ затруднСния, особСнно Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° большая ΠΈ Π² Π½Π΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. Π’ этом случаС ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΌΠ°Π»ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, это ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ спасти ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, VSCode поставляСтся со встроСнным красивым графичСским интСрфСйсом для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Python поставляСтся со своим ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ, Π° GCC ΠΈΠΌΠ΅Π΅Ρ‚ gdb. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° слСва ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈ ΠžΡ‚Π»Π°Π΄ΠΊΠ° . Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ„Π°ΠΉΠ» для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° скрипта Python

Если Π²Ρ‹ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ python, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ запрос. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» python

Π­Ρ‚ΠΎ создаст Ρ„Π°ΠΉΠ» launch.json Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ .vscode. Π­Ρ‚ΠΎ выглядит Ρ‚Π°ΠΊ. НСт нСобходимости Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ», достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ здСсь.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° сцСнариСв C/C++

ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ сборки. Π’ Π³Π»Π°Π²Π½ΠΎΠΌ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» > Настройка Π·Π°Π΄Π°Ρ‡ΠΈ сборки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ . ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ сборки для компиляторов C++. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ C/C++: Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» сборки g++.

Π­Ρ‚ΠΎ создаст Ρ„Π°ΠΉΠ» tasks.json, сохранитС Π΅Π³ΠΎ. Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ сначала Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ срСду. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ C++ (GDB/LLDB). ПослС этого Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ .

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ создаст Ρ„Π°ΠΉΠ» launch.json, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ этой страницС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C ΠΈ C++.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *