Seite 1 von 1

Visual Studio Code: Eigenes Programm starten

Verfasst: 28.12.2020 17:46
von Kiffi
Hallo @all,

ich verzweifle langsam ob meiner Unfähigkeit, die richtigen Suchbegriffe bei Google zu verwenden. :freak:

ich möchte gerne in Visual Studio Code bei Druck auf <F5> ein von mir geschriebenes Programm starten.

Irgendwo zwischen launch.json und tasks.json ist mir der Überblick verloren gegangen. Das kann doch nicht so schwierig sein, oder? :roll:

Wer hilft?

Dankend ... Peter

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 28.12.2020 17:56
von NicTheQuick
Also da wäre ich auch interessiert. Bist du denn schon soweit, dass die Autovervollständigung geht und Syntax Highlighting?

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 28.12.2020 18:51
von ccode_new
Kiffi hat geschrieben:ich möchte gerne in Visual Studio Code bei Druck auf <F5> ein von mir geschriebenes Programm starten.
Was für ein Programm?
Ein PureBasic-Programm, oder einfach nur eine Anwendung in einer anderen Programmiersprache (ohne Extension).

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 28.12.2020 19:11
von Kiffi
NicTheQuick hat geschrieben:Bist du denn schon soweit, dass die Autovervollständigung geht und Syntax Highlighting?
nee, ich mache nichts für PB. Das geht in Teilen ja schon mit der Extension von eddy (hat ccode_new oben verlinkt). Ich will nur ein Programm starten.
ccode_new hat geschrieben:Was für ein Programm?
in diesem Fall ein Kommandozeilen-Programm geschrieben in PB. Die Sprache, in der das aufzurufende Tool geschrieben worden ist, sollte aber eigentlich egal sein.

Grüße ... Peter

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 28.12.2020 19:55
von ccode_new
Kiffi hat geschrieben:in diesem Fall ein Kommandozeilen-Programm geschrieben in PB. Die Sprache, in der das aufzurufende Tool geschrieben worden ist, sollte aber eigentlich egal sein.
Dafür musst du eine "launch.json" -Datei neu erstellen oder passend konfigurieren.
https://code.visualstudio.com/docs/cpp/ ... -reference

Hier mit der c++ - Extension (Die Angabe des "type" ist wichtig.)
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "PB Programm kompilieren",
"type": "cppvsdbg",
"request": "launch",
"program": "C:\\Program Files\\PureBasic\\Compilers\\pbcompiler.exe",
"args": ["/DEBUGGER", "${file}"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false
}
]
}
Die Sprache, in der das aufzurufende Tool geschrieben worden ist, sollte aber eigentlich egal sein.
Das ist leider nicht der Fall.
Bei einem JavaScript/Java/Batch/etc. Programm verhält sich das ganz anders.

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 30.12.2020 18:42
von Kiffi
@ccode_new: Danke für Deine Antwort.
ccode_new hat geschrieben:Bei einem JavaScript/Java/Batch/etc. Programm verhält sich das ganz anders.
hier liegt mein Problem.
Ich möchte unabhängig von der geladenen Datei auf Knopfdruck (muss jetzt nicht unbedingt F5 sein) ein von mir festgelegtes Programm starten und genau diese Datei übergeben.
Ich möchte das auch nicht über <Shift>+<Ctrl>+<P> -> "Task ausführen..." -> "Task auswählen" machen. Ein Knopfdruck.

Mir scheint, als ob diese vermeintlich simple Aufgabe mit VS-Code nicht möglich ist.

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 30.12.2020 21:16
von ccode_new
Kiffi hat geschrieben:Ich möchte unabhängig von der geladenen Datei auf Knopfdruck (muss jetzt nicht unbedingt F5 sein) ein von mir festgelegtes Programm starten und genau diese Datei übergeben.
Ich möchte das auch nicht über <Shift>+<Ctrl>+<P> -> "Task ausführen..." -> "Task auswählen" machen. Ein Knopfdruck.
Das Ganze ist eigentlich recht einfach. (Ich habe es zumindest recht schnell begriffen.)
Du musst nur von deinen "Task ausführen" weg und dich ganz auch "launch.json" konzentrieren.
Die F5-Taste ist unter VS Code für "Start Debugging" festgelegt und dieses Kommando führt immer eine festgelegte "launch.json"-Datei aus.

Die einfachste Konfiguration zum starten einer externen Exe (ohne zusätzliche "Launch"-Extension) wäre:

Code: Alles auswählen

{
    "configurations": [
        
        {
            "name": "Run Project",
            "type": "node",
            "request": "launch",
            "args" : [
               "${file}"
            ],
            "runtimeExecutable": "C:\\Program Files\\PureBasic\\Compilers\\pbcompiler.exe",
            "console": "internalConsole"
        }
    ]
}
Dieses:
{
"configurations": [
....

ist die Grundkonfiguration für ein "Launch-Script".

Möglicherweise gibt es auch andere Möglichkeiten, aber ich kenne mich nicht besonders/kaum mit VS Code aus und nutze die IDE eigentlich auch fast nicht.

Anbei:
Mit "Strg + K + Strg + S" kommt ein schönes Menü.
(Schau mal unter Menü->File->Preferences->...)

->Du könntest natürlich auch eine "tasks.json" erstellen und diese über eine beliebige Taste aufrufen.
z.Bsp.:

Code: Alles auswählen

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Run Test",
            "type": "shell",
            "command": "C:\\Program Files\\PureBasic\\Compilers\\pbcompiler.exe",
            "args": ["${file}"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "panel": "new"
            },
            "problemMatcher": []
        }
    ]
  }
...
Also eigentlich ist diese IDE echt mächtig. (Vor allem der "Zen Mode" gefällt mir)
Aber leider für PureBasic überhaupt nicht ordentlich ausgelegt.

Re: Visual Studio Code: Eigenes Programm starten

Verfasst: 02.01.2021 19:48
von Kiffi
ccode_new hat geschrieben:Die einfachste Konfiguration zum starten einer externen Exe (ohne zusätzliche "Launch"-Extension) wäre: [...]
Bingo, das ist es! :allright:

Danke & Grüße ... Peter