Visual Studio Code Simple Website

This is my first instructable and in this instructable i'm going to show you how to use Visual Studio to create your own website! Here's a download link for Visual Studio: Visual Studio´s Home Link. Direct download link. This could be broke when a new version is being released. But for now its still working and i try to keep it up to date. A quick start for creating a docker image for simple web applications and hosting it into azure container service. So, let's see what is docker. "Docker is a containerization platform that packages your application". Which means docker runs our application on a container with necessary packages for run time. I found a similar issue that was asked in Nov'17, see 'Visual code studio ftp-simple doesn't work' He had the same problem: Nothing happens. Based on the comments, I can say 1) I'm using SFTP, not FTP, 2) I tried a site with a UserID and Password, and one with a certificate key, 3) I can SSH into the server from the command line, 4) I'm on a Windows 10 machine.

  1. Visual Studio Code Online
  2. Visual Studio Code Simple Website Template
  3. Visual Studio Code Basics
  4. Visual Studio Code Simple Website

HTML in Visual Studio Code Visual Studio Code provides basic support for HTML programming out of the box. There is syntax highlighting, smart completions with IntelliSense, and customizable formatting. VS Code also includes great Emmet support. In this tutorial we will create a simple platform game in visual studio using C# (sharp) programming language. This game will have points to collect, blocks to jump on to and a door to end the level. This is a basic level programming for a platform game and you should be trying to create another level once this is completed.

-->

In this tutorial for Visual Studio development using Node.js and Express, you create a simple Node.js web application, add some code, explore some features of the IDE, and run the app.

If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

In this tutorial, you learn how to:

  • Create a Node.js project
  • Add some code
  • Use IntelliSense to edit code
  • Run the app
  • Hit a breakpoint in the debugger

Before you begin

Visual Studio Code Online

Here's a quick FAQ to introduce you to some key concepts.

What is Node.js?

Node.js is a server-side JavaScript runtime environment that executes JavaScript server-side.

What is npm?

Visual Studio Code Simple Website Template

npm is the default package manager for the Node.js. The package manager makes it easier for programmers to publish and share source code of Node.js libraries and is designed to simplify installation, updating, and uninstallation of libraries.

What is express?

Express is a web application framework, used as a server framework for Node.js to build web applications. Express allows you to choose different front-end frameworks to create a UI, such as Pug (formerly called Jade). Pug is used in this tutorial.

Prerequisites

  • You must have Visual Studio installed and the Node.js development workload.

    If you haven't already installed Visual Studio 2019, go to the Visual Studio downloads page to install it for free.

    If you haven't already installed Visual Studio 2017, go to the Visual Studio downloads page to install it for free.

    If you need to install the workload but already have Visual Studio, go to Tools > Get Tools and Features.., which opens the Visual Studio Installer. Choose the Node.js development workload, then choose Modify.

  • You must have the Node.js runtime installed.

    If you don't have it installed, we recommend you install the LTS version from the Node.js website for best compatibility with outside frameworks and libraries. Node.js is built for 32-bit and 64-bit architectures. The Node.js tools in Visual Studio, included in the Node.js workload, support both versions. Only one is required and the Node.js installer only supports one being installed at a time.

    In general, Visual Studio automatically detects the installed Node.js runtime. If it does not detect an installed runtime, you can configure your project to reference the installed runtime in the properties page (after you create a project, right-click the project node, choose Properties, and set the Node.exe path). You can use a global installation of Node.js or you can specify the path to a local interpreter in each of your Node.js projects.

    This tutorial was tested with Node.js 8.10.0.

Create a new Node.js project

Visual Studio manages files for a single application in a project. The project includes source code, resources, and configuration files.

In this tutorial, you begin with a simple project containing code for a Node.js and express app.

  1. Open Visual Studio.

  2. Create a new project.

    Press Esc to close the start window. Type Ctrl + Q to open the search box, type Node.js, then choose Create a new Basic Azure Node.js Express 4 application (JavaScript). In the dialog box that appears, choose Create.

    From the top menu bar, choose File > New > Project. In the left pane of the New Project dialog box, expand JavaScript, then choose Node.js. In the middle pane, choose Basic Azure Node.js Express 4 application, then choose OK.

    If you don't see the Basic Azure Node.js Express 4 application project template, you must add the Node.js development workload. For detailed instructions, see the Prerequisites.

    Visual Studio creates the new solution and opens your project in the right pane. The app.js project file opens in the editor (left pane).

    (1) Highlighted in bold is your project, using the name you gave in the New Project dialog box. In the file system, this project is represented by a .njsproj file in your project folder. You can set properties and environment variables associated with the project by right-clicking the project and choosing Properties. You can do round-tripping with other development tools, because the project file does not make custom changes to the Node.js project source.

    (2) At the top level is a solution, which by default has the same name as your project. A solution, represented by a .sln file on disk, is a container for one or more related projects.

    (3) The npm node shows any installed npm packages. You can right-click the npm node to search for and install npm packages using a dialog box or install and update packages using the settings in package.json and right-click options in the npm node.

    (4) package.json is a file used by npm to manage package dependencies and package versions for locally-installed packages. For more information, see Manage npm packages.

    (5) Project files such as app.js show up under the project node. app.js is the project startup file and that is why it shows up in bold. You can set the startup file by right-clicking a file in the project and selecting Set as Node.js startup file.

  3. Open the npm node and make sure that all the required npm packages are present.

    If any packages are missing (exclamation point icon), you can right-click the npm node and choose Install npm Packages.

Add some code

The application uses Pug for the front-end JavaScript framework. Pug uses simple markup code that compiles to HTML. (Pug is set as the view engine in app.js. The code that sets the view engine in app.js is app.set('view engine', 'pug');.)

  1. In Solution Explorer (right pane), open the views folder, then open index.pug.

  2. Replace the content with the following markup.

    The preceding code is used to dynamically generate an HTML page with a title and welcome message. The page also includes code to display an image that changes whenever you press a button.

  3. In the routes folder, open index.js.

  4. Add the following code before the call to router.get:

    This code creates a data object that you pass to the dynamically generated HTML page.

  5. Replace the router.get function call with the following code:

    The preceding code sets the current page using the Express router object and renders the page, passing the title and data object to the page. The index.pug file is specified here as the page to load when index.js runs. index.js is configured as the default route in app.js code (not shown).

    To demonstrate several features of Visual Studio, there's a deliberate error in the line of code containing res.render. You need to fix the error before the app can run, which you do in the next section.

Use IntelliSense

IntelliSense is a Visual Studio tool that assists you as you write code.

  1. In index.js, go to the line of code containing res.render.

  2. Put your cursor after the data string, type : get and IntelliSense will show you the getData function defined earlier in the code. Select getData.

  3. Add the parentheses to make it a function call, getData().

  4. Remove the comma (,) before 'data' and you see green syntax highlighting on the expression. Hover over the syntax highlighting.

    The last line of this message tells you that the JavaScript interpreter expected a comma (,).

  5. In the lower pane, click the Error List tab and select Build + IntelliSense for the type of issues reported.

    You see the warning and description along with the filename and line number.

  6. Fix the code by adding the comma (,) before 'data'.

    When corrected, line of code should look like this: res.render('index', { title: 'Express', 'data': getData() });

Web

Set a breakpoint

You're next going to run the app with the Visual Studio debugger attached. Before doing that, you need to set a breakpoint.

  1. In index.js, click in the left gutter before the following line of code to set a breakpoint:

    res.render('index', { title: 'Express', 'data': getData() });

    Breakpoints are the most basic and essential feature of reliable debugging. A breakpoint indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run.

Run the application

  1. Select the debug target in the Debug toolbar, such as Web Server (Google Chrome) or Web Server (Microsoft Edge).

    If Chrome is available on your machine, but does not show up as an option, choose Browse With from the debug target dropdown list, and select Chrome as the default browser target (choose Set as Default).

  2. Press F5 (Debug > Start Debugging) to run the application.

    The debugger pauses at the breakpoint you set. Now, you can inspect your app state.

  3. Hover over getData to see its properties in a DataTip

  4. Press F5 (Debug > Continue) to continue.

    The app opens in a browser.

    In the browser window, you will see 'Express' as the title and 'Welcome to Express' in the first paragraph.

  5. Click the buttons to display different images.

  6. Close the web browser.

(Optional) Publish to Azure App Service

  1. In Solution Explorer, right-click the project and choose Publish.

  2. Choose Microsoft Azure App Service.

    In the App Service dialog box, you can sign into your Azure account and connect to existing Azure subscriptions.

  3. Follow the remaining steps to select a subscription, choose or create a resource group, choose or create an app service plane, and then follow the steps when prompted to publish to Azure. For more detailed instructions, see Publish to Azure website using web deploy.

  4. The Output window shows progress on deploying to Azure.

    On successful deployment, your app opens in a browser running in Azure App Service. Click a button to display an image.

Congratulations on completing this tutorial!

Next steps

Visual Studio Code provides basic support for HTML programming out of the box. There is syntax highlighting, smart completions with IntelliSense, and customizable formatting. VS Code also includes great Emmet support.

IntelliSense

As you type in HTML, we offer suggestions via HTML IntelliSense. In the image below, you can see a suggested HTML element closure </div> as well as a context specific list of suggested elements.

We also offer up suggestions for elements, tags, some values (as defined in HTML5), Ionic and AngularJS tags. Document symbols are also available for HTML, allowing you to quickly navigate to DOM nodes by id and class name.

You can also work with embedded CSS and JavaScript. However, note that script and style includes from other files are not followed, the language support only looks at the content of the HTML file.

You can trigger suggestions at any time by pressing ⌃Space (Windows, Linux Ctrl+Space).

You can also control which built-in code completion providers are active. Override these in your user or workspace settings if you prefer not to see the corresponding suggestions.

Visual Studio Code Basics

Close tags

Tag elements are automatically closed when > of the opening tag is typed.

The matching closing tag is inserted when / of the closing tag is entered.

You can turn off autoclosing tags with the following setting:

Auto update tags

When modifying a tag, the linked editing feature automatically updates the matching closing tag. The feature is optional and can be enabled by setting:

Color picker

The VS Code color picker UI is now available in HTML style sections.

It supports configuration of hue, saturation and opacity for the color that is picked up from the editor. It also provides the ability to trigger between different color modes by clicking on the color string at the top of the picker. The picker appears on a hover when you are over a color definition.

Hover

Move the mouse over HTML tags or embedded styles and JavaScript to get more information on the symbol under the cursor.

Validation

The HTML language support performs validation on all embedded JavaScript and CSS.

You can turn that validation off with the following settings:

Folding

You can fold regions of source code using the folding icons on the gutter between line numbers and line start. Folding regions are available for all HTML elements for multiline comments in the source code.

Additionally you can use the following region markers to define a folding region: <!-- #region --> and <!-- endregion -->

If you prefer to switch to indentation based folding for HTML use:

Formatting

To improve the formatting of your HTML source code, you can use the Format Document command ⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I) to format the entire file or Format Selection⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F) to just format the selected text.

The HTML formatter is based on js-beautify. The formatting options offered by that library are surfaced in the VS Code settings:

  • html.format.wrapLineLength: Maximum amount of characters per line.
  • html.format.unformatted: List of tags that shouldn't be reformatted.
  • html.format.contentUnformatted: List of tags, comma separated, where the content shouldn't be reformatted.
  • html.format.extraLiners: List of tags that should have an extra newline before them.
  • html.format.preserveNewLines: Whether existing line breaks before elements should be preserved.
  • html.format.maxPreserveNewLines: Maximum number of line breaks to be preserved in one chunk.
  • html.format.endWithNewline: End with a newline.
  • html.format.indentInnerHtml: Indent <head> and <body> sections.
  • html.format.wrapAttributes: Wrapping strategy for attributes:
    • auto: Wrap when the line length is exceeded
    • force: Wrap all attributes, except first
    • force-aligned: Wrap all attributes, except first, and align attributes
    • force-expand-multiline: Wrap all attributes
    • aligned-multiple: Wrap when line length is exceeded, align attributes vertically
    • preserve: Preserve wrapping of attributes
    • preserve-aligned: Preserve wrapping of attributes but align
  • html.format.wrapAttributesIndentSize: Alignment size when using force aligned and aligned multiple in html.format.wrapAttributes or null to use the default indent size.
  • html.format.templating: Honor django, erb, handlebars and php templating language tags.
  • html.format.unformattedContentDelimiter: Keep text content together between this string.

Tip: The formatter doesn't format the tags listed in the html.format.unformatted and html.format.contentUnformatted settings. Embedded JavaScript is formatted unless 'script' tags are excluded.

The Marketplace has several alternative formatters to choose from. If you want to use a different formatter, define 'html.format.enable': false in your settings to turn off the built-in formatter.

Emmet snippets

VS Code supports Emmet snippet expansion. Emmet abbreviations are listed along with other suggestions and snippets in the editor auto-completion list.

Tip: See the HTML section of the Emmet cheat sheet for valid abbreviations.

If you'd like to use HTML Emmet abbreviations with other languages, you can associate one of the Emmet modes (such as css, html) with other languages with the emmet.includeLanguagessetting. The setting takes a language id and associates it with the language id of an Emmet supported mode.

For example, to use Emmet HTML abbreviations inside JavaScript:

Visual Studio Code Simple Website

We also support User Defined Snippets.

HTML custom data

You can extend VS Code's HTML support through a declarative custom data format. By setting html.customData to a list of JSON files following the custom data format, you can enhance VS Code's understanding of new HTML tags, attributes and attribute values. VS Code will then offer language support such as completion & hover information for the provided tags, attributes and attribute values.

You can read more about using custom data in the vscode-custom-data repository.

HTML extensions

Install an extension to add more functionality. Enable editing in microsoft office word. Go to the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and type 'html' to see a list of relevant extensions to help with creating and editing HTML.

Tip: Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.

Next steps

Read on to find out about:

  • CSS, SCSS, and Less - VS Code has first class support for CSS including Less and SCSS.
  • Emmet - Learn about VS Code's powerful built-in Emmet support.
  • Emmet official documentation - Emmet, the essential toolkit for web-developers.

Common questions

Does VS Code have HTML preview?

No, VS Code doesn't have built-in support for HTML preview but there are extensions available in the VS Code Marketplace. Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and search on 'live preview' or 'html preview' to see a list of available HTML preview extensions.

12/11/2020