Category Archives: Visual Studio Code

How to fix mouse cursor disappearing in Visual Studio & Visual Studio Code

This is a problem I have come across each time I build a new virtual development machine with Visual Studio on it. The problem has been around for a few years now and I always have to search around for the steps to fix it each time it catches me.

I’ve seen this issue in the following versions of Visual Studio and the resolution is the same and works for them all:

  • Visual Studio 2012
  • Visual Studio 2015
  • Visual Studio 2017
  • Visual Studio Code

 

The Problem

When using Visual Studio the mouse cursor flickers badly or totally disappears when the mouse pointer is in the code editing area of Visual Studio (as shown in the screenshot below).

01-visual-studio-missing-cursor-area-cameron-dwyer

Moving the mouse cursor outside of this area makes it visible again, and it seems that the mouse pointer is unaffected when using other applications and on the Windows desktop itself.

I’ve found that the problem is much more prevalent when access Visual Studio on another machine (e.g. virtual development machine) via remote desktop.

The Solution

Thankfully the solution is quick and simple:

  • Open Control Panel | Appearance and Personalization | Personalization | Change mouse pointers
  • On the Pointers tab of the dialog change the Scheme to Windows Black (system scheme)

02-visual-studio-dissapearing-mouse-cursor-windows-scheme-black-cameron-dwyer

That’s it, your cursor should now be back and stable.

 

Advertisements

How to Avoid Chrome Security Issues Developing Office Add-in Hosted on localhost

When developing add-ins for Office you are often serving the add-in from a local web server on a URL using the host name “localhost”. Office add-ins also require the web server to use SSL to serve the resources for the add-in. The Chrome security implementation will fire off a security error under most common development scenarios. This is when the domain of the SSL certificate does not match “localhost”.

You will see this problem manifest itself by causing your add-in to not start and show an error stating:

“Add-in Error  Something went wrong and we couldn’t start this add-in. Please try again later or contact your system administrator”

cameron-dwyer-chrome-debug-localhost-00b-add-in-error-couldnt-start

If you have the Developer Tools window open in Chrome you will see error messages getting output with the text:

“net::ERR_INSECURE_RESPONSE”

cameron-dwyer-chrome-debug-localhost-00a-net-err-insecure-response

There is a relatively easy workaround to this problem that you can implement on your development machine to allow Chrome to bypass this certificate check on URLs served from “localhost”.

Type the following into the Chrome browser URL bar:

chrome://flags/#allow-insecure-localhost

Enable the option:

“Allow invalid certificates for resources loaded from localhost. Mac, Windows, Linux, Chrome OS, Android

Allows requests to localhost over HTTPS even when an invalid certificate is presented.”

cameron-dwyer-chrome-debug-localhost-01-allow-insecure-localhost

After making this change you will need to restart Chrome.

cameron-dwyer-chrome-debug-localhost-02-relaunch-now

How to avoid errors installing npm packages globally in Visual Studio Code

I like to use the Integrated Terminal Window inside Visual Studio Code, just because it’s there and it runs commands scoped to the project directory I’m in. I find it faster and more convenient than opening up another command windows or nodejs command window and then having to set the current directory to my project folder.

A common issue I hit is when installing npm packages globally; I get errors trying to do it from the Integrated Terminal Window.

 

Take the following npm command that tries to install the bower package globally:

npm install -g bower

 

vscode-npm-01-integrated-terminal-window-cameron-dwyer

 

Running the command throws the following error:

npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\nodejs\node_modules\.staging'

npm ERR! at Error (native)

npm ERR! { [Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\nodejs\node_modules\.staging']

npm ERR! errno: -4048,

npm ERR! code: 'EPERM',

npm ERR! syscall: 'mkdir',

npm ERR! path: 'C:\\Program Files (x86)\\nodejs\\node_modules\\.staging' }

This is because when you install npm packages globally they go into the nodesjs\node_modules directory in program files (rather than in the project folder where you are writing your code). Writing to folders under Program Files requires elevated privileges . To get around this using the Integrated Terminal window in Visual Studio Code just make sure when you start Visual Studio Code that you run as an Administrator.

vscode-npm-02-run-as-admin-cameron-dwyer

 

Further Reading

https://www.cnet.com/au/how-to/always-run-a-program-in-administrator-mode-in-windows-10/

http://windowsreport.com/make-files-apps-run-as-admin-windows-10/

http://winaero.com/blog/how-to-run-an-app-as-administrator-in-windows-10/

 

%d bloggers like this: