Skip to main content

VS CODE: Unable to install extensions on Ubuntu/Linux

Hey, its one of those days, i just wished i could code away the night. i decided that tonight, it was going to be VS Code all through.


I closed Sublime text. It was not long before I started missing the php code linting and ever intelligent code completions that were built into sublime text.

I checked the suggestions on the Extensions Tab of VS Code. and there it was! Felix Becker's "PHP IntelliSense" package. To my cute surprise, Upon clicking, the extension's description and Installation "Read Me" could not display correctly, 'twas as good as blank. All i could see was this:



I thought, this is something light, so i started searching but then it was not better explained except for the GitHub issue which I found to be useful, Link is at the bottom of this page. 

I hate to discover it was a DNS issue.

How to detect the Issue

Simply visit the URL below, if you are able to view the image on the page, then you are not affected by this issue.

DNS Test URL: https://ms-python.gallerycdn.vsassets.io/extensions/ms-python/python/2019.8.29288/1565127378610/Microsoft.VisualStudio.Services.Icons.Default#splashCoder

Else You will have to modify your system's DNS config, but hey its not as bad as it seems. Your internet will be fine and there will be no impact. You can also revert the DNS config after installing your extensions.


How to set DNS for a wireless connection on Linux/Ubuntu System

  1. Click your wireless icon at the top-right corner of the screen. Open the wireless drop-down, then click WiFi settings as shown below.

  2. In the new window confirm that the WiFi tab is selected on the left. Then Click the Settings button for the specific Wireless network you are using. For me, I use GAULOFCAPUA. 

  3. The new window (WiFi Settings window/tab), Click IPV4 tab to check IPV4 DNS settings. Disable the Automatic DNS check. and fill 8.8.8.8 as your DNS



  4. Goto the IPV6 tab and use 2001:4860:4860::8888 as your IPV6 DNS.


  5. Now click Apply to save the settings.

Now that you have switched to use Google's DNS, you will be able to download any extensions from Visual Code. In order to keep the setting portable, you can turn on/off at anytime the Automatic DNS switch. this will ensure that you don't have to type your DNS at all times.

How to set DNS for a wired connection on Linux/Ubuntu System.

In the previous section up here, We already configured this for the wireless connections. The only difference is that we won't use the WiFi tab, we have to scroll down on the left. then we click on "Network".
From the new Tab displayed, Click the settings icon Wired.
Apply IPV4 DNS and IPV6 DNS as described above. no exceptions.

YIPEEE! Now i can see the Extension's details and i can install. 



I hope i made it easy, kindly let me know if this guide did not solve your issue.


Best Regards


*Related GitHub Issue

Comments

Popular Articles

Installing Docker on Ubuntu 18.04 ([SOLVED]- libseccomp2 version 2.3.1 installed but 2.4 required)

 Introduction: If you're attempting to install Docker on Ubuntu 18.04 Bionic Beaver, which is known for having installation issues, this comprehensive guide aims to address common errors you may encounter during the process. Our goal is to save you time searching for answers on StackOverflow by providing clear instructions. The guide is based on the official Docker documentation available at https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository. Step 1: Updating Package Lists To begin, run the following command to update your package lists using the "apt-get update" command: sudo apt-get update Note: If you encounter any errors during the update process, it may be due to the older Ubuntu 18.04 release. In such cases, you can refer to the Configure DNS server IP to resolve errors with apt-get update  guide for assistance. This guide will help you address any DNS-related issues that might be preventing successful updates. Step 2: Installing Dependencie...

Linux - How many network cards/interfaces do I have and what's their IP

 Yup! You have your Linux server or desktop installed, you have been enjoying this setup and suddenly you need to know how many network adapters are installed. You probably also want to know which of these adapters is connected to the internet, please follow through. First, you should run the command below on the terminal ip addr TL; DR: T here are 2 network adapters here,  “enp0s3” is my internet network adapter because it has an IP address from my internet gateway/router/MiFi. The IP address pattern gives this information.it begins with 192.x.x.x. Also "epn0s8" is the local network adapter which allows connections within an ethernet,  This output is quite verbose. Let’s dissect it in a bit. Firstly, we can observe items 1, 2 and 3. It is worth mentioning that item 1 is not an adapter, it is synonymous with the local network. Item 1 is labelled as “lo:”, this means that details in this section have to do with your localhost. Internal network setting of your system. This ...

How to Selectively Disable Timestamp Columns in Laravel Models

Introduction: In Laravel, the updated_at and created_at columns are timestamp columns that automatically update whenever a model is saved or created. However, there might be scenarios where you want to selectively disable one or both of these columns for specific models. Fortunately, Laravel provides a straightforward way to achieve this by customizing your model's const UPDATED_AT and const CREATED_AT constants. In this blog post, we will explore how to selectively disable timestamp columns in Laravel models, discuss the benefits of this approach, and guide you through the necessary steps. Step 1: Create a Laravel Model and Migration To demonstrate this process, let's assume we have a model called Download that represents a downloadable file in our application. If you don't have a model already, you can create one using the php artisan make:model Download command in your terminal. To generate the migration for the downloads table, run the following command: php ar...