Home

Awesome

vscode-test-content Build Status Build status

Provides a set of helper functions for setting or getting the content and selection of a Visual Studio Code instance.

Usage

Getting editor content

const vscodeTestContent = require( 'vscode-test-content' );

// Get the content without selection:
vscodeTestContent.get( editor );
// Returns: 'What a great selection!'

// Get the content including selection:
vscodeTestContent.getWithSelection( editor );
// 'What a [great} selection!'

Setting editor content

const vscodeTestContent = require( 'vscode-test-content' );

// Setting the content without selection:
vscodeTestContent.set( 'foobar' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'foobar' );
    } );

// Setting the content with a collapsed selection ('^'):
vscodeTestContent.setWithSelection( 'Put a collapsed selection here ^' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'Put a collapsed selection here ' );
        assert.equal( textEditor.selection.isEmpty, true );
        assert.equal( textEditor.selection.start.character, 31 );
    } );

// Setting the content with a ranged selection ('[', ']', '{', '}'):
vscodeTestContent.setWithSelection( 'Fancy [content}!' )
    .then( textEditor => {
        assert.equal( textEditor.document.lineAt( 0 ).text, 'Fancy content!' );
        assert.equal( textEditor.selection.isEmpty, false );
        assert.equal( textEditor.selection.start.character, 6 );
        assert.equal( textEditor.selection.end.character, 13 );
        assert.equal( textEditor.selection.active, textEditor.selection.end );
    } );

For more information, see vscode-test-set-content project.

Markers

Marker Customization

It's possible to use custom marker characters. See vscode-test-set-content docs for more details.

Limitations