🖱️ Cursor Editor Configuration Files¶
Overview¶
This section contains configuration files for Cursor editor, including keybindings and settings for Windows and macOS environments.
⌨️ Keybindings¶
Windows Keybindings¶
File: keymaps/cursor/keybindings_windows.json
Keybindings_windows
// Place your key bindings in this file to overwrite the defaults
[
{
"key": "ctrl+q",
"command": "workbench.action.keepEditor"
},
{
"key": "ctrl+k enter",
"command": "-workbench.action.keepEditor"
},
{
"key": "ctrl+e ctrl+f",
"command": "editor.action.formatDocument",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+f",
"command": "-editor.action.formatDocument",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+s",
"command": "workbench.action.files.saveAll"
},
{
"key": "ctrl+k s",
"command": "-workbench.action.files.saveAll"
},
{
"key": "ctrl+k ctrl+s",
"command": "workbench.action.files.saveAs"
},
{
"key": "ctrl+shift+s",
"command": "-workbench.action.files.saveAs"
},
{
"key": "ctrl+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "shift+alt+down",
"command": "-editor.action.copyLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+l",
"command": "editor.action.transformToLowercase"
},
{
"key": "ctrl+shift+u",
"command": "editor.action.transformToUppercase"
},
{
"key": "alt+enter",
"command": "editor.action.quickFix",
"when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+.",
"command": "-editor.action.quickFix",
"when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+b",
"command": "workbench.action.tasks.runTask"
},
{
"key": "ctrl+shift+b",
"command": "-workbench.action.tasks.build"
},
{
"key": "ctrl+m ctrl+m",
"command": "editor.fold",
"when": "editorTextFocus"
},
{
"key": "ctrl+l ctrl+l",
"command": "editor.unfold",
"when": "editorTextFocus"
},
{
"key": "ctrl+m ctrl+o",
"command": "editor.foldAll",
"when": "editorTextFocus"
},
{
"key": "ctrl+m ctrl+l",
"command": "editor.unfoldAll",
"when": "editorTextFocus"
},
{
"key": "ctrl+t",
"command": "-workbench.action.showAllSymbols"
},
{
"key": "ctrl+t",
"command": "workbench.action.quickOpen"
},
{
"key": "ctrl+shift+g",
"command": "workbench.view.scm",
"when": "workbench.scm.active && !gitlens:disabled && config.gitlens.keymap == 'chorded'"
},
{
"key": "ctrl+shift+g g",
"command": "-workbench.view.scm",
"when": "workbench.scm.active && !gitlens:disabled && config.gitlens.keymap == 'chorded'"
},
{
"key": "ctrl+shift+x",
"command": "-workbench.view.extensions",
"when": "viewContainer.workbench.view.extensions.enabled"
},
{
"key": "ctrl+shift+x",
"command": "editor.action.deleteLines",
"when": "textInputFocus && !editorReadonly"
},
{
"key": "alt+-",
"command": "-decreaseSearchEditorContextLines",
"when": "inSearchEditor"
},
{
"key": "alt+-",
"command": "workbench.action.navigateBack",
"when": "canNavigateBack"
},
{
"key": "alt+=",
"command": "-increaseSearchEditorContextLines",
"when": "inSearchEditor"
},
{
"key": "alt+=",
"command": "workbench.action.navigateForward",
"when": "canNavigateForward"
},
{
"key": "alt+.",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly && !suggestWidgetVisible"
},
{
"key": "ctrl+shift+d",
"command": "-mssql.disconnect",
"when": "editorTextFocus && editorLangId == 'sql'"
},
// {
// "key": "ctrl+shift+d",
// "command": "-workbench.view.debug",
// "when": "viewContainer.workbench.view.debug.enabled"
// },
// {
// "key": "ctrl+shift+d",
// "command": "editor.action.deleteLines",
// "when": "textInputFocus && !editorReadonly"
// },
{
"key": "ctrl+k ctrl+c",
"command": "editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+m ctrl+c",
"command": "-editor.action.addCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+k ctrl+u",
"command": "editor.action.removeCommentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+\\",
"command": "-editor.action.jumpToBracket",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+\\",
"command": "terminal.focus",
"when": "!terminalFocus && terminalProcessSupported || terminalHasBeenCreated && terminalTabsFocus || terminalHasBeenCreated && !terminalFocus || terminalProcessSupported && terminalTabsFocus"
},
{
"key": "ctrl+e ctrl+f",
"command": "editor.action.formatDocument",
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
},
{
"key": "shift+alt+f",
"command": "-editor.action.formatDocument",
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
}
]
⚙️ Settings¶
Windows VS Code Settings¶
File: keymaps/cursor/setting-windows-vscode.json
Setting-windows-vscode
{
"explorer.confirmDelete": false,
"editor.autoClosingBrackets": "never",
"editor.formatOnSave": false,
"editor.formatOnPaste": false,
"editor.autoClosingQuotes": "never",
"editor.multiCursorModifier": "alt",
"files.encoding": "utf8",
"files.exclude": {
"**/*.js.map": {
"when": "$(basename)"
},
"**/*.js": {
"when": "$(basename).ts"
},
"**/**.js": {
"when": "$(basename).tsx"
},
"**/*.css.map": {
"when": "$(basename)"
},
"**/*.css": {
"when": "$(basename).scss"
}
},
"git.enableSmartCommit": true,
"javascript.referencesCodeLens.enabled": true,
"typescript.implementationsCodeLens.enabled": true,
"typescript.referencesCodeLens.enabled": true,
"typescript.updateImportsOnFileMove.enabled": "always",
"javascript.preferences.importModuleSpecifier": "non-relative",
"typescript.preferences.importModuleSpecifier": "non-relative",
"[typescriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"javascript.updateImportsOnFileMove.enabled": "always",
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
"editor.detectIndentation": false,
"svn.enableProposedApi": "product",
"git.autofetch": true,
"git.autofetchPeriod": 600,
"remote.SSH.showLoginTerminal": true,
"remote.SSH.remotePlatform": {
"ec2-18-204-8-213.compute-1.amazonaws.com": "linux",
"ec2-52-91-167-218.compute-1.amazonaws.com": "linux",
"ec2-100-25-167-179.compute-1.amazonaws.com": "linux",
"aws-ubuntu-student": "linux",
"digitech-vn": "linux"
},
"remote.WSL.fileWatcher.polling": true,
"vsicons.dontShowNewVersionMessage": true,
"security.workspace.trust.untrustedFiles": "open",
"typescript.preferences.quoteStyle": "double",
"javascript.preferences.quoteStyle": "single",
"editor.tabSize": 2,
"terminal.integrated.scrollback": 100000000,
"angular.experimental-ivy": true,
"workbench.iconTheme": "vscode-icons",
"azureFunctions.showProjectWarning": false,
"html.format.wrapAttributes": "preserve-aligned",
"html.format.endWithNewline": true,
"html.format.wrapLineLength": 0,
"prettier.printWidth": 250,
"git.confirmNoVerifyCommit": false,
"git.pullTags": false,
"[javascriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"powershell.integratedConsole.suppressStartupBanner": true,
"gitlens.views.repositories.showIncomingActivity": true,
"diffEditor.ignoreTrimWhitespace": false,
"angular.view-engine": true,
"window.restoreFullscreen": true,
"git.openDiffOnClick": false,
"powershell.integratedConsole.showOnStartup": false,
"[less]": {
"editor.defaultFormatter": "michelemelluso.code-beautifier"
},
"typescript.tsserver.log": "off",
"gitlens.views.branches.branches.layout": "list",
"editor.unicodeHighlight.ambiguousCharacters": false,
"editor.unicodeHighlight.invisibleCharacters": false,
"git.useCommitInputAsStashMessage": true,
"git.useEditorAsCommitInput": false,
"search.showLineNumbers": true,
"gitlens.advanced.repositorySearchDepth": 5,
"git.allowNoVerifyCommit": true,
"git.confirmSync": false,
"beautify.options": {
"space_after_anon_function": false
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.autoClosingBrackets": "never"
},
"workbench.startupEditor": "none",
"git.allowForcePush": true,
"git.confirmForcePush": false,
"prettier.singleQuote": true,
"prettier.jsxSingleQuote": true,
"go.toolsManagement.autoUpdate": true,
"files.associations": {
"*.jsx": "javascriptreact",
"*.mdx": "markdown",
"*.ps1": "powershell"
},
"git.confirmEmptyCommits": false,
"explorer.confirmDragAndDrop": false,
"[yaml]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
},
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"redhat.telemetry.enabled": false,
"[python]": {
"editor.formatOnType": true,
"editor.defaultFormatter": "ms-python.autopep8"
},
"git.openRepositoryInParentFolders": "always",
"[css]": {
"editor.defaultFormatter": "vscode.css-language-features"
},
"[scss]": {
"editor.defaultFormatter": "vscode.css-language-features"
},
"minify.html": {
"caseSensitive": false,
"collapseBooleanAttributes": true,
"collapseInlineTagWhitespace": false,
"collapseWhitespace": true,
"conservativeCollapse": false,
"customAttrAssign": [],
"customAttrCollapse": "",
"customAttrSurround": [],
"customEventAttributes": [
"^on[a-z]{3,}$"
],
"decodeEntities": false,
"html5": true,
"ignoreCustomComments": [
"^!"
],
"ignoreCustomFragments": [
"<%[\\s\\S]*?%>",
"<\\?[\\s\\S]*?\\?>"
],
"includeAutoGeneratedTags": true,
"keepClosingSlash": false,
"maxLineLength": false,
"minifyCSS": true,
"minifyJS": true,
"minifyURLs": false,
"preserveLineBreaks": false,
"preventAttributesEscaping": false,
"processConditionalComments": false,
"processScripts": [],
"quoteCharacter": "'",
"removeAttributeQuotes": false,
"removeComments": false,
"removeEmptyAttributes": false,
"removeEmptyElements": false,
"removeOptionalTags": false,
"removeRedundantAttributes": false,
"removeScriptTypeAttributes": false,
"removeStyleLinkTypeAttributes": false,
"sortAttributes": false,
"sortClassName": false,
"trimCustomFragments": false,
"useShortDoctype": false
},
"go.useLanguageServer": false,
"go.languageServerExperimentalFeatures": {
"diagnostics": false
},
"go.buildOnSave": "off",
"editor.mouseWheelZoom": true,
"terminal.integrated.defaultProfile.osx": "zsh",
"[sql]": {
"editor.defaultFormatter": "mtxr.sqltools"
},
"vs-kubernetes": {
"vscode-kubernetes.helm-path.windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\helm\\windows-amd64\\helm.exe",
"vscode-kubernetes.minikube-path.windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\minikube\\windows-amd64\\minikube.exe",
"vscode-kubernetes.kubectl-path.windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\kubectl\\kubectl.exe",
"vscode-kubernetes.kubectl-path.mac": "/Users/toan.duong/.vs-kubernetes/tools/kubectl/kubectl",
"vscode-kubernetes.minikube-path.mac": "/Users/toan.duong/.vs-kubernetes/tools/minikube/darwin-arm64/minikube",
"vscode-kubernetes.helm-path.mac": "/Users/toan.duong/.vs-kubernetes/tools/helm/darwin-arm64/helm",
"vscode-kubernetes.helm-path-windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\helm\\windows-amd64\\helm.exe",
"vscode-kubernetes.kubectl-path-windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\kubectl\\kubectl.exe",
"vscode-kubernetes.minikube-path-windows": "C:\\Users\\huato\\.vs-kubernetes\\tools\\minikube\\windows-amd64\\minikube.exe"
},
"[php]": {
"editor.defaultFormatter": "Sophisticode.php-formatter"
},
"hediet.vscode-drawio.resizeImages": null,
"nxConsole.showNodeVersionOnStartup": false,
"git.postCommitCommand": "sync",
"gitlens.advanced.messages": {
"suppressCreatePullRequestPrompt": true
},
"workbench.colorCustomizations": {},
"terminal.integrated.mouseWheelZoom": true,
"terminal.integrated.fontSize": 12,
"terminal.integrated.defaultProfile.windows": "PowerShell",
"scm.providerCountBadge": "auto",
"scm.alwaysShowActions": true,
"scm.alwaysShowRepositories": true,
"scm.defaultViewMode": "tree",
"editor.accessibilitySupport": "off",
"gitlens.views.scm.grouped.views": {
"commits": true,
"branches": false,
"remotes": true,
"stashes": false,
"tags": true,
"worktrees": true,
"contributors": true,
"repositories": false,
"searchAndCompare": false,
"launchpad": false
},
"mssql.objectExplorer.groupBySchema": true,
"mssql.connections": [],
"mssql.autoDisableNonTSqlLanguageService": true,
"python.defaultInterpreterPath": "",
"[powershell]": {
"editor.defaultFormatter": "ms-vscode.powershell"
},
"cursor.cpp.disabledLanguages": [
"plaintext",
"markdown",
"scminput"
],
"workbench.colorTheme": "Monokai",
"debug.toolBarLocation": "commandCenter",
"window.commandCenter": true,
"cursor.windowSwitcher.sidebarHoverCollapsed": true,
"docker.extension.enableComposeLanguageServer": false,
"cursor.composer.shouldAllowCustomModes": true,
"python.createEnvironment.trigger": "off",
"mssql.connectionGroups": [],
"update.releaseTrack": "prerelease",
"editor.linkedEditing": true,
"editor.minimap.enabled": false,
"editor.rulers": [
{
"column": 80,
"color": "#00FF0010"
},
{
"column": 100,
"color": "#BDB76B15"
},
{
"column": 120,
"color": "#FA807219"
}
],
"editor.unicodeHighlight.includeComments": true,
"workbench.editor.revealIfOpen": true,
"files.eol": "\n",
"[bat]": {
"files.eol": "\r\n"
},
"emmet.variables": {
"lang": "en"
},
"thunder-client.requestLayout": "Top/Bottom",
"cSpell.diagnosticLevel": "Hint",
"trailing-spaces.backgroundColor": "rgba(255,0,0,0.1)",
"trailing-spaces.includeEmptyLines": false,
"terminal.integrated.tabs.hideCondition": "never",
"terminal.integrated.enablePersistentSessions": false,
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.detectJdksAtStart": false,
"java.configuration.updateBuildConfiguration": "automatic",
"java.debug.settings.hotCodeReplace": "auto",
"java.dependency.packagePresentation": "hierarchical",
"java.maxConcurrentBuilds": 20,
"java.sources.organizeImports.staticStarThreshold": 1,
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\8"
},
{
"name": "JavaSE-11",
"path": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\11"
},
{
"name": "JavaSE-17",
"path": "C:\\Users\\huato\\.jdks\\temurin-17.0.16"
},
{
"name": "JavaSE-21",
"path": "C:\\Users\\huato\\.jdks\\temurin-21.0.8"
},
{
"name": "JavaSE-24",
"path": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\latest",
"default": true
}
],
"terminal.integrated.profiles.windows": {
"JavaSE-1.8 LTS": {
"overrideName": true,
"env": {
"PATH": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\8\\bin;${env:PATH}",
"JAVA_HOME": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\8"
},
"path": "cmd"
},
"JavaSE-11 LTS": {
"overrideName": true,
"env": {
"PATH": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\11\\bin;${env:PATH}",
"JAVA_HOME": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\11"
},
"path": "cmd"
},
"JavaSE-17 LTS": {
"overrideName": true,
"env": {
"PATH": "C:\\Users\\huato\\.jdks\\temurin-17.0.16\\bin;${env:PATH}",
"JAVA_HOME": "C:\\Users\\huato\\.jdks\\temurin-17.0.16"
},
"path": "cmd"
},
"JavaSE-21 LTS": {
"overrideName": true,
"env": {
"PATH": "C:\\Users\\huato\\.jdks\\temurin-21.0.8\\bin;${env:PATH}",
"JAVA_TOOL_OPTIONS": "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8",
"JAVA_HOME": "C:\\Users\\huato\\.jdks\\temurin-21.0.8"
},
"path": "cmd",
"args": [
"/k",
"chcp",
"65001"
]
},
"JavaSE-24": {
"overrideName": true,
"env": {
"PATH": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\latest\\bin;${env:PATH}",
"JAVA_TOOL_OPTIONS": "-Dstdout.encoding=UTF-8 -Dstderr.encoding=UTF-8",
"JAVA_HOME": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\java\\latest"
},
"path": "cmd",
"args": [
"/k",
"chcp",
"65001"
]
}
},
"terminal.integrated.automationProfile.windows": {
"path": "cmd"
},
"java.test.config": {
"vmArgs": [
"-Dstdout.encoding=UTF-8",
"-Dstderr.encoding=UTF-8"
]
},
"maven.terminal.customEnv": [
{
"environmentVariable": "JAVA_HOME",
"value": "C:\\Users\\huato\\.jdks\\temurin-21.0.8"
}
],
"java.import.gradle.java.home": "C:\\Users\\huato\\.jdks\\temurin-21.0.8",
"maven.executable.path": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\maven\\latest\\bin\\mvn",
"java.import.gradle.home": "C:\\Users\\huato\\AppData\\Roaming\\Cursor\\User\\globalStorage\\pleiades.java-extension-pack-jdk\\gradle\\latest"
}
🔧 Key Features¶
- Custom keybindings for improved productivity
- Formatting and linting configurations
- Git and version control settings
- File type associations and formatters
- Terminal and debugging configurations