2013-10-16 44 views
0

有沒有其他人遇到過這種情況? 如果我想粘貼來自OneNote2010的代碼,它根本不起作用。OneNote 2010代碼無法正確粘貼回XAML

複製:創建任何WPF應用程序,將XAML複製到OneNote2010中,將其複製回來 - >空白問題。

或者使用此示例:

<Popup Placement="Center" IsOpen="{Binding Error, Converter={StaticResource StringBoolConverter}}" PopupAnimation="Slide"> 
     <userControls:ErrorMessageControl></userControls:ErrorMessageControl> 
    </Popup> 

付諸OneNote中並將其複製備份它得到打破之後。因爲它從不顯示,所以我甚至無法將其粘貼到此處。

在XAML粘貼它創建類似

錯誤1「消息」不是一個名稱有效。 MainWindow.xaml 94

錯誤2缺少空白。 MainWindow.xaml 94

似乎很多空格對編輯來說很奇怪。

我比較了記事本+ +中粘貼的代碼,並顯示不可打印的字符,我不認爲任何問題與空白。

+0

適合我的作品。我已將我的OneNote設置爲默認粘貼「純文本」。也許這是區別? – XAMeLi

+0

我似乎無法在我的本地化版本的粘貼選項中找到此條目。你能給我提供一個提示或截圖的選項嗎? – Samuel

+0

看到我的答案(必須使用anwer選項才能夠附加圖像)。 – XAMeLi

回答

1

粘貼到OneNote中時,將粘貼選項設置爲「純文本」。

粘貼時,打開菜單並選擇「僅文本」;然後再次打開菜單並將其設置爲默認粘貼。

Paste Options with "Set as default" highlighted

如果未顯示菜單時粘貼,進入文件 - >選項 - >高級,然後在「編輯」組,確保「顯示粘貼選項按鈕時內容被粘貼」被選中。

+1

我傾向於在OneNote中管理很多事情,從Visual Studio複製代碼對我來說非常重要時,也會粘貼語法高亮顯示。我已經測試了您的方法,並且確實可以粘貼此代碼並且它可以正常工作,但是我無法保留突出顯示,因爲我已經在OneNote中有數百個代碼片段,並將它們粘貼到記事本,然後複製到記事本VS也不起作用。 – Samuel

+0

也許你可以粘貼到其他頁面/筆記本沒有格式,然後粘貼到VS? – XAMeLi

+1

測試了複製和粘貼兩次。不工作。將格式化的代碼粘貼到OneNote似乎用0xA0代替了標準的0x20空白字符,這是一個不間斷的空格。我可以粘貼代碼並用0x20明確替換0xA0,但這很麻煩。太糟糕OneNote不支持替換... – Samuel

0

在XAMeLi的響應中使用Samuel的評論我能夠使用Notepad ++解決此問題。具體方法如下:

  1. 打開文件(對我來說這是一個SQL文件實際上,你可以看到在SSMS的 愚蠢的不間斷空格。)使用記事本++。
  2. 打開"Converter" plugin by Don Ho(真的?),「轉換面板」 菜單項。
  3. 轉到「十六進制」文本框並鍵入「A0」。在 「Ascii」文本框右側點擊「複製」按鈕。
  4. 在記事本中按Ctrl-H到「查找和替換」。在「查找」文本框 中點擊CTRL-V將其粘貼到您的ASCII代碼中。
  5. 返回轉換面板。在「十六進制」 文本框中輸入「20」。再次點擊「ASCII」 文本框右側的「複製」按鈕。回到您的查找/替換對話框並點擊 「替換」文本框。點擊CTRL-V粘貼空間(你只需要點擊空格鍵就可以離開,但我 這裏沒有機會)。確保「匹配整個字只」關閉 。點擊「全部替換」按鈕

您的文本應該被修復。將它全部複製,然後將其粘貼回VS編輯器並嘗試構建。

1

此外,如果你想保存格式,您可以使用一種變通方法:

  1. 粘貼文本到GoogleDocuments第一
  2. 拷貝文本
  3. 粘貼到的OneNote

祝你好運。 如果有人知道更好的解決方案 - 請分享。

0

問題是,OneNote似乎正在替換具有非中斷空格的空格(請參閱https://en.wikipedia.org/wiki/Non-breaking_space),這是不同的字符。

我想出了這個解決方案中的AutoHotkey添加腳本https://autohotkey.com

#Persistent 
return 

OnClipboardChange: 
if WinActive("ahk_exe ONENOTE.EXE") 
{ 
    nbs:=chr(160) 
    StringReplace, Clipboard, Clipboard, %nbs%, %A_SPACE%, All 
} 
return 

這是它做什麼:如果AutoHotkey的檢測到剪貼板的變化(例如複製從OneNote文本)以及活動窗口的OneNote .exe,那麼所有非中斷空格(字符160十進制)將被替換爲普通空格。