261 palabras
1 minuto
Abre carpetas y documentos con vscode desde el menú contextual de Gnome
2026-01-15

El problema#

Para abrir una carpeta en vscode se tiene que

  1. Click derecho sobre la parte en blanco de la carpeta
  2. Abrir una nueva terminal
  3. Escribir code .

La solución#

Añadir acciones al menú contextual. Para esto tenemos dos opciones:

  1. Scripts de nautilus
  2. Extensión oficial

Scripts de nautilus#

Instalar dependencias#

Terminal window
sudo apt install nautilus-extension-gnome-terminal

Crear script#

Terminal window
cd ~/.local/share/nautilus/scripts
vim vscode

Contenido del archivo#

#!/bin/bash
# Comprueba si hay una selección, si no, abre la carpeta actual
if [ -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | xargs -d '\n' code
else
code "$NAUTILUS_SCRIPT_CURRENT_URI"
fi

Dar permiso de ejecución#

Terminal window
chmod +x vscode

Corrobora#

  1. Da click derecho sobre una carpeta o un archivo
  2. Da click en el menú de scripts
  3. Da click en vscode

Instala dependencias#

Terminal window
sudo apt install python3-nautilus

Crear script#

Terminal window
mkdir -p ~/.local/share/nautilus-python/extensions
cd ~/.local/share/nautilus-python/extensions
vim vscode_extension.py

Contenido del script#

Terminal window
import os
from gi.repository import Nautilus, GObject
class VSCodeExtension(GObject.GObject, Nautilus.MenuProvider):
def launch_vscode(self, menu, files):
paths = []
for f in files:
paths.append('"' + f.get_location().get_path() + '"')
full_command = "code " + " ".join(paths) + " &"
os.system(full_command)
def get_file_items(self, *args):
files = args[-1]
item = Nautilus.MenuItem(
name='VSCodeOpen',
label='Abrir en VS Code',
tip='Abrir selección con Visual Studio Code'
)
item.connect('activate', self.launch_vscode, files)
return [item]
def get_background_items(self, *args):
folder = args[-1]
item = Nautilus.MenuItem(
name='VSCodeOpenBackground',
label='Abrir en VS Code',
tip='Abrir la carpeta actual con Visual Studio Code'
)
item.connect('activate', self.launch_vscode, [folder])
return [item]

La conclusión#

¿Para qué fácil si se puede difícil? Quizá con el paso de los meses se compense la media hora invertida en este post.

Nota final

¡Gracias por terminar de leer este artículo! uwur

— El Capitán

¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?

Puedes encontrarme en:

Abre carpetas y documentos con vscode desde el menú contextual de Gnome
https://elcaza.github.io/posts/linux/vscode_contextual/
Autor
El Capitán
Publicado el
2026-01-15
Licencia
CC BY-NC-SA 4.0