?????. vuejs ?????? neovim? ???? ? ??? ??? ?? ??? ?? ??? ?????.
? ???? LazyVim? ???? ????? ???? ???? ??? ?? ?? ??? ??? ?????.
?? kickstart.nvim? ???? ????.
??? ??? ???: ?? ??? ?? blink.cmp, typescript LSP? ?? typescript-tools, ??? ?? neovim/nvim-lspconfig LSP? Mason? ????? ??.
1) Typescript ?? ??:
return { 'pmizio/typescript-tools.nvim', dependencies = { 'nvim-lua/plenary.nvim', 'neovim/nvim-lspconfig' }, opts = {}, ft = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'vue' }, config = function() require('typescript-tools').setup { on_attach = function(client, bufnr) client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentRangeFormattingProvider = false end, filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'vue', }, settings = { tsserver_plugins = { '@vue/typescript-plugin', }, jsx_close_tag = { enable = true, filetypes = { 'javascriptreact', 'typescriptreact' }, }, }, } end, }
typescript-tools ???. tsserver??? ? ????.
tsserver_plugins ????? @vue/typescript-plugin? ?????.
?? ??? Volar? TypeScript LSP? ????? ???? ??? ?????.
? ????? ??? ???? ???.
?????? ???? ??? ?? ? ??? ??????.
npm i -g @vue/typescript-plugin
2) Lsp??:
??? neovim/nvim-lspconfig? ???? lsp ??? ???? ????.
return { 'neovim/nvim-lspconfig', dependencies = { { 'williamboman/mason.nvim', config = true }, 'williamboman/mason-lspconfig.nvim', 'WhoIsSethDaniel/mason-tool-installer.nvim', { 'j-hui/fidget.nvim', opts = {} }, 'saghen/blink.cmp', }, config = function() local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require('blink.cmp').get_lsp_capabilities(capabilities) local servers = { volar = { 'vue' }, lua_ls = { settings = { Lua = { completion = { callSnippet = 'Replace' }, }, }, }, } require('mason').setup() local ensure_installed = vim.tbl_keys(servers) -- vim.list_extend(ensure_installed, { 'stylua' }) require('mason-tool-installer').setup { ensure_installed = ensure_installed } -- Setup mason-lspconfig require('mason-lspconfig').setup { ensure_installed = ensure_installed, handlers = { function(server_name) local opts = servers[server_name] or {} opts.capabilities = vim.tbl_deep_extend('force', {}, capabilities, opts.capabilities or {}) require('lspconfig')[server_name].setup(opts) end, }, } -- Setup LspAttach autocmd for keymaps and additional functionality vim.api.nvim_create_autocmd('LspAttach', { group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }), callback = function(event) local map = function(keys, func, desc, mode) mode = mode or 'n' vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc }) end map('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') map('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') map('<leader>D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition') map('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') map('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') map('<leader>cr', vim.lsp.buf.rename, '[R]e[n]ame') map('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction', { 'n', 'x' }) map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') local client = vim.lsp.get_client_by_id(event.data.client_id) if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then local highlight_group = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false }) vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { buffer = event.buf, group = highlight_group, callback = vim.lsp.buf.document_highlight, }) vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI'}, { buffer = event.buf, group = highlight_group, callback = vim.lsp.buf.clear_references, }) end end, }) end, },
??? ?? ??? ?? blink.cmp? ???? .vue ??? ?? LSP? volar? ????? ????.
neovim? ?? volar? ?????.
:MasonInstall vue-language-server
Neovim? ?? ???? ???. ??? ??, ??? ??, lsp ?? ? ?? ??? ??? ???.
???? ??
???? ?? ?? ????? ?? ?? ? ????? ?????.
??? ??? ??? blink.cmp? ?? ??? ???????.
return { 'saghen/blink.cmp', -- dependencies = { 'rafamadriz/friendly-snippets', 'onsails/lspkind.nvim' }, dependencies = { 'onsails/lspkind.nvim' }, version = '*', ---@module 'blink.cmp' --- ---@type blink.cmp.Config opts = { keymap = { ['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' }, ['<C-e>'] = { 'hide', 'fallback' }, ['<CR>'] = { 'accept', 'fallback' }, ['<Tab>'] = { function(cmp) return cmp.select_next() end, 'snippet_forward', 'fallback', }, ['<S-Tab>'] = { function(cmp) return cmp.select_prev() end, 'snippet_backward', 'fallback', }, ['<Up>'] = { 'select_prev', 'fallback' }, ['<Down>'] = { 'select_next', 'fallback' }, ['<C-p>'] = { 'select_prev', 'fallback' }, ['<C-n>'] = { 'select_next', 'fallback' }, ['<C-up>'] = { 'scroll_documentation_up', 'fallback' }, ['<C-down>'] = { 'scroll_documentation_down', 'fallback' }, }, appearance = { use_nvim_cmp_as_default = true, nerd_font_variant = 'mono', }, completion = { accept = { auto_brackets = { enabled = true, }, }, list = { selection = function(ctx) return ctx.mode == 'cmdline' and 'auto_insert' or 'preselect' end, }, -- menu = { border = 'rounded', cmdline_position = function() if vim.g.ui_cmdline_pos ~= nil then local pos = vim.g.ui_cmdline_pos -- (1, 0)-indexed return { pos[1] - 1, pos[2] } end local height = (vim.o.cmdheight == 0) and 1 or vim.o.cmdheight return { vim.o.lines - height, 0 } end, draw = { columns = { { 'kind_icon', 'label', gap = 1 }, { 'kind' }, }, components = { kind_icon = { text = function(item) local kind = require('lspkind').symbol_map[item.kind] or '' return kind .. ' ' end, highlight = 'CmpItemKind', }, label = { text = function(item) return item.label end, highlight = 'CmpItemAbbr', }, kind = { text = function(item) return item.kind end, highlight = 'CmpItemKind', }, }, }, }, }, sources = { default = { 'lsp', 'path', 'buffer', 'snippets' }, cmdline = {}, providers = { lsp = { min_keyword_length = 2, -- Number of characters to trigger porvider score_offset = 0, -- Boost/penalize the score of the items }, path = { min_keyword_length = 0, }, snippets = { min_keyword_length = 2, }, buffer = { min_keyword_length = 2, }, }, }, }, },
? ??? Neovim?? VueJ? ???? ??(1? 5?)? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Java ? JavaScript? ?? ?? ????? ??? ?? ?? ?? ???? ????? ?????. Java? ??? ? ??? ?????? ??? ???? JavaScript? ?? ? ??? ??? ?????.

JavaScriptCommentsareEnsentialformaining, ?? ? ???? 1) Single-LinecommentsERUSEDFORQUICKEXPLANATIONS.2) Multi-linecommentSexplaincleClexLogicOrprovidedEdeDDocumentation.3) inlineecommentsClarifySpecificPartSofcode.bestPractic

JavaScript?? ??? ??? ?? ? ? ?? ??? ???????. 1. ?? ??? ??? ???? ?? ??? ????. ISO ?? ???? ???? ???? ???? ?? ????. 2. ?? ??? ?? ???? ??? ?? ???? ??? ? ??? ? ?? 0?? ????? ?? ??????. 3. ?? ?? ???? ???? ???? ?? ?????? ??? ? ????. 4. Luxon? ?? ???? ???? ?????? ???? ?? ????. ??? ?? ???? ????? ???? ??? ????? ?? ? ????.

JavaScriptIspreferredforwebDevelopment, whithjavaisbetterforlarge-scalebackendsystemsandandandoidapps.1) javascriptexcelsincreatinginteractivewebexperiences withitsdynatureanddommanipulation.2) javaoffersstrongtypingandobject-Orientededededededededededededededededdec

TAGGSATTHEBOTTOMOFABLOGPOSTORWEBPAGESERVESPRACTICALPURSEO, USEREXPERIENCE, andDESIGN.1.ITHELPSWITHEOBYOWNSESPORENGENSTOESTOCESKESKERKESKERKERKERDER-RELEVANTTAGSWITHOUTHINGTEMAINCONTENT.2.ITIMPROVESEREXPERKEEPINGTOPONTEFOCUSOFOFOFOCUSOFOFOFOCUCUSONTHEATECLL

javascriptassevenfundamentalDatatatypes : ??, ???, ??, unull, ??, ? symbol.1) ?? seAdouble-precisionformat, ??? forwidevaluerangesbutbecautiouswithfatingfointarithmetic.2) stringsareimmutable, useefficientconcatenationmethendsf

??? ?? ? ??? DOM?? ??? ??? ? ?????. ??? ?? ????? ?? ??????, ??? ?? ???? ?? ????????. 1. ??? ??? addeventListener? usecapture ?? ??? true? ???? ?????. 2. ??? ??? ?? ???? usecapture? ???? ????? ?????. 3. ??? ??? ??? ??? ???? ? ??? ? ????. 4. ??? ?? ?? ?? ??? ?? ??? ??????? ??? ???? ?????. 5. ??? ?? ?? ?? ??? ?? ???? ?? ???? ? ??? ? ????. ? ? ??? ???? ???? JavaScript? ??? ??? ??? ????? ???? ???? ??? ??????.

Java? JavaScript? ?? ????? ?????. 1. Java? ???? ???? ??? ? ??? ?????? ?????? ? ?? ???? ?????. 2. JavaScript? ?? ? ?? ?? ? ??? ?? ??? ???? ??? ? ?? ? ?? ?????.
