telesoho/vscode-markdown-paste-image

extension not working

dptr opened this issue · 15 comments

dptr commented

i downloaded a Visual Studio Code 1.14.1 and installed this extension, when i paste an image, it shows the path select text box, but when i press the enter key , no picture was pasted in the markdown file, neither any image was found in the file path.

dptr commented

i solved by add powershell.exe path to the environment variable PATH.

Could any one indicate the "exact content" for below?

  • add powershell.exe path to the environment variable PATH?

Hello @Eucaly !

I have still the same problem. Here is the output:

PS C:\Users\gusbe> $env:path
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Users\gusbe\AppData\Local\Microsoft\WindowsApps;D:\gusbe\Applications\VSCode Insiders\bin

And I installed PowerShell 7, but it was not successful to copy and paste on VSCode:

PS C:\Users\gusbe>  $env:Path -split ';'
C:\Program Files\PowerShell\7
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Program Files\dotnet\
C:\Program Files\PowerShell\7\
C:\Users\gusbe\AppData\Local\Microsoft\WindowsApps
D:\gusbe\Applications\VSCode Insiders\bin

As of powershell 6.0, the executable is named pwsh.exe

Extension not working no Vscode 1.51.0

Extension not working no Vscode 1.51.0

Extension for Windows 10 not working on VS Code v1.53.1

Extension not working on 1.55.2

htqx commented

1.57.1
paste pic ok。
but paste regex string no working。
arch linux

1.57.1
paste pic ok。
but paste regex string no working。
arch linux

On native Linux or on WSL? Did you install xclip?

htqx commented

1.57.1
paste pic ok。
but paste regex string no working。
arch linux

On native Linux or on WSL? Did you install xclip?

yes. native arch linux.

According to xclip's information, there is more than one clipboard, but multiple:

primary

secondary

clipboard

buffer-cut

vscode editor using 1. markdown paste using 3.

So, not working

I think...

I installed the latest version of btoh powershell, vscode and this extension- the mark down paste action is pasting a 20 page long binary of the copied image: something like this
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLcAAAF8CAYAAAA971neAAAgAElEQVR4AeydMZLDPHK2fYCVyy7bf+YbOLNqk73AHsBbCjbaM7hK0R7CVQq/2JEjhd8FNlL8lSNfhX+B1As0oQYIcMgZceYJpsihgEaj

For anyone else struggling to do this, I have written a simple Python script that I call from a VS Code shortcut to store the image (if in clipboard) to a folder in the root directory of the .md file and then store to clipboard the text to paste into the .md file that links to the image.

import os
from PIL import ImageGrab
import pyperclip
import sys
import tag_counter
import timestamp as ts

class getClip:
	def __init__(self, mdPath, mdBaseName, imageDescription, imageTitle):
		img = ImageGrab.grabclipboard()
		if isinstance(img, type(None)):
			sys.exit("ERROR! Please copy an image.")
		else:
                        filePath = mdPath
			relativeFilePath = "/".join([filePath, mdBaseName])
			try: os.mkdir(relativeFilePath)
			except OSError as error: print(error)
			when = ts.when()
			imageTitle = str.lower(imageTitle).replace(" ", "_")
			imageName = f"{imageTitle}_{when}.png"
			fileName = f"{relativeFilePath}/{imageName}"
			pasteName = f"./{mdBaseName}/{imageName}"
			img.save(fileName, format="PNG")
			fig_number = tag_counter.getCount(mdPath, mdBaseName)
			pyperclip.copy(\
				f"| ![]({pasteName}) |\n" + \
				"|:--:|\n" + \
				f"| {imageDescription} " + "\\\\(\\tag{" + f"{fig_number+1}" + "} \\label{fig:" + f"{imageTitle}" + "}\\\\) |"\
				)
			print(f"Completed {fileName}")
if __name__ == "__main__":
	getClip(str(sys.argv[1]), str(sys.argv[2]), str(sys.argv[3]), str(sys.argv[4]))

For anyone else struggling to do this, I have written a simple Python script that I call from a VS Code shortcut to store the image (if in clipboard) to a folder in the root directory of the .md file and then store to clipboard the text to paste into the .md file that links to the image.

import os
from PIL import ImageGrab
import pyperclip
import sys
import tag_counter
import timestamp as ts

class getClip:
	def __init__(self, mdPath, mdBaseName, imageDescription, imageTitle):
		img = ImageGrab.grabclipboard()
		if isinstance(img, type(None)):
			sys.exit("ERROR! Please copy an image.")
		else:
                        filePath = mdPath
			relativeFilePath = "/".join([filePath, mdBaseName])
			try: os.mkdir(relativeFilePath)
			except OSError as error: print(error)
			when = ts.when()
			imageTitle = str.lower(imageTitle).replace(" ", "_")
			imageName = f"{imageTitle}_{when}.png"
			fileName = f"{relativeFilePath}/{imageName}"
			pasteName = f"./{mdBaseName}/{imageName}"
			img.save(fileName, format="PNG")
			fig_number = tag_counter.getCount(mdPath, mdBaseName)
			pyperclip.copy(\
				f"| ![]({pasteName}) |\n" + \
				"|:--:|\n" + \
				f"| {imageDescription} " + "\\\\(\\tag{" + f"{fig_number+1}" + "} \\label{fig:" + f"{imageTitle}" + "}\\\\) |"\
				)
			print(f"Completed {fileName}")
if __name__ == "__main__":
	getClip(str(sys.argv[1]), str(sys.argv[2]), str(sys.argv[3]), str(sys.argv[4]))

@jmanthony3, does it work with us on company's computers when PowerShell is blocked?

I should think that if you were able to run Python scripts that you could run this. The computer I wrote this on is a company machine which I have admin over so I do not know if it would run without the elevated privileges.