2.7 KiB
2.7 KiB
VSCode CLI Basics
Core syntax and essential usage for opening files at specific positions.
Primary Command: -g / --goto
Syntax:
code -g <file:line[:character]>
code --goto <file:line[:character]>
Format:
file- Absolute or relative file pathline- Line number (1-indexed, first line is 1)character- Optional column position (0-indexed, first column is 0)
Basic Examples
Line Only
# Open file at line 10
code -g myfile.js:10
# Open file at line 42
code -g src/app.js:42
Line and Column
# Open at line 10, column 5
code -g myfile.js:10:5
# Open at line 42, column 15
code -g src/index.ts:42:15
Shorthand (No Flag)
# The -g flag is optional
code myfile.js:10
code src/app.js:42:10
Line and Column Numbering
Lines are 1-indexed:
- Line 1 is the first line
- Line 10 is the tenth line
Columns are 0-indexed:
- Column 0 is the first character
- Column 10 is the eleventh character
Example:
# Line 5, column 0 (first character of line 5)
code -g file.js:5:0
# Line 5, column 10 (eleventh character of line 5)
code -g file.js:5:10
Path Handling
Relative Paths
# Resolves from current working directory
code -g src/app.js:42
code -g ../other-project/file.js:10
Absolute Paths
# Always reliable, no dependency on current directory
code -g /home/user/project/src/app.js:42
code -g /Users/mae/Documents/code/main.py:100
Paths with Spaces
# Must be quoted (single or double quotes)
code -g "my project/src/app.js:42"
code -g 'path with spaces/file.js:10'
# Unquoted will fail
code -g my project/src/app.js:42 # ❌ Error
Non-existent Files
VSCode will create an empty file if the path doesn't exist:
# If newfile.js doesn't exist, VSCode creates it
code -g newfile.js:10
# Cursor will be at line 10 when user starts editing
Full code --help Reference
Usage: code [options] [paths...]
Options
-g --goto <file:line[:character]> Open a file at the path on the specified
line and character position.
-n --new-window Force to open a new window.
-r --reuse-window Force to open in already opened window.
-w --wait Wait for files to be closed before returning.
-d --diff <file> <file> Compare two files.
-m --merge <path1> <path2> <base> <result>
Perform a three-way merge.
--profile <profileName> Opens with the given profile.
--user-data-dir <dir> Specifies user data directory.
-h --help Print usage.