Skip to main content

Open in VSCode

· 2 min read
David Puziol Prata
DevOps at @ Encora

Hola a todos,

¿Vamos a facilitar abrir los proyectos directamente en VSCode sin necesidad de abrir la terminal y escribir code .?

Es más fácil de lo que parece...

Vamos a necesitar el paquete python3-nautilus instalado en el sistema y preparar la carpeta donde vamos a colocar nuestro script

sudo apt-get install python3-nautilus -y
mkdir -p ~/.local/share/nautilus-python/extensions
cd ~/.local/share/nautilus-python/extensions

Crea un archivo open-vscode.py dentro de la carpeta creada arriba y pega el contenido a continuación.

import os
import subprocess
from gi.repository import Nautilus, GObject

class OpenInVSCodeExtension(Nautilus.MenuProvider, GObject.GObject):
def __init__(self):
pass

def menu_activate_cb(self, menu, file):
subprocess.call(['code', file.get_location().get_path()])

def menu_background_activate_cb(self, menu, file):
subprocess.call(['code', file.get_location().get_path()])

def get_file_items(self, window, files):
if len(files) != 1:
return None

file = files[0]
if not file.is_directory() or file.get_uri_scheme() != 'file':
return None

item = Nautilus.MenuItem(name='NautilusPython::open_vscode_file_item',
label='Open in VSCode',
tip='Open this directory in VSCode')
item.connect('activate', self.menu_activate_cb, file)
return (item, )

def get_background_items(self, window, file):
item = Nautilus.MenuItem(name='NautilusPython::open_in_vscode',
label='Open in VSCode',
tip='Open this directory in VSCode')
item.connect('activate', self.menu_background_activate_cb, file)
return (item, )%

Este script se activa cuando se acciona el botón izquierdo y simplemente hace el comando code + path.

Reinicia nautilus con el comando nautilus -q && nautilus & o reinicia el sistema.

openinvscode