Vscode-code-runner: [REQUEST] Eine Einstellung zum Angeben von CSC- und VBC-Compilern

Erstellt am 20. Jan. 2017  ·  4Kommentare  ·  Quelle: formulahendry/vscode-code-runner

Hallo.

Zuallererst möchte ich dem Autor dafür danken, dass er Unterstützung für VB.NET hinzugefügt hat.

Ich würde gerne fragen, ob es möglich ist, zwei Einstellungen in der settings.json von VS Code/Code Runner zu implementieren, um die CSC- und VBC-Compiler-Verzeichnispfade anzugeben (oder noch besser, nur eine einzige Einstellung, in der das MSBUILD-Verzeichnis angegeben wird) und gehen davon aus, dass CSC- und VBC-Compiler vorhanden sind, da beide Compiler standardmäßig von Visual Studio installiert sind).

Ich denke, dass es ein wenig aufdringlich und störend ist, den Benutzer zu zwingen, den Verzeichnispfad zur Umgebungsvariablen PATH hinzuzufügen, dann wäre die Implementierung dieser Einstellung in dieser Hinsicht viel besser (und portierbar).

PS: Sorry für mein schlechtes Englisch.

Danke fürs Lesen!.

fyi

Hilfreichster Kommentar

Ich möchte nur eine Konfiguration teilen, die Probleme mit Dateinamen vermeidet, die Leerzeichen enthalten:

  "code-runner.executorMap": {
        "csharp": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo \"$fileName\" && \"$fileNameWithoutExt.exe\""
  },
  "code-runner.executorMapByFileExtension": { 
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo \"$fileName\" && \"$fileNameWithoutExt.exe\""
  } 

Plus diese Konfiguration unten, wenn Sie eine vollständige Erfahrung mit dem Kompilieren für C# und VB.NET haben möchten, kompiliert sie in das Verzeichnis C:WindowsTemp (um das Generieren von ausführbaren Junk-Dateien zu vermeiden) und generiert Debug-Dateiinformationen und XML-Dokumentationsdateien und wichtige Assemblys, um Zeit und Kopfschmerzen zu sparen, und es optimiert einige Debug-Compilereinstellungen, die es robuster für das Kompilieren und Analysieren machen (dies sind die gleichen Referenzen und Imports/Usings-Konfigurationen, die ich in den Projektdateien meines Visual Studios .vbproj/.csproj . verwende standardmäßig):

  "code-runner.executorMap": {
        "csharp": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo /preferreduilang:en-US /debug:full /warn:4 /doc:\"C:\\Windows\\Temp\\vs-code-runner.csharp.xml\" /reference:\"System.dll\",\"System.Core.dll\",\"System.Data.dll\",\"System.Data.DataSetExtensions.dll\",\"System.Deployment.dll\",\"System.DirectoryServices.AccountManagement.dll\",\"System.Drawing.dll\",\"System.Management.dll\",\"System.Net.dll\",\"System.Net.Http.dll\",\"System.Windows.Forms.dll\",\"System.Xml.dll\",\"System.Xml.Linq.dll\" /platform:anycpu /target:exe /out:\"C:\\Windows\\Temp\\vs-code-runner.csharp.exe\" \"$fileName\" && \"C:\\Windows\\Temp\\vs-code-runner.csharp.exe\""
  },
  "code-runner.executorMapByFileExtension": { 
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo /vbruntime+ /optionexplicit+ /optionstrict+ /optioninfer- /debug:full /verbose- /doc:\"C:\\Windows\\Temp\\vs-code-runner.vbnet.xml\" /reference:\"System.dll\",\"System.Core.dll\",\"System.Data.dll\",\"System.Data.DataSetExtensions.dll\",\"System.Deployment.dll\",\"System.DirectoryServices.AccountManagement.dll\",\"System.Drawing.dll\",\"System.Management.dll\",\"System.Net.dll\",\"System.Net.Http.dll\",\"System.Windows.Forms.dll\",\"System.Xml.dll\",\"System.Xml.Linq.dll\" /imports:\"Microsoft.VisualBasic\",\"Microsoft.Win32\",\"Microsoft.Win32.SafeHandles\",\"System\",\"System.Collections\",\"System.Collections.Concurrent\",\"System.Collections.Generic\",\"System.Collections.ObjectModel\",\"System.ComponentModel\",\"System.Data\",\"System.Diagnostics\",\"System.DirectoryServices.AccountManagement\",\"System.Drawing\",\"System.Globalization\",\"System.IO\",\"System.IO.MemoryMappedFiles\",\"System.Linq\",\"System.Linq.Expressions\",\"System.Management\",\"System.Net\",\"System.Reflection\",\"System.Resources\",\"System.Runtime.CompilerServices\",\"System.Runtime.InteropServices\",\"System.Runtime.Serialization\",\"System.Security.AccessControl\",\"System.Security.Permissions\",\"System.Security.Principal\",\"System.Text\",\"System.Text.RegularExpressions\",\"System.Threading\",\"System.Threading.Tasks\",\"System.Web\",\"System.Windows.Forms\",\"System.Xml\",\"System.Xml.Linq\",\"System.Xml.Serialization\" /platform:anycpu /target:exe /out:\"C:\\Windows\\Temp\\vs-code-runner.vbnet.exe\" \"$fileName\" && \"C:\\Windows\\Temp\\vs-code-runner.vbnet.exe\""
  } 

Allen einen schönen Tag.

Alle 4 Kommentare

Es wird bereits unterstützt: https://github.com/formulahendry/vscode-code-runner#configuration
Gehen Sie zu File > Preferences -> User Settings , öffnen Sie settings.json und stellen Sie wie folgt ein:

{
    "code-runner.executorMapByFileExtension": {
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo $fileName && $fileNameWithoutExt"
    } 
}

Vielen Dank.

Könnten Sie mir bitte bestätigen, ob dies die richtige Syntax- und Einstellungsplatzierung ist?:

// Place your settings in this file to overwrite the default settings
{
  // Default vs-code settings goes here...
  // ...

  // Code-runner extension: Compiler settings
  "code-runner.executorMapByFileExtension": { 
        ".cs": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo $fileName && $fileNameWithoutExt",
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo $fileName && $fileNameWithoutExt"
  } 
}

Das sollte stimmen.
Wenn Sie für die cs-Datei die C#-Erweiterung installiert haben, müssen Sie die folgenden Einstellungen vornehmen:

{
  "code-runner.executorMap": {
        "csharp": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo $fileName && $fileNameWithoutExt"
  },
  "code-runner.executorMapByFileExtension": { 
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo $fileName && $fileNameWithoutExt"
  } 
}

Ich möchte nur eine Konfiguration teilen, die Probleme mit Dateinamen vermeidet, die Leerzeichen enthalten:

  "code-runner.executorMap": {
        "csharp": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo \"$fileName\" && \"$fileNameWithoutExt.exe\""
  },
  "code-runner.executorMapByFileExtension": { 
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo \"$fileName\" && \"$fileNameWithoutExt.exe\""
  } 

Plus diese Konfiguration unten, wenn Sie eine vollständige Erfahrung mit dem Kompilieren für C# und VB.NET haben möchten, kompiliert sie in das Verzeichnis C:WindowsTemp (um das Generieren von ausführbaren Junk-Dateien zu vermeiden) und generiert Debug-Dateiinformationen und XML-Dokumentationsdateien und wichtige Assemblys, um Zeit und Kopfschmerzen zu sparen, und es optimiert einige Debug-Compilereinstellungen, die es robuster für das Kompilieren und Analysieren machen (dies sind die gleichen Referenzen und Imports/Usings-Konfigurationen, die ich in den Projektdateien meines Visual Studios .vbproj/.csproj . verwende standardmäßig):

  "code-runner.executorMap": {
        "csharp": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\csc.exe\" /nologo /preferreduilang:en-US /debug:full /warn:4 /doc:\"C:\\Windows\\Temp\\vs-code-runner.csharp.xml\" /reference:\"System.dll\",\"System.Core.dll\",\"System.Data.dll\",\"System.Data.DataSetExtensions.dll\",\"System.Deployment.dll\",\"System.DirectoryServices.AccountManagement.dll\",\"System.Drawing.dll\",\"System.Management.dll\",\"System.Net.dll\",\"System.Net.Http.dll\",\"System.Windows.Forms.dll\",\"System.Xml.dll\",\"System.Xml.Linq.dll\" /platform:anycpu /target:exe /out:\"C:\\Windows\\Temp\\vs-code-runner.csharp.exe\" \"$fileName\" && \"C:\\Windows\\Temp\\vs-code-runner.csharp.exe\""
  },
  "code-runner.executorMapByFileExtension": { 
        ".vb": "cd $dir && \"C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\vbc.exe\" /nologo /vbruntime+ /optionexplicit+ /optionstrict+ /optioninfer- /debug:full /verbose- /doc:\"C:\\Windows\\Temp\\vs-code-runner.vbnet.xml\" /reference:\"System.dll\",\"System.Core.dll\",\"System.Data.dll\",\"System.Data.DataSetExtensions.dll\",\"System.Deployment.dll\",\"System.DirectoryServices.AccountManagement.dll\",\"System.Drawing.dll\",\"System.Management.dll\",\"System.Net.dll\",\"System.Net.Http.dll\",\"System.Windows.Forms.dll\",\"System.Xml.dll\",\"System.Xml.Linq.dll\" /imports:\"Microsoft.VisualBasic\",\"Microsoft.Win32\",\"Microsoft.Win32.SafeHandles\",\"System\",\"System.Collections\",\"System.Collections.Concurrent\",\"System.Collections.Generic\",\"System.Collections.ObjectModel\",\"System.ComponentModel\",\"System.Data\",\"System.Diagnostics\",\"System.DirectoryServices.AccountManagement\",\"System.Drawing\",\"System.Globalization\",\"System.IO\",\"System.IO.MemoryMappedFiles\",\"System.Linq\",\"System.Linq.Expressions\",\"System.Management\",\"System.Net\",\"System.Reflection\",\"System.Resources\",\"System.Runtime.CompilerServices\",\"System.Runtime.InteropServices\",\"System.Runtime.Serialization\",\"System.Security.AccessControl\",\"System.Security.Permissions\",\"System.Security.Principal\",\"System.Text\",\"System.Text.RegularExpressions\",\"System.Threading\",\"System.Threading.Tasks\",\"System.Web\",\"System.Windows.Forms\",\"System.Xml\",\"System.Xml.Linq\",\"System.Xml.Serialization\" /platform:anycpu /target:exe /out:\"C:\\Windows\\Temp\\vs-code-runner.vbnet.exe\" \"$fileName\" && \"C:\\Windows\\Temp\\vs-code-runner.vbnet.exe\""
  } 

Allen einen schönen Tag.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

StayFoolisj picture StayFoolisj  ·  5Kommentare

mjaniec2013 picture mjaniec2013  ·  5Kommentare

N2ITN picture N2ITN  ·  5Kommentare

rana picture rana  ·  5Kommentare

waithope picture waithope  ·  5Kommentare