COGO Language Support for VS Code
Comprehensive language support for COGO (Coordinate Geometry) batch files used in surveying and civil engineering.
Features
This extension provides complete language support for COGO .ics files with three powerful features:
🎨 Syntax Highlighting
Professional syntax highlighting for all COGO elements:
- Commands - All 110+ COGO commands with full and abbreviated forms
- Bearings - Direction format (N45-30-15E, S89-45-00W)
- Angles - Degree-minute-second format (45-30-15, -12-45-30)
- Stations - Station format (10+00, 125+50.25)
- Numbers - Decimal coordinates and integers
- Comments - Hash-prefixed comments (#)
- Bang notation - Feature markers (!)
⚡ Code Snippets
Intelligent code completion with 110+ command snippets:
- Type command prefix and press
Tab to expand
- All command variations included (full, 3-letter, short)
- Tab stops for easy parameter entry
- Covers complete COGO command set
Examples:
- Type
sto + Tab → Expands to S ${1:n} ${2:northing} ${3:easting}
- Type
loc lin + Tab → Expands to L L ${1:p1} ${2:p2} ${3:n} ${4:dis}
- Type
dir int + Tab → Expands to DI I ${1:p1} ${2:dir1} ${3:p2} ${4:dir2} ${5:n}
📖 Hover Documentation
Comprehensive hover tooltips showing:
- All command variations (Full, 3-letter, and short forms)
- Complete syntax with all parameters
- Detailed descriptions of what each command does
- Parameter explanations for each argument
- Optional parameters clearly marked
Example:
Hover over S, STO, or STORE to see:
### STORE
Command Variations:
- Full: STORE
- 3-Letter: STO
- Short: S
Description: Store a coordinate point
Syntax:
STORE n northing easting /elevation /!fnam *description
Parameters:
- n: Point number
- northing: Northing coordinate
- easting: Easting coordinate
- elevation: Point elevation (optional)
- !fnam: Feature name/preference (optional)
- *description: Point description (optional)
Installation
From VS Code Marketplace
- Open VS Code
- Press
Ctrl+Shift+X (or Cmd+Shift+X on Mac)
- Search for "COGO Language Support"
- Click "Install"
From VSIX File
code --install-extension ics-cogo-batch-file-2.0.0.vsix
Or:
- Open VS Code
- Press
Ctrl+Shift+P
- Type "Install from VSIX"
- Select the VSIX file
Usage
Opening COGO Files
The extension automatically activates for files with .ics extension:
- Open any
.ics file in VS Code
- Syntax highlighting applies immediately
- Start typing commands to use snippets
- Hover over commands to see documentation
Using Snippets
- Type a command prefix (e.g.,
sto, loc lin, dir int)
- Press
Tab to expand the snippet
- Use
Tab to move between parameter placeholders
- Fill in your values
Using Hover Documentation
- Hover your mouse over any COGO command
- Wait 1-2 seconds for the tooltip to appear
- See all command variations and complete documentation
- Works with any form: full name, 3-letter, or short
Supported Commands
The extension provides complete support for all COGO command categories:
Control Commands (8)
- CREATE PROJECT, LOAD PROJECT, SAVE PROJECT, PROJECT NAME
- AUDIT FILE, INPUT FILE, OUTPUT FILE, AUTO PLOT
Parameter Commands (9)
- SET DISPLAY, SET HEIGHT, SET PARAMETER, SET PROTECTION
- SET REFERENCE, SET SEQUENCE, SET TOLERANCE
- COMBINED GRID FACTOR
Point Commands (4)
- STORE, DELETE COORDINATE, DEFINE Z, POINT DESCRIPTION
Locate Commands (14)
- ANGLE RESECTION, DIVIDE ARC, DIVIDE LINE, EXTEND ARC
- FIT ALIGNMENT, LEVEL RUN, LOCATE ANGLE, LOCATE DEFLECTION
- LOCATE DIRECTION, LOCATE FROM ALIGNMENT, LOCATE LINE
- PARALLEL LINE, TANGENT, TANGENT OFFSET
Intersect Commands (9)
- ARC ARC INTERSECT, ARC LINE DIRECTION, ARC LINE POINTS
- DIRECTION INTERSECT, FIGURE ARC INTERSECT
- FIGURE FIGURE INTERSECT, FIGURE LINE INTERSECT
- POINTS DIRECTION INTERSECT, POINTS INTERSECT
Curve Commands (4)
- FIT CURVE, SIMPLE CURVE, SIMPLE SPIRAL, COMPOUND SPIRAL
- STORE FIGURE, DELETE FIGURE, DIVIDE FIGURE
- FIGURE DESCRIPTION, PARALLEL FIGURE
Alignment Commands (6)
- SET ALIGNMENT, CLEAR ALIGNMENT, POINTS ON ALIGNMENT
- STATION EQUATION, VERTICAL START, VERTICAL END
Adjustment Commands (3)
- COMPASS CLOSURE, CRANDALL CLOSURE, TRANSIT CLOSURE
- COMPUTE TRANSFORM, TRANSFORM COORDINATES
Report Commands (13)
- ANGLES, AREA DIRECTION, DESCRIBE ALIGNMENT
- DESCRIBE VERTICAL ALIGNMENT, DISTANCE, INVERSE DIRECTION
- LIST COORDINATES, LIST FIGURE, MAP CHECK, SEGMENT
- STATION AND OFFSETS, TRAVERSE ANGLES
Plot Commands (5)
- PLOT CURVE, PLOT LINE, PLOT POINTS, PLOT SHAPE, PLOT TEXT
Total: 110+ commands with 300+ variations
Examples
Basic Point Storage
# Store control points
S 100 10000.00 10000.00 1450.00 !control *CP-1
S 101 10500.00 10000.00 1450.00 !control *CP-2
S 102 10500.00 10500.00 1450.00 !control *CP-3
Traverse with Locate Commands
# Baseline traverse
L DI 100 101 S89-48-54E 2647.62 # Locate by direction
L L 101 100 102 -150.01 # Locate on line
L DEF 101 102 103 -01-41-15 75.01 # Locate by deflection
Direction Intersections
# Find intersection of two directions
DI I 100 N45-30-00E 101 S45-30-00W 200
DI I 102 N89-15-30E 103 S89-15-30W 201
# Create figure from points
S F 1 (100 101 S102 103 C104L 105 S106 107)
# Set as active alignment
SE A 1
# Describe alignment geometry
DES A 1
Vertical Alignment
# Define vertical curve
V S 0+00 1430.0
V S 5+50 1380.0 200
V S 12+50.5 1469.9 800
V E 35+20 1450.0 1
Configuration
The extension works out of the box with no configuration needed. However, you can customize VS Code settings:
Editor Settings
{
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},
"editor.tabCompletion": "on",
"editor.hover.enabled": true,
"editor.hover.delay": 300
}
File Associations
To associate other extensions with COGO:
{
"files.associations": {
"*.cogo": "cogo",
"*.dat": "cogo"
}
}
Tips and Tricks
Quick Command Reference
- Store Point:
S or STO or STORE
- Locate Line:
L L or LOC LIN or LOCATE LINE
- Direction Intersect:
DI I or DIR INT or DIRECTION INTERSECT
- Store Figure:
S F or STO FIG or STORE FIGURE
- Station Equation:
S E or STA EQU or STATION EQUATION
Learning Command Abbreviations
- Hover over any command to see all variations
- Start with full commands (easier to remember)
- Learn 3-letter abbreviations next
- Master short forms for fastest typing
Efficient Workflow
- Use snippets for quick command entry
- Use hover tooltips to verify syntax
- Use syntax highlighting to spot errors
- Comment your code with
# for documentation
Language Features
- Line comments:
# This is a comment
- Toggle comment:
Ctrl+/ (or Cmd+/ on Mac)
Bracket Matching
- Automatically matches parentheses
()
- Automatically matches brackets
[]
- Shows matching pairs when cursor is on bracket
Auto-Closing Pairs
- Parentheses
()
- Brackets
[]
- Quotes
""
Requirements
- Visual Studio Code 1.74.0 or higher
- No additional dependencies
Known Issues
None at this time. Please report issues on the repository.
Version 2.0.0 (Current)
Major update adding comprehensive hover documentation:
- ✨ Added hover tooltips for all 110+ COGO commands
- ✨ Shows all command variations (full, 3-letter, short)
- ✨ Complete syntax documentation on hover
- ✨ Detailed parameter explanations
- ✨ 300+ command patterns recognized
- 🔧 Improved extension architecture with TypeScript
- 📚 Enhanced documentation
Version 1.0.0
Initial release:
- ✅ Syntax highlighting for COGO commands
- ✅ 110+ code snippets with tab completion
- ✅ Support for .ics files
Contributing
This extension is developed by Rook Survey Tools for the surveying and civil engineering community.
Feature Requests
Have an idea for improvement? Please share your suggestions!
Bug Reports
Found a bug? Please report it with:
- Description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Sample .ics file (if applicable)
Resources
COGO Documentation
- Command syntax reference included in hover tooltips
- 110+ commands with complete parameter documentation
- All abbreviation forms documented
Learning COGO
- Use hover tooltips to learn command syntax
- Start with example files
- Refer to official COGO documentation
License
MIT License - See LICENSE file for details
Acknowledgments
- COGO language specification
- VS Code Extension API
- Surveying and civil engineering community
About
Developer: Rook Survey Tools
Category: Programming Languages
Language Support: COGO (Coordinate Geometry)
File Types: .ics
Version: 2.0.0
License: MIT
Quick Links
Support
For support, questions, or feedback:
- Review the documentation
- Check the examples
- Use hover tooltips for command help
- Report issues through proper channels
Thank you for using COGO Language Support!
Transform your COGO development experience with comprehensive syntax highlighting, intelligent code completion, and detailed hover documentation.
Making COGO development easier, one command at a time. 🎯