为啥我的vscode写html 代码不能运行 Code language not supported or defined. 有没有大佬救救我?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的vscode写html 代码不能运行 Code language not supported or defined. 有没有大佬救救我?相关的知识,希望对你有一定的参考价值。
一共下载了3个插件
vscode写html 代码不能运行 Code language not supported or defined是没有正确调试造成的,解决方法为:
1、首先需要在这里打开vs code软件,新建后才能编译测试。
2、此时我们就能在这里设置vs code软件的名称,既能开始设置。
3、此时我们就能在这里选择项目的框架,选择后点击创建命令即可。
4、当我们打开vs code软件并创建项目,就能来到这个界面窗口。
5、此时我们就能在这里点击调试的菜单命令,点击后即可对命令的使用。
6、因此,点击调试即可对vscode程序编译运行即可,如图所示。
参考技术Avscode软件》文件》首选项》设置》修改配置文件settings.json中:
根据语言运行》
"code-runner.executorMap":
"javascript": "node",
"html": "C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\google\\\\Chrome\\\\Application\\\\chrome.exe"
根据文件后缀名运行》
"code-runner.executorMapByGlob":
"*.js": "node"
参考--Code Runner插件便捷使用
参考技术B 提示的本意是使用浏览器打开这个html,在vscode里不行的;如果是运行javascript的话,在设置里找到code runner , 添加default language 设置为javascrpt。
设置插件的默认语言
1. 打开 "文件File"->"首选项Preferences"->"设置Setting"
2. 打开"扩展Extensions" ,点击打开Run code configuration,设置"Default Language",输入Javascript。
3. 再code run 就不会弹出了 参考技术C
打开Code Runner扩展设置,找到Default Language选项,输入“javascript”就可以了。
参考技术D code runner插件只支持运行C, C++, Java, JavaScript, php, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, Lisp, Kit, V, SCSS, Sass, CUDA, Less, 和自定义命令,想要运行HTML需要安装open in browser这个扩展,alt+b就可以在浏览器打开了。或者使用HTML Preview扩展。不过我个人认为还是open in browser好用一些
为啥我的代码可以在 Xcode Playground 中运行,但不能在我的项目中运行?
【中文标题】为啥我的代码可以在 Xcode Playground 中运行,但不能在我的项目中运行?【英文标题】:Why does my code work in Xcode Playground but not in my project?为什么我的代码可以在 Xcode Playground 中运行,但不能在我的项目中运行? 【发布时间】:2020-05-29 14:58:04 【问题描述】:我正在尝试解析 Calibre 用于通过 Swift 管理电子书的 metadata.opf 文件。
我设法在操场上解析文档:
import Foundation
class Metadata: CustomStringConvertible
var uuid = ""
var title = ""
var creators = [""]
var serie = ""
var serieIndex = 0
var description: String return
"UUID: \(uuid)\nTitre: \(title)\nAuteur(s): \(creators)\nSérie: Tome \(serieIndex) de la série \(serie)"
class OPFParser: NSObject
var xmlParser: XMLParser?
var metadata: [Metadata] = []
var xmlText = ""
var currentMetadata: Metadata?
var calibreAttributes: [String: String] = [:]
var isUUID = false
init(withXML xml: String)
if let data = xml.data(using: .utf8)
xmlParser = XMLParser(data: data)
func parse() -> [Metadata]
xmlParser?.delegate = self
xmlParser?.parse()
return metadata
extension OPFParser: XMLParserDelegate
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:])
xmlText = ""
if elementName == "metadata"
currentMetadata = Metadata()
if elementName == "meta"
//print("\(attributeDict["content"]) : \(attributeDict["name"])")
if attributeDict["name"] == "calibre:series"
if let serie = attributeDict["content"]
currentMetadata?.serie = serie
if attributeDict["name"] == "calibre:series_index"
if let serieIndex = attributeDict["content"]
currentMetadata?.serieIndex = Int(serieIndex) ?? 0
if elementName == "dc:identifier"
if let uuuid = attributeDict["opf:scheme"]
if uuuid == "uuid"
isUUID = true
else isUUID = false
func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)
switch elementName
case "dc:identifier":
if isUUID == true
currentMetadata?.uuid = xmlText.trimmingCharacters(in: .whitespacesAndNewlines)
case "dc:title":
currentMetadata?.title = xmlText.trimmingCharacters(in: .whitespacesAndNewlines)
case "dc:creator":
currentMetadata?.creators.append(xmlText.trimmingCharacters(in: .whitespacesAndNewlines))
case "metadata":
if let meta = currentMetadata
metadata.append(meta)
default:
break
func parser(_ parser: XMLParser, foundCharacters string: String)
xmlText += string
class TestMetadata
func metadataDisplay()
if let xmlUrl = Bundle.main.url(forResource: "metadata1", withExtension: "opf")
let xml = try! String(contentsOf: xmlUrl)
let opfParser = OPFParser(withXML: xml)
let bandeDessinees = opfParser.parse()
for bandeDessinee in bandeDessinees
bandeDessinee.creators = bandeDessinee.creators.filter( $0 != "")
print(bandeDessinee)
else print("fichier non trouvé")
let testMetadata = TestMetadata()
testMetadata.metadataDisplay()
metadataDisplay 函数起作用,并打印格式化的元数据。不幸的是,当切换到我的项目时,metadataDisplay 不打印任何内容。 bandedessinees
数组为空。我使用的是相同的代码,只是我从 swiftUI 文件中的按钮调用 metadataDisplay。我尝试多次重构代码,修改了'init()function of my
OPFParser`类,但不幸的是我无法弄清楚为什么我的元数据没有打印在控制台中。
感谢您的帮助, 艾曼。
示例 metadata.opf 文件:
<?xml version='1.0' encoding='utf-8'?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="uuid_id" version="2.0">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:identifier opf:scheme="calibre" id="calibre_id">143</dc:identifier>
<dc:identifier opf:scheme="uuid" id="uuid_id">03badde9-0932-41ab-bd31-2dbba989a7f5</dc:identifier>
<dc:title>Tome 1</dc:title>
<dc:creator opf:file-as="Debeurme, Ludovic" opf:role="aut">Ludovic Debeurme</dc:creator>
<dc:contributor opf:file-as="calibre" opf:role="bkp">calibre (4.15.0) [https://calibre-ebook.com]</dc:contributor>
<dc:date>2018-05-20T16:16:27+00:00</dc:date>
<dc:language>en</dc:language>
<meta content=""Ludovic Debeurme": """ name="calibre:author_link_map"/>
<meta content="Epiphania" name="calibre:series"/>
<meta content="1" name="calibre:series_index"/>
<meta content="2020-05-16T13:01:05.580464+00:00" name="calibre:timestamp"/>
<meta content="Tome 1" name="calibre:title_sort"/>
<meta name="calibre:user_metadata:#shelves" content=""table": "custom_column_1", "is_editable": true, "is_custom": true, "rec_index": 22, "is_category": true, "is_multiple2": "ui_to_list": ",", "list_to_ui": ", ", "cache_to_list": "|", "name": "Shelves", "is_multiple": "|", "is_csp": false, "category_sort": "value", "#extra#": null, "kind": "field", "#value#": [], "display": "is_names": false, "description": "", "search_terms": ["#shelves"], "datatype": "text", "colnum": 1, "label": "shelves", "link_column": "value", "column": "value""/>
</metadata>
<guide>
<reference href="cover.jpg" title="Cover" type="cover"/>
</guide>
</package>
【问题讨论】:
您是否设置了断点并在调试中单步执行以查看发生了什么?xml
的值是多少?旁注:您应该将let xml = try String(contentsOf: xmlUrl)
包装在do catch
块中以确保String(contentsOf: xmlUrl)
成功。
我在 SwiftUI 视图中尝试了您的代码,没有遇到任何问题。
@DonMag 我已经使用打印语句来尝试查找问题,并为 xml 找到了一个值。感谢您的 do/catch 建议,我会将其添加到我的函数中!
@Frankenstein 感谢您的反馈,我会换一个视图试试。
@AymaneBengrina - 你能发布一个示例文件看看我们是否可以复制这个问题吗?
【参考方案1】:
我终于弄对了,问题出在 XML 文件的编码上。通过从XMLParser(data: Data)
切换到XMLParser(contentsOf: URL)
,解析器返回一个非空数组。
【讨论】:
以上是关于为啥我的vscode写html 代码不能运行 Code language not supported or defined. 有没有大佬救救我?的主要内容,如果未能解决你的问题,请参考以下文章
为啥js代码写在HTML文件里可以运行,写在js文件里被html文件调用之后却报错?