簡體   English   中英

是否有Visual Studio 2012 / VS11的自定義語言加載項?

[英]Is there a custom language add-in for Visual Studio 2012 / VS11?

好吧,我想在Visual Studio 2012中添加對PAWN語言的支持。

但由於缺乏經驗和缺乏教程/插件,我可以編輯它真的是一項艱巨的任務。

現在我只想添加文件類型和編譯器,不需要intellisense,並且語法突出顯示可以使用C語法高亮顯示器。

我知道有OOK語言實現和Boo語言,但這些加載項適用於VS2010,不會為VS2012編譯。

我怎么做到這一點?

是否有語言加載項(對於VS2012)我可以編輯/使用作為基礎/用作示例?

我的最后一次嘗試導致黑色窗口/無法使用的VS2012 IDE。

Visual Studio 2010的官方語言擴展示例Iron Python Integration示例。

您可以從這里下載: IronPython集成 這里有一個相關的文檔: Visual Studio IronPython Integration Deep Dive

遺憾的是,據我所知,此示例未針對Visual Studio 2012進行更新。 但是,以下是將其轉換為Visual Studio 2012的步驟。

  1. 從此處安裝Visual Studio 2012 SDK: Microsoft Visual Studio 2012 SDK
  2. 下載Iron Python集成示例,在磁盤上的某處提取
  3. 打開IronPython.sln ,並接受所有升級轉換
  4. 將項目的平台目標從AnyCpux86
  5. 某些項目對Visual Studio 11程序集(針對.NET 4.5構建)的引用不正確(自動提示),因此它們不會按原樣編譯。 將它們更改回Visual Studio 10程序集。 例如,IronPython.Console projet中的Microsoft.VisualStudio.ExtensibilityHosting.dll需要指向C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\PrivateAssemblies的等效文件。
  6. IronPython.Project項目定義為啟動項目,並更新它的Debug參數:啟動操作需要啟動C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\devenv.exe (VS 2012 shell) )外部程序而不是默認設置的C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE\\devenv.exe (VS 2010 shell)。 命令行參數應設置為/RootSuffix Exp
  7. 更新所有基本模板以使用VS 2012目錄而不是僅使用VS 2010目錄:在所有.pyproj文件中搜索IronPython.targets字符串並添加VS 2012案例,如下所示:

之前:

  <PropertyGroup>
    <!-- Set the IronPythonPath property by proving in different locations where Iron Python could be installed -->
    <!-- Regular LocalAppData -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
    <!-- Experimental LocalAppData -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
      <!-- Integrated Shell -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0\IronPython.targets')">$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0</IronPythonPath>
  </PropertyGroup>

后:

  <PropertyGroup>
    <!-- Set the IronPythonPath property by proving in different locations where Iron Python could be installed -->
    <!-- Regular LocalAppData -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
    <!-- Experimental LocalAppData -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\10.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
      <!-- Regular LocalAppData VS10212 -->
      <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\11.0\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\11.0\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
      <!-- Experimental LocalAppData VS2012-->
      <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(LocalAppData)\Microsoft\VisualStudio\11.0Exp\Extensions\Microsoft\IronPython\1.0\IronPython.targets')">$(LocalAppData)\Microsoft\VisualStudio\11.0Exp\Extensions\Microsoft\IronPython\1.0</IronPythonPath>
      <!-- Integrated Shell -->
    <IronPythonPath Condition=" '$(IronPythonPath)' == '' AND Exists('$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0\IronPython.targets')">$(MSBuildExtensionsPath)\Microsoft\IronPython Studio 2010\1.0</IronPythonPath>
  </PropertyGroup>

而已。 編譯和運行(由於注冊神秘,兩者都可能需要一段時間)。

以下是從Visual Studio 2012啟動新的Iron Python項目時的結果: 在此輸入圖像描述

並在建設時: 在此輸入圖像描述

看看這個CodeProject文章使用C# 開發擴展包和看起來已經為Visual Studio 2012以及舊版Visual Studio更新的源代碼。

以下是Microsoft關於創建外接程序主題的文章。

這是第二篇CodeProject文章,它是“擴展Visual Studio第2部分創建插件”系列的一部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM