为啥我的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程序编译运行即可,如图所示。

参考技术A

vscode软件》文件》首选项》设置》修改配置文件settings.json中:

根据语言运行》

"code-runner.executorMap": 

"javascript": "node",

"html": "C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\google\\\\Chrome\\\\Application\\\\chrome.exe"

根据文件后缀名运行》

"code-runner.executorMapByGlob": 

"*.js": "node"




vscode配置文件settings_json

参考--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 myOPFParser`类,但不幸的是我无法弄清楚为什么我的元数据没有打印在控制台中。

感谢您的帮助, 艾曼。

示例 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="&quot;Ludovic Debeurme&quot;: &quot;&quot;" 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="&quot;table&quot;: &quot;custom_column_1&quot;, &quot;is_editable&quot;: true, &quot;is_custom&quot;: true, &quot;rec_index&quot;: 22, &quot;is_category&quot;: true, &quot;is_multiple2&quot;: &quot;ui_to_list&quot;: &quot;,&quot;, &quot;list_to_ui&quot;: &quot;, &quot;, &quot;cache_to_list&quot;: &quot;|&quot;, &quot;name&quot;: &quot;Shelves&quot;, &quot;is_multiple&quot;: &quot;|&quot;, &quot;is_csp&quot;: false, &quot;category_sort&quot;: &quot;value&quot;, &quot;#extra#&quot;: null, &quot;kind&quot;: &quot;field&quot;, &quot;#value#&quot;: [], &quot;display&quot;: &quot;is_names&quot;: false, &quot;description&quot;: &quot;&quot;, &quot;search_terms&quot;: [&quot;#shelves&quot;], &quot;datatype&quot;: &quot;text&quot;, &quot;colnum&quot;: 1, &quot;label&quot;: &quot;shelves&quot;, &quot;link_column&quot;: &quot;value&quot;, &quot;column&quot;: &quot;value&quot;"/>
    </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. 有没有大佬救救我?的主要内容,如果未能解决你的问题,请参考以下文章

vscode为啥不能调试c语言

爱心代码vscode为啥不显示

为啥js代码写在HTML文件里可以运行,写在js文件里被html文件调用之后却报错?

visual studio code怎么运行代码

我的idea写html 快键键之后reformat code 窗口 点击ok,为啥没有反应?

为啥 VSCode 调试器不能使用 C# 中的默认 launch.json 设置?