Vscode.nvim
Neovim/Vim color scheme inspired by Dark+ and Light+ theme in Visual Studio Code
Install / Use
/learn @Mofiqul/Vscode.nvimQuality Score
Category
Development & EngineeringSupported Platforms
README
vscode.nvim (formerly codedark.nvim) is a Lua port of vim-code-dark colorscheme for neovim with VScode's light and dark theme

Supported Plugins
- BarBar
- BufferLine
- Dashboard
- Git Gutter
- Git Signs
- Indent Blankline
- LSP
- Lualine
- Neotest
- Neogit
- NvimTree
- Telescope
- Treesitter
- Trouble
- nvim-cmp
- nvim-compe
- nvim-dap-ui
- vim-illuminate
- rainbow-delimiters
- which-key
- Snacks.indent
⬇️ Installation
Install via package manager
-- Packer:
use 'Mofiqul/vscode.nvim'
" Vim-Plug:
Plug 'Mofiqul/vscode.nvim'
⚠️ Warnings
The theme is manipulating the treesitter highlight queries as follows:
JavaScript and TypeScript
[
"export"
] @keyword.import
[
"break"
] @keyword.repeat
[
"break"
] @keyword.conditional
this mimics the behavior of VSCode's default theme more closely. Be aware that this is not a perfect solution but as far as we know, there is no better way to achieve this and most popular themes are doing the same thing.
🚀 Usage
-- Lua:
-- For dark theme (neovim's default)
vim.o.background = 'dark'
-- For light theme
vim.o.background = 'light'
local c = require('vscode.colors').get_colors()
require('vscode').setup({
-- Alternatively set style in setup
-- style = 'light'
-- Enable transparent background
transparent = true,
-- Enable italic comment
italic_comments = true,
-- Enable italic inlay type hints
italic_inlayhints = true,
-- Underline `@markup.link.*` variants
underline_links = true,
-- Disable nvim-tree background color
disable_nvimtree_bg = true,
-- Apply theme colors to terminal
terminal_colors = true,
-- Override colors (see ./lua/vscode/colors.lua)
color_overrides = {
vscLineNumber = '#FFFFFF',
},
-- Override highlight groups (see ./lua/vscode/theme.lua)
group_overrides = {
-- this supports the same val table as vim.api.nvim_set_hl
-- use colors from this colorscheme by requiring vscode.colors!
Cursor = { fg=c.vscDarkBlue, bg=c.vscLightGreen, bold=true },
}
})
-- require('vscode').load()
-- load the theme without affecting devicon colors.
vim.cmd.colorscheme "vscode"
If you are using lualine, you can also enable the provided theme:
require('lualine').setup({
options = {
-- ...
theme = 'vscode',
-- ...
},
})
nvim-bufferline.lua setup for exact match as screenshots
require("bufferline").setup({
options = {
buffer_close_icon = "",
close_command = "bdelete %d",
close_icon = "",
indicator = {
style = "icon",
icon = " ",
},
left_trunc_marker = "",
modified_icon = "●",
offsets = { { filetype = "NvimTree", text = "EXPLORER", text_align = "center" } },
right_mouse_command = "bdelete! %d",
right_trunc_marker = "",
show_close_icon = false,
show_tab_indicators = true,
},
highlights = {
fill = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "StatusLineNC" },
},
background = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "StatusLine" },
},
buffer_visible = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "Normal" },
},
buffer_selected = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "Normal" },
},
separator = {
fg = { attribute = "bg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "StatusLine" },
},
separator_selected = {
fg = { attribute = "fg", highlight = "Special" },
bg = { attribute = "bg", highlight = "Normal" },
},
separator_visible = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "StatusLineNC" },
},
close_button = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "StatusLine" },
},
close_button_selected = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "Normal" },
},
close_button_visible = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "Normal" },
},
},
})
Switching theme
:lua require('vscode').load('light')
:lua require('vscode').load('dark')
🍭 Extra folder
- Alacritty color scheme
- Foot color scheme
- fzf color scheme
- galaxyline.nvim theme
- Ghostty color scheme
- i3 and Sway color scheme
- Kitty color scheme
- Linux console color scheme
- WezTerm color scheme
- Windows Terminal color scheme
- Xresources color scheme
- zathura color scheme
Something is broken but I know how to fix it!
Pull requests are welcome! Feel free to send one with an explanation!
Related Skills
node-connect
334.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.1kCommit, push, and open a PR
