Run C Code In Visual Studio Code



Ever since VS Code was released I’ve been a big fan! It’s a great way for windows junkies like myself to have a terminal like programming scripting environment. With integration into Git, along with thousands of extensions to help me keep my code organized and formatted I began using it as my main editor for a lot of things, even PowerShell scripts.

Currently, I’m on somewhat of a personal mission to learn and explore new languages, solely for the purpose of illustrating how language independent RESTful APIs are. c# is next on my list, and while it’s not a new language for me, utilizing it within Visual Studio Code is. During this “mission” I realized that there are quite a few things you need to do in order to run c# within Visual Studio Code. Initially, I was going to place these within the “How to Consume APIs with c#” blog, but realized that this probably works better standing on its own! So, let’s take a look at how to prep VS Code to run c#!

First up, some leg work..

First up, obviously install Visual Studio Code – also, if you haven’t already, download and install the .Net Core SDK. Finally, once those two are installed we can move on to getting the c# extension installed within VS Code. Note: there are a lot of extensions available to us within VS Code, so be sure we grab the right one. To do so, select ‘Extensions’ and search for ‘c#’. In the list, select the extension that contains ‘Omnisharp’ and click ‘Install’ (See below).

Select Visual and File.cpp. Hange the file extension fro m.cpp to.c (for example from Source.cpp to Source.c or HelloWorld.c, and then click Add. A blank file will be created. Open code file or select code snippet in Text Editor, then use shortcut Ctrl+Alt+N, or press F1 and then select/type Run Code, or right click the Text Editor and then click Run Code in editor context menu, or click Run Code button in editor title menu, the code will run and the output will be shown in the Output Window. Dear Twitpic Community - thank you for all the wonderful photos you have taken over the years. We have now placed Twitpic in an archived state. # Debug C# code one line at a time with ‘Step Into’ The first way we step through code in Visual Studio is with the ‘Step Into’ option (; F11). This command has the debugger execute the current line of code. When that line calls a method, the debugger moves into that method (Stephens, 2014).

Initialize the Project

Alright, time to start actually building out the shell for our project – To do this we simply need to open a folder and run a few commands. From the explorer tab, click ‘Open Folder’ and point to an empty folder you would like to create your project in.

Once the folder loads we need to initialize our .net skeleton within it. To do so we will use dotnet command from the terminal. If you don’t see a terminal at the bottom of VS Code, go ahead and select ‘View->Terminal’ to display it and run the following command

This will create a couple of files within our folder structure – the project definition file (.csproj) as well as the main file (.cs) to house our code. By default, we will see the standard “Hello World” example. Also, if prompted to download any other assets, go ahead and select ‘Yes’.

If you have reached this point then a big congrats is in order – you have successfully setup your VS Code instance to run c# code!

Building and Running

To build our test project let’s go ahead and run ‘dotnet build‘ within our terminal.

And likewise, to run the project code, simply execute ‘dotnet run‘ within the terminal.

Where’s my NuGet?!?!

Simply printing Hello World to the console is great and all but we all know that anything we write is much, much more complex. NuGet is functionality that those using the full-blown version of Visual Studio have come to love and depend on. NuGet is a nifty little package manager that allows us to maintain what packages and assembly references we have attached to our projects, maintaining and limiting versions and conflicts! So, it’s kind of a must that we have it within VS Code, otherwise, I’ll simply just go back to the original Visual Studio for my c# projects. Thankfully, we have a way of getting it – the nifty Visual Studio Code extensions!

Select the Extensions tab, search for Nu-Get and install NuGet Package Manager – Easy Peasy!

Now that we have NuGet installed let’s have a quick look at how we can manage our packages – the easiest way that I have found is to simply hit the ‘F1’ key to bring up the VS Command pallet – a nifty little way to run single commands within our project. From there, simply start typing the work ‘nuget’, you should see the prompts displaying available options – the one we want, is the ‘Add Package’ command.

For this example let’s add the System.Data.SQLClient package to our project. In the first prompt, you can simply input ‘System.Data’ and hit enter – this will bring up a list of all the system.data packages. From the list displayed, select your desired package, in our case SQLClient, select the desired version and away we go.

In the event that any dependencies are invalid, nuget and VS Code gives you the option to automatically resolve them. If you happen to see a message about unresolved dependencies go ahead and click ‘Restore’

And there you go – nuget successfully setup and installing packages for you! At this point, you can go ahead and through your ‘using System.Data.SqlClient’ command at the beginning of your cs files and start utilizing some of the SQL Client functionality!

As you can see there is a little bit of legwork in getting Visual Studio Code prepped and ready to run our c# code – but thankfully this is a one-time thing. Once you have it set up and configured you can use VS Code for all of your c# needs! Honestly, I gathered this information from a lot of different MS pages and blogs and hopefully getting this all on one article will help get you on the right track to getting your VS Code setup! Thanks for reading!

You might also enjoy these recent posts...

  1. Friday Shorts – Visual Studio 2010 and BIDS, AJAX Toolkit Combo Boxes and the Great One No support for BIDS development in Visual Studio 2010 Ahh Man! I ended up rebuilding one of my work machines...
  2. Quick to the point – VMware Tools Installation throwing vix error code 21012 – yeah, now what?!? Ah, the subtleties of upgrading a vSphere environment – tackle the vCenter, tackle the hosts, and then take care of the...
  3. Dumping SharePoint Integrated SSRS reports to pdf using c# Anytime I’m working on any sort of coding project Google is really my savior – there is absolutely no way...
  4. VMware View on the $99 HP Touchpad Last month, being the quintessential geek that I am, I spent the greater part of one of my weekends installing...
  5. Installing offline bundles in ESXi 5 So I ran into a situation where I needed to get the HP CIM providers onto ESXi 5 in order...
-->

What you need to do to run a program depends on what you're starting from, what type of program, app, or service it is, and whether you want to run it under the debugger or not. In the simplest case, when you have a project open in Visual Studio, build and run it by pressing Ctrl+F5 (Start without debugging) or F5 (Start with debugging), or press the green arrow (Start Button) on the main Visual Studio toolbar.

Starting from a project

If you have a C# project (.csproj file), then you can run it, if it is a runnable program. If a project contains a C# file with a Main method, and its output is an executable (EXE), then most likely it will run if it builds successfully.

If you already have the code for your program in a project in Visual Studio, open the project. To open the project, double-click or tap on the .csproj from the Windows File Explorer, or from Visual Studio, choose Open a project, browse to find the project (.csproj) file, and choose the project file.

After the projects loads in Visual Studio, press Ctrl+F5 (Start without debugging) or use the green Start button on the Visual Studio toolbar to run the program. If there are multiple projects, the one with the Main method must be set as the startup project. To set the startup project, right-click on a project node, and choose Set as startup project.

Visual Studio attempts to build and run your project. If there are build errors, you see the build output in the Output window and the errors in the Error List window.

If the build succeeds, the app runs in a way that's appropriate for the type of project. Console apps run in a terminal window, Windows desktop apps start in a new window, web apps start in the browser (hosted by IIS Express), and so on.

Starting from code

If you're starting from a code listing, code file, or a small number of files, first make sure the code you want to run is from a trusted source and is a runnable program. If it has a Main method, it is likely intended as a runnable program that you can use the Console App template to create a project to work with it in Visual Studio.

Code listing for a single file

Start Visual Studio, open an empty C# console project, select all the code in the .cs file that's in the project already, and delete it. Then, paste the contents of your code into the .cs file. When you paste the code, overwrite or delete the code that was there before. Rename the file to match the original code.

Code listings for a few files

Start Visual Studio, open an empty C# console project, select all the code in the .cs file that's in the project already, and delete it. Then, paste the contents of the first code file into the .cs file. Rename the file to match the original code.

For a second file, right-click on the project node in Solution Explorer to open the shortcut menu for the project, and choose Add > Existing Item (or use the key combination Shift+Alt+A), and select the code files.

Multiple files on disk

  1. Create a new project of the appropriate type (use C# Console App if you're not sure).

  2. Right-click on the project node, se Add > Existing Item to select the files and import them into your project.

Starting from a folder

When you're working with a folder of many files, first see if there's a project or solution. If the program was created with Visual Studio, you should find a project file or a solution file. Look for files with the .csproj extension or .sln extension and in the Windows File Explorer, double-click on one of them to open them in Visual Studio. See Starting from a Visual Studio solution or project.

If you don't have a project file, such as if the code was developed in another development environment, then open the top-level folder by using the Open folder method in Visual Studio. See Develop code without projects or solutions.

Starting from a GitHub or Azure DevOps repo

If the code you want to run is in GitHub or in an Azure DevOps repo, you can use Visual Studio to open the project directly from the repo. See Open a project from a repo.

Run the program

To start the program, press the green arrow (Start button) on the main Visual Studio toolbar, or press F5 or Ctrl+F5 to run the program. When you use the Start button, it runs under the debugger. Visual Studio attempts to build the code in your project and run it. If that succeeds, great! But if not, continue reading for some ideas on how to get it to build successfully.

Troubleshooting

Your code might have errors, but if the code is correct, but just depends on some other assemblies or NuGet packages, or was written to target a different version of .NET, you might be able to easily fix it.

Add references

To build properly, the code must be correct and have the right references set up to libraries or other dependencies. You can look at the red squiggly lines and at the Error List to see if the program has any errors, even before you compile and run it. If you're seeing errors related to unresolved names, you probably need to add a reference or a using directive, or both. If the code references any assemblies or NuGet packages, you need to add those references in the project.

Visual Studio tries to help you identify missing references. When a name is unresolved, a light bulb icon appears in the editor. If you click the light bulb, you can see some suggestions on how to fix the issue. Fixes might be to:

  • add a using directive
  • add a reference to an assembly, or
  • install a NuGet package.

Missing using directive

For example, in the following screen, you can choose to add using System; to the start of the code file to resolve the unresolved name Console:

Missing assembly reference

.NET references can be in the form of assemblies or NuGet packages. Usually, if you find source code, the publisher or author will explain what assemblies are required and what packages the code depends on. To add a reference to a project manually, right-click on the References node in the Solution Explorer, choose Add Reference, and locate the required assembly.

You can find assemblies and add references by following the instructions in Add or remove references by using the reference manager.

Missing NuGet package

If Visual Studio detects a missing NuGet package, a light bulb appears and gives you the option to install it:

If that doesn't solve the issue and Visual Studio can't locate the package, try searching for it online. See Install and use a NuGet package in Visual Studio.

Run C Code In Visual Studio Code

Use the right version of .NET

Because different versions of the .NET Framework have some degree of backward compatibility, a newer framework might run code written for an older framework without any modifications. But, sometimes you need to target a specific framework. You might need to install a specific version of the .NET Framework or .NET Core, if it's not already installed. See Modify Visual Studio.

Run C In Visual Code

How to run c code in visual studio code 2017

To change the target framework, see Change the target framework. For more information, see Troubleshooting .NET Framework targeting errors.

How To Run C++ Code In Visual Studio Code

Next steps

Setup Visual Studio Code

Explore the Visual Studio development environment by reading Welcome to the Visual Studio IDE.

How To Run C Sharp Code In Visual Studio Code

See also