Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pine Script v6 IDE Tools

Professional Pine Script v6 development in VS Code with IntelliSense, real-time validation, and 100% language coverage.

CI/CD Version Installs Rating License

Pine Script v6 Extension in Action Real-time validation, IntelliSense, and hover documentation for Pine Script v6

Function Signature Help Complete function signatures with parameter hints and documentation


πŸš€ Quick Start

Install from Marketplace

Search for "Pine Script v6 IDE Tools" in VS Code Extensions or install directly from marketplace

Or Install from VSIX

Download the latest .vsix from Releases and install:

code --install-extension pinescript-v6-extension-0.6.1.vsix

✨ Features

🎯 100% Pine Script v6 Coverage

  • 6,665 language constructs from official TradingView reference
  • 457+ functions with autocomplete (ta., math., str., array., etc.)
  • 31 constant namespaces (xloc, yloc, extend, scale, display, etc.)
  • 22 function namespaces with full parameter validation
  • 32 strategy. variables* (position_size, equity, netprofit, etc.)

🧠 Semantic checks β€” catches code that compiles and is still wrong

  • Repainting β€” request.security() reading the current, forming bar
  • ta.* in a conditional β€” silently corrupts the indicator's own history
  • Accumulator lifetime β€” a var total a loop re-adds to every bar and never resets, so it grows for the life of the chart
  • Scope errors β€” plot/bgcolor inside if, functions defined in a block
  • Platform limits β€” 64 plots, 40 request.*() calls, counted before TradingView rejects you
  • Unbounded risk β€” strategy.entry with no exit anywhere

Suppress one you have considered: // pine-ignore: S1

πŸ” Real-Time Validation

  • Catches undefined functions and variables
  • Detects missing/extra parameters
  • Validates namespace properties
  • Zero false positives on the golden corpus β€” four committed fixtures exercising every construct that has ever produced one, asserted clean on every commit, plus real scripts checked locally

πŸ’‘ Intelligent IntelliSense

  • Smart autocomplete for all built-in functions
  • Parameter hints with type information
  • Hover documentation
  • Namespace-aware suggestions

πŸ“ Syntax Highlighting

  • Complete Pine Script v6 syntax support
  • Built-in variables and constants
  • Keywords, operators, and functions
  • Comments and strings

πŸ“– Usage Examples

Valid Pine Script v6 Code

//@version=6
indicator("My Indicator", overlay=true)

// All valid v6 syntax - no false positives! βœ…
length = input.int(14, "Length")
source = input.source(close, "Source")

// Technical analysis with autocomplete
sma_value = ta.sma(source, length)
ema_value = ta.ema(source, length)
rsi_value = ta.rsi(source, 14)

// Math functions with precision parameter
rounded = math.round(close, 2)  // βœ… v0.4.4+ supports precision
max_val = math.max(open, close)

// Strategy variables fully supported
if strategy.position_size > 0
    plot(strategy.equity, "Equity")
    plot(strategy.netprofit, "Net Profit")

// Plot with all v6 constants
plot(sma_value, "SMA", color=color.new(color.blue, 50), style=plot.style_line)
plot(ema_value, "EMA", color=color.new(color.red, 50), style=plot.style_linebr)

// All namespace constants work
x = xloc.bar_index
y = yloc.price
e = extend.both
s = scale.left

πŸ”§ Configuration

The extension works out of the box with zero configuration. All Pine Script v6 features are automatically recognized.


πŸ“Š What's New in v0.6.1

Semantic checks β€” catches code that compiles and is still wrong

Repainting request.security, ta.* inside conditionals, scope errors, platform limits, entries with no exit. Suppress one you have considered with // pine-ignore: S1.

The engine is now a package

Published as pinescript-v6-validator and shared with the agent plugin, so both cannot disagree about a file.

False positives eliminated (0.5.x)

The coordinate forms of line.new, label.new and box.new are official v6 overloads, but the bundled reference only carried the chart.point form β€” so correct code lit up red. Overloads are now modelled properly.

// Before v0.5.0: 10 errors on these three lines. Now: clean. βœ…
line.new(x1=bar_index[1], y1=low[1], x2=bar_index, y2=high)
label.new(x=bar_index, y=high, text="hi")
box.new(left=bar_index[5], top=high, right=bar_index, bottom=low)

Also fixed: for … in loop iterators, comments and blank lines inside wrapped calls, nested parentheses in arguments, user-defined type/enum namespaces, and two indentation rules TradingView removed in December 2025.

12.8Γ— faster

A 1,302-line script validates in 12.3ms, down from 158ms.

Caught up with Pine v6

Ten months of TradingView releases the bundled reference was missing β€” multiline strings ("""…"""), request.footprint(), calc_on_every_history_tick, sort_field, active on inputs, timeframe_bars_back, syminfo.isin, box.set_xloc().

A real test gate

67 β†’ 169 tests, including a golden corpus asserted to produce zero errors and paired "must still flag" cases for every fix β€” so a check can never be quietly deleted instead of repaired.

See CHANGELOG for complete version history.


πŸ§ͺ Testing

  • 169/169 tests passing (100%)
  • Golden corpus: four committed fixtures asserted to produce zero errors, and proven able to fail β€” reintroducing a fixed bug turns them red
  • Paired regression tests: every false-positive fix ships with a "must still flag" counterpart, so a check cannot be silently deleted instead of repaired
  • Performance budget: enforced in CI (<100ms for a 1,300-line script)
npm test                          # full suite
node validate-cli.js file.pine    # headless single-file validation

🀝 Contributing

Contributions welcome! See docs/CONTRIBUTING.md for guidelines.

Found a Bug?

  • Check existing issues
  • Create a new issue with:
    • Pine Script code that triggers the problem
    • Expected vs actual behavior
    • Extension version

Want to Help?

  • Report false positives/negatives
  • Suggest feature improvements
  • Submit pull requests
  • Share feedback

πŸ”— Related Projects

Project What it is
pinescript-plugin Pine Script v6 skills and MCP tooling for coding agents β€” consumes this extension's validation engine, so an agent and your editor never disagree about a file.

πŸ“š Resources


πŸ“„ License

MIT License - see LICENSE for details.


πŸ™ Acknowledgments

Created by Jaroslav Pantsjoha

Special thanks to:

  • TradingView for Pine Script
  • VS Code extension development community
  • All contributors and testers

Full Language Coverage: 6,665 Pine Script v6 constructs Test Coverage: 169 tests Current Version: 0.6.1

About

Transform VS Code into a powerful Pine Script IDE with comprehensive v6 support, IntelliSense-quality completions, parameter hints, professional syntax highlighting, and rich documentation.

Topics

Resources

Contributing

Stars

19 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages