Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

François GrandSchtroumpf

🏠
Working from home
View GitHub Profile
@GrandSchtroumpf
GrandSchtroumpf / external-script.js
Created May 11, 2020
External Script to test vscode extension webview
View external-script.js
console.log('Hello World From External source');
@GrandSchtroumpf
GrandSchtroumpf / Markdium-JSON.json
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-JSON.json
"assets": [
"apps/vs-code/src/assets",
"apps/vs-code/src/package.json"
]
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
RouterModule.forRoot([], { useHash: true })
@GrandSchtroumpf
GrandSchtroumpf / Markdium-JSON.json
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-JSON.json
{
"version": "2.0.0",
"tasks": [{
"type": "npm",
"script": "watch",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never"
},
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
import { commands, ExtensionContext, window, ViewColumn } from 'vscode';
// On activation
export function activate(context: ExtensionContext) {
// Register command "start"
commands.registerCommand('start', () => {
const panel = window.createWebviewPanel(
'studio', // Key used to reference the panel
'Studio', // Title display in the tab
ViewColumn.Active, // Editor column to show the new webview panel in.
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
import { commands, ExtensionContext, window, ViewColumn, Uri } from 'vscode';
import { promises as fs } from 'fs';
import { join } from 'path';
// On activation
export function activate(context: ExtensionContext) {
// Register command "start"
commands.registerCommand('start', async () => {
const panel = window.createWebviewPanel(
'studio',
@GrandSchtroumpf
GrandSchtroumpf / Markdium-JSON.json
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-JSON.json
{
"name": "studio",
"version": "0.0.0",
"main": "main.js",
"engines": {
"vscode": "^1.44.0"
},
"contributes": {
"commands": [{
"command": "start",
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
const index = join(context.extensionPath, 'studio/index.html');
// Refresh the webview on update from the code
const updateWebview = async () => {
const html = await fs.readFile(index, 'utf-8');
panel.webview.html = html.replace(matchLinks, toUri);
}
// In dev mode listen on changes from index.html & update the view
if (!environment.production) {
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
import { commands, ExtensionContext, window } from 'vscode';
// On activation
export function activate(context: ExtensionContext) {
// Register command "start"
commands.registerCommand('start', () => {
window.showInformationMessage('Hello World');
})
}
@GrandSchtroumpf
GrandSchtroumpf / Markdium-typescript.ts
Created May 7, 2020
Markdium-VSCode extension inside a nx workspace
View Markdium-typescript.ts
import { promises as fs } from 'fs'; // Require @types/node@latest
import { join } from 'path';
// On activation
export function activate(context: ExtensionContext) {
// Register command "start"
commands.registerCommand('start', async () => {
...
const indexPath = join(context.extensionPath, 'studio/index.html');
const html = await fs.readFile(indexPath, 'utf-8');
You can’t perform that action at this time.